Window size is sometimes not restored on unfullscreen after opening Popover
There seems to be some sort of racy condition occurring when leaving fullscreen during rendering when any popover was opened in that window earlier at least once. When window is leaving fullscreen sometimes instead of its initial size being restored, window goes into maximized-like size. Does not happen if no Popovers were opened in that window earlier.
Happens on Wayland. GNOME Shell, GTK 4.1.1.
Steps to reproduce:
- Apply this change to
gtk4-demo
(to make demos into free standing windows):
diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c
index 96ec96e476..e491fb3e81 100644
--- a/demos/gtk-demo/main.c
+++ b/demos/gtk-demo/main.c
@@ -158,8 +158,10 @@ gtk_demo_run (GtkDemo *self,
if (GTK_IS_WINDOW (result))
{
+/*
gtk_window_set_transient_for (GTK_WINDOW (result), GTK_WINDOW (window));
gtk_window_set_modal (GTK_WINDOW (result), TRUE);
+*/
}
return TRUE;
}
- Open "Video Player" demo
- Play some external HD video
- Open and close the volume popover
- Keep pressing
F11
until bug is triggered
Additional info
Destroying popover surface (by e.g. unrealizing it on hide) like was done in this MR: 2919 fixes this issue for some reason.