mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 18:11:05 -05:00
surface-actor-x11: Only unredirect fullscreen windows for full damage
When deciding if a window should be unredirected because it was causing fullscreen damage in the past, it was not considered whether the window is still fullscreen. This could result in a floating window being unredirected if it was chosen for unredirection because of _NET_WM_BYPASS_COMPOSITOR = 1 and was previously fullscreened for >= 100 frames, long enough to change does_full_damage, before getting unfullscreened. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2434 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2651>
This commit is contained in:
parent
cefa4044d1
commit
46fc94b67f
@ -259,7 +259,7 @@ meta_surface_actor_x11_should_unredirect (MetaSurfaceActorX11 *self)
|
||||
if (!meta_surface_actor_x11_is_opaque (META_SURFACE_ACTOR (self)))
|
||||
return FALSE;
|
||||
|
||||
if (!self->does_full_damage &&
|
||||
if (!(meta_window_is_fullscreen (self->window) && self->does_full_damage) &&
|
||||
!meta_window_is_override_redirect (self->window))
|
||||
return FALSE;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user