mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
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:
parent
0ed2503140
commit
08bdee58c9
@ -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,
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user