[Wayland-bugs] [Bug 46432] New: Can not get keyboard focus if previous client exits abnomally (e.g. Ctrl-C)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 22 00:51:45 PST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=46432

             Bug #: 46432
           Summary: Can not get keyboard focus if previous client exits
                    abnomally (e.g. Ctrl-C)
    Classification: Unclassified
           Product: Wayland
           Version: unspecified
          Platform: x86 (IA32)
        OS/Version: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: weston
        AssignedTo: wayland-bugs at lists.freedesktop.org
        ReportedBy: zhiwen.wu at linux.intel.com


weston commit: 31f9d0e8de4f788aaf35fb8072dc290da19b097a
waylad commit: ab3b5cd71ce6dd1a532d9c1fecabb1a6e9d1a055

Step to reproduce:
1. src/weston 
2. clients/weston-terminal
3. Ctrl-c
4. clients/weston-terminal
no keyboard focus on weston-terminal.

I found that wl_input_device_set_keyboard_focus() return at
wayland_server.c:603.
The reason is device->keyboard_focus is not reset when the surface
with keyboard focus destroied. Next time weston-terminal launched,
weston_surface_activate() calls wl_input_device_set_keyboard_focus(), but the
value of surface is equal to previous one. That make 
wl_input_device_set_keyboard_focus() returned early, and no keyboard focus set.

Maybe we should add some code in destroy_surface() to repick the keyboard_focus
for the surface with keyboard focus.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Wayland-bugs mailing list