mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-05 12:18:08 +02:00
desktop-shell: Don’t reconfigure an already fullscreen surface
When we receive an wl_shell_surface::set_fullscreen request for a surface that was already fullscreen, don’t do anything if the parameters are the same as the initial request. This prevents bogus or malicious clients from being able to always stay on front by flooding the compositor with set_fullscreen requests after the user has put them in the background with a mod+tab. Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> Reviewed-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
This commit is contained in:
parent
e6da35d067
commit
28834b6472
1 changed files with 7 additions and 0 deletions
|
|
@ -2561,6 +2561,13 @@ shell_surface_set_fullscreen(struct wl_client *client,
|
|||
struct shell_surface *shsurf = wl_resource_get_user_data(resource);
|
||||
struct weston_output *output;
|
||||
|
||||
if (shsurf->fullscreen_output == shsurf->output &&
|
||||
shsurf->fullscreen.type == method &&
|
||||
shsurf->fullscreen.framerate == framerate) {
|
||||
send_configure_for_surface(shsurf);
|
||||
return;
|
||||
}
|
||||
|
||||
if (output_resource)
|
||||
output = wl_resource_get_user_data(output_resource);
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue