diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2017-10-06 14:37:45 -0500 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2017-12-04 21:58:15 +0000 |
commit | e1af3d8d9d2243c9a1ec06549c2e283f91ea6487 (patch) | |
tree | 2386fe41c037283821dde38ede99ec43a6be71ad /desktop-shell | |
parent | 927d9e23fadb8babaf8ee93b215a25c448c5f6f2 (diff) | |
download | weston-e1af3d8d9d2243c9a1ec06549c2e283f91ea6487.tar.gz |
desktop-shell: Handle the fullscreen to maximized case safely
When a client transitions from maximized to fullscreen to maximized (run
weston-terminal, maximize it, hit f11 twice) we're sending size 0,0 for
the unfullscreen configure, which still has maximized set.
This results in clients correctly picking any size they like, and weston
disconnecting them for it.
Instead, pass the correct maximized size.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Diffstat (limited to 'desktop-shell')
-rw-r--r-- | desktop-shell/shell.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 8c9b59ae..a2a93e2f 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -2618,6 +2618,8 @@ set_fullscreen(struct shell_surface *shsurf, bool fullscreen, width = shsurf->output->width; height = shsurf->output->height; + } else if (weston_desktop_surface_get_maximized(desktop_surface)) { + get_maximized_size(shsurf, &width, &height); } weston_desktop_surface_set_fullscreen(desktop_surface, fullscreen); weston_desktop_surface_set_size(desktop_surface, width, height); |