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 beeeea546b2145e138a247334d81cfa984da3308. 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:
parent
0ed2503140
commit
08bdee58c9
@ -45,9 +45,6 @@ meta_window_ensure_frame (MetaWindow *window)
|
|||||||
MetaX11Display *x11_display = window->display->x11_display;
|
MetaX11Display *x11_display = window->display->x11_display;
|
||||||
unsigned long data[1] = { 1 };
|
unsigned long data[1] = { 1 };
|
||||||
|
|
||||||
if (window->frame)
|
|
||||||
return;
|
|
||||||
|
|
||||||
meta_x11_error_trap_push (x11_display);
|
meta_x11_error_trap_push (x11_display);
|
||||||
|
|
||||||
XChangeProperty (x11_display->xdisplay,
|
XChangeProperty (x11_display->xdisplay,
|
||||||
|
@ -851,7 +851,7 @@ client_window_should_be_mapped (MetaWindow *window)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
|
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
|
||||||
window->decorated && !window->fullscreen && !window->frame)
|
window->decorated && !window->frame)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1705,7 +1705,7 @@ meta_window_should_be_showing (MetaWindow *window)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
|
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
|
||||||
window->decorated && !window->fullscreen && !window->frame)
|
window->decorated && !window->frame)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Windows should be showing if they're located on the
|
/* Windows should be showing if they're located on the
|
||||||
@ -5333,15 +5333,6 @@ meta_window_update_struts (MetaWindow *window)
|
|||||||
invalidate_work_areas (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
|
static void
|
||||||
meta_window_type_changed (MetaWindow *window)
|
meta_window_type_changed (MetaWindow *window)
|
||||||
{
|
{
|
||||||
@ -5355,7 +5346,10 @@ meta_window_type_changed (MetaWindow *window)
|
|||||||
set_net_wm_state (window);
|
set_net_wm_state (window);
|
||||||
|
|
||||||
/* Update frame */
|
/* Update frame */
|
||||||
sync_needs_frame (window);
|
if (window->decorated)
|
||||||
|
meta_window_ensure_frame (window);
|
||||||
|
else
|
||||||
|
meta_window_destroy_frame (window);
|
||||||
|
|
||||||
/* update stacking constraints */
|
/* update stacking constraints */
|
||||||
meta_window_update_layer (window);
|
meta_window_update_layer (window);
|
||||||
@ -5626,7 +5620,6 @@ meta_window_recalc_features (MetaWindow *window)
|
|||||||
if (window->has_resize_func != old_has_resize_func)
|
if (window->has_resize_func != old_has_resize_func)
|
||||||
g_object_notify_by_pspec (G_OBJECT (window), obj_props[PROP_RESIZEABLE]);
|
g_object_notify_by_pspec (G_OBJECT (window), obj_props[PROP_RESIZEABLE]);
|
||||||
|
|
||||||
sync_needs_frame (window);
|
|
||||||
meta_window_frame_size_changed (window);
|
meta_window_frame_size_changed (window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -562,7 +562,7 @@ meta_window_x11_manage (MetaWindow *window)
|
|||||||
if (!window->override_redirect)
|
if (!window->override_redirect)
|
||||||
update_sm_hints (window); /* must come after transient_for */
|
update_sm_hints (window); /* must come after transient_for */
|
||||||
|
|
||||||
if (window->decorated && !window->fullscreen)
|
if (window->decorated)
|
||||||
meta_window_ensure_frame (window);
|
meta_window_ensure_frame (window);
|
||||||
else
|
else
|
||||||
meta_window_x11_initialize_state (window);
|
meta_window_x11_initialize_state (window);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user