From 6384edf0252e25b2b77d0156e247e8302f318657 Mon Sep 17 00:00:00 2001 From: Quentin Glidic Date: Tue, 16 Aug 2016 11:42:47 +0200 Subject: [PATCH] libweston-desktop/{wl_shell, xwayland}: Fix changing between toplevel states Signed-off-by: Quentin Glidic Tested-by: Emmanuel Gil Peyrot --- libweston-desktop/wl-shell.c | 4 +++- libweston-desktop/xwayland.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libweston-desktop/wl-shell.c b/libweston-desktop/wl-shell.c index 7c6a5899..74ce4731 100644 --- a/libweston-desktop/wl-shell.c +++ b/libweston-desktop/wl-shell.c @@ -151,8 +151,10 @@ weston_desktop_wl_shell_change_state(struct weston_desktop_wl_shell_surface *sur assert(state != NONE); - if (to_add && surface->added) + if (to_add && surface->added) { + surface->state = state; return; + } if (surface->state != state) { if (surface->state == POPUP) diff --git a/libweston-desktop/xwayland.c b/libweston-desktop/xwayland.c index da04f7f8..cb083237 100644 --- a/libweston-desktop/xwayland.c +++ b/libweston-desktop/xwayland.c @@ -75,8 +75,10 @@ weston_desktop_xwayland_surface_change_state(struct weston_desktop_xwayland_surf assert(state != NONE); - if (to_add && surface->added) + if (to_add && surface->added) { + surface->state = state; return; + } if (surface->state != state) { if (surface->state == XWAYLAND) {