Skip to content

"Enter" and "Backspace" not working until system is suspended. #8

@pparent76

Description

@pparent76

Hi,

I'm experiencing a very specific bug in a very specific context:

Environement

  • Operating System: Ubuntu Touch 24.04
  • Target program: Signal-desktop (it is an electon app)
  • Gtk-version: 3.0
  • Backend: Xwayland (over Mir1.2)
  • maliit-inputcontext-gtk version: 0.99.1+git20151116.72d7576

Description of the bug:

When starting the application the virtual keyboard works well except for "Enter" and "Backspace" key who do not have any effect. But if I suspend the system while the app is foreground, and the keyboard is open, then when unsuspending the system everything starts to work correctly.

Result of my investigation:

It appears that im-maliit.so module is not loaded at the start of the app, but only later when the keyboard is first requested by focusing on an editable section. Then I don't get any call to maliit_im_context_set_client_window , and I get the following errors, because the window calculated in maliit_im_context_key_event is null, and then it is sent to qt_key_event_to_gdk and eventually to compose_gdk_keyevent, where the following errors come from:

[14264:1110/193138.348149:ERROR:content/browser/browser_main_loop.cc:286] Gdk: gdk_window_get_display: assertion 'GDK_IS_WINDOW (window)' failed 
[14264:1110/193138.348398:ERROR:content/browser/browser_main_loop.cc:286] Gdk: gdk_display_get_device_manager: assertion 'GDK_IS_DISPLAY (display)' failed 
[14264:1110/193138.348565:ERROR:content/browser/browser_main_loop.cc:286] Gdk: gdk_device_manager_get_client_pointer: assertion 'GDK_IS_DEVICE_MANAGER (device_manager)' failed [14264:1110/193138.348784:ERROR:content/browser/browser_main_loop.cc:286] Gdk: gdk_device_get_associated_device: assertion 'GDK_IS_DEVICE (device)' failed

When the system is suspended, somehow i get for the first time a call to maliit_im_context_set_client_window and then everything starts working.

Help!

Any hint about any way to solve this, a patch to this module, or any possible workaround even in an hacky way, would be more than welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions