wayland/toplevel: Don't alwyas skip changing xdg_toplevel state
We only called xdg_toplevel.(un)set_maximize() if the toplevel layout changed, but this misses the case when the compositor had changed the maximized state. Change it to call the xdg_toplevel request if either the local layout changed, or if the layout differs from the current state. This fixes an issue where one couldn't unmaximize a window by double clicking the titlebar that, had previously been maximized e.g. using a keyboard binding. Do the same for fullscreen.
This commit is contained in:
@@ -4876,6 +4876,8 @@ did_maximize_layout_change (GdkToplevel *toplevel,
|
||||
return TRUE;
|
||||
|
||||
if (gdk_toplevel_layout_get_maximized (impl->toplevel.layout) !=
|
||||
gdk_toplevel_layout_get_maximized (layout) ||
|
||||
!!(surface->state & GDK_TOPLEVEL_STATE_MAXIMIZED) !=
|
||||
gdk_toplevel_layout_get_maximized (layout))
|
||||
return TRUE;
|
||||
|
||||
@@ -4893,6 +4895,8 @@ did_fullscreen_layout_change (GdkToplevel *toplevel,
|
||||
return TRUE;
|
||||
|
||||
if (gdk_toplevel_layout_get_fullscreen (impl->toplevel.layout) !=
|
||||
gdk_toplevel_layout_get_fullscreen (layout) ||
|
||||
!!(surface->state & GDK_TOPLEVEL_STATE_FULLSCREEN) !=
|
||||
gdk_toplevel_layout_get_fullscreen (layout))
|
||||
return TRUE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user