[Wayland-bugs] [Bug 771694] GtkSourceView completion popup window not shown, no grabbed seat found
gtk+ (GNOME Bugzilla)
bugzilla at gnome.org
Wed Oct 19 09:10:37 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=771694
--- Comment #23 from Olivier Fourdan <ofourdan at redhat.com> ---
(In reply to Marinus Schraal from comment #22)
> Created attachment 337998 [details]
> focus break log
>
> With this patch the popup indeed show in wayland, however I've been getting
> focus issues. In some circumstances it seems focus on the application window
> is completely lost.
>
> If I type fast and don't use the completion suggestions, sometimes the popup
> is dismissed (b/c there are no suggestions anymore?) and the main
> application (builder) loses focus completely. This is more game breaking
> than having no popup.
>
> Attached a wayland debug log where this behaviour is observed once (and I
> quit the application after). I can't pinpoint the exact occurrence however.
Yes, I can reproduce that, but this looks like an issue in mutter focus
management rather than a bug in gtk+ xdg_popup code.
Using MUTTER_VERBOSE shows the issue:
STARTUP: Applying startup props to W5 id "(none)"
STARTUP: Window W5 has _NET_WM_USER_TIME of 76886753
PLACEMENT: Putting window W5 on same workspace as parent W1 (lt-test-co)
WINDOW_STATE: Putting W5 in the move_resize queue
WINDOW_STATE: Putting W5 in the calc_showing queue
PLACEMENT: Putting window W5 on active workspace
STACK: Adding window W5 to the stack
STACK: Window W5 has stack_position initialized to 1
STACK: Syncing window stack to server
STACK: Adding 1 windows to sorted list
STACK: Recomputing layers
STACK: Window W5 on layer 7 type = 9 has_focus = 0
STACK: Window W5 moved from layer 8 to 7
STACK: Window W1 (lt-test-co) on layer 2 type = 0 has_focus = 1
STACK: Reapplying constraints
STACK: Constraining W5 above W1 (lt-test-co) due to transiency
STACK: W5 above at 1 > W1 (lt-test-co) below at 0
STACK: Sorting stack list
STACK: Bottom to top: 2:0 - W1 (lt-test-co) 7:1 - W5
STACK: Restacking 2 windows
(W5 is the popup, W1 the test-completion window from gtksourceview)
[...]
STARTUP: COMPARISON (continued):
focus_window : W1 (lt-test-co)
fw->net_wm_user_time_set : 1
fw->net_wm_user_time : 76886786
STARTUP: window W5 focus prevented by other activity; 76886753 < 76886786
WINDOW_STATE: Window W5 does not focus on map, and does not place on top on
map.
STARTUP: The focus window W1 (lt-test-co) is an ancestor of the newly mapped
window W5 which isn't being focused. Unfocusing the ancestor.
This is where things start to go wrong ^^^^
FOCUS: W1 (lt-test-co) is now the previous focus window due to being focused
out or unmapped
VERBOSE: Grabbing unfocused window buttons for W1 (lt-test-co)
FOCUS: * Focus --> NULL with serial 500
STACK: Syncing window stack to server
STACK: Bottom to top: 2:0 - W1 (lt-test-co) 7:1 - W5
STACK: Restacking 2 windows
STACK: MetaStackTracker state
xserver_serial: 339
verified_stack: 0x200013 0x200001 0x200002 0x200003 0x200004
0x200005 0x200006 0x200007 0x200008 0x20000d 0x20000e (mutter) 0x200012
0x200016 0x100000001 (lt-test-co) 0x100000005
unverified_predictions: []
FOCUS: Focus out event received on 0x270 (root window) mode NotifyNormal
detail NotifyAncestor serial 500
FOCUS: Ignoring focus event generated by a grab or other weirdness
mutter-Message: xdg_popup_destructor
mutter-Message: xdg_surface_destroy
mutter-Message: xdg_surface_destructor
mutter-Message: xdg_popup_role_finalize
mutter-Message: xdg_surface_role_finalize
VERBOSE: Unmanaging W5
FOCUS: Unmanaging window W5 which doesn't currently have focus
And from now on, the test-completion window has lost focus...
So, IMHO, we should clone this bug for mutter and continue from there.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20161019/4a8443f4/attachment.html>
More information about the wayland-bugs
mailing list