1
0
Fork 0

Revert "core: Avoid setting up frames on fullscreen windows"

This caused feedback loops with old statically compiled SDL
applications. The bug is fixed in upstream SDL, but that doesn't help
when the executables have old SDL's built into them.

This reverts commit beeeea546b.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2678
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2921>
This commit is contained in:
Jonas Ådahl 2023-03-17 19:25:14 +01:00 committed by Marge Bot
parent 0ed2503140
commit 08bdee58c9
3 changed files with 7 additions and 17 deletions

View file

@ -45,9 +45,6 @@ meta_window_ensure_frame (MetaWindow *window)
MetaX11Display *x11_display = window->display->x11_display;
unsigned long data[1] = { 1 };
if (window->frame)
return;
meta_x11_error_trap_push (x11_display);
XChangeProperty (x11_display->xdisplay,

View file

@ -851,7 +851,7 @@ client_window_should_be_mapped (MetaWindow *window)
#endif
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
window->decorated && !window->fullscreen && !window->frame)
window->decorated && !window->frame)
return FALSE;
return TRUE;
@ -1705,7 +1705,7 @@ meta_window_should_be_showing (MetaWindow *window)
#endif
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
window->decorated && !window->fullscreen && !window->frame)
window->decorated && !window->frame)
return FALSE;
/* Windows should be showing if they're located on the
@ -5333,15 +5333,6 @@ meta_window_update_struts (MetaWindow *window)
invalidate_work_areas (window);
}
static void
sync_needs_frame (MetaWindow *window)
{
if (window->decorated && !window->fullscreen)
meta_window_ensure_frame (window);
else
meta_window_destroy_frame (window);
}
static void
meta_window_type_changed (MetaWindow *window)
{
@ -5355,7 +5346,10 @@ meta_window_type_changed (MetaWindow *window)
set_net_wm_state (window);
/* Update frame */
sync_needs_frame (window);
if (window->decorated)
meta_window_ensure_frame (window);
else
meta_window_destroy_frame (window);
/* update stacking constraints */
meta_window_update_layer (window);
@ -5626,7 +5620,6 @@ meta_window_recalc_features (MetaWindow *window)
if (window->has_resize_func != old_has_resize_func)
g_object_notify_by_pspec (G_OBJECT (window), obj_props[PROP_RESIZEABLE]);
sync_needs_frame (window);
meta_window_frame_size_changed (window);
}

View file

@ -562,7 +562,7 @@ meta_window_x11_manage (MetaWindow *window)
if (!window->override_redirect)
update_sm_hints (window); /* must come after transient_for */
if (window->decorated && !window->fullscreen)
if (window->decorated)
meta_window_ensure_frame (window);
else
meta_window_x11_initialize_state (window);