https://bugzilla.gnome.org/show_bug.cgi?id=780820

Olivier Fourdan <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|Backend: Wayland            |wayland
            Version|3.22.x                      |3.24.x
           Assignee|[email protected]            |[email protected]
            Product|gtk+                        |mutter
         QA Contact|[email protected]            |[email protected]

--- Comment #7 from Olivier Fourdan <[email protected]> ---
Moving to mutter.

The newly mapped window is not considered in get_default_focus_window() as
called from meta_stack_get_default_focus_window() because
meta_window_should_be_showing() return FALSE, and this is specific to Wayland
backend because the window has no buffer attached *yet*:

1598 gboolean
1599 meta_window_should_be_showing (MetaWindow  *window)
1600 {
1601 #ifdef HAVE_WAYLAND
1602   if (window->client_type == META_WINDOW_CLIENT_TYPE_WAYLAND &&
1603       !meta_wayland_surface_get_buffer (window->surface))
1604     return FALSE;
1605 #endif
1606 
1607   /* Windows should be showing if they're located on the
1608    * active workspace and they're showing on their own workspace. */
1609   return (meta_window_located_on_workspace (window,
window->screen->active_workspace) &&
1610           meta_window_showing_on_its_workspace (window));
1611 }


As a result, the old window is focused and raised instead, and when the new
window is eventually mapped, it is focused and not raised in
meta_focus_window().

So we end up with the focused window being placed underneath the non-focused
window.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
wayland-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to