From 216bdbc7351e2078d94857a3323f6cd8f0d2f191 Mon Sep 17 00:00:00 2001 From: Jonas Ådahl Date: Wed, 7 Oct 2015 12:02:38 +0800 Subject: xwayland: Update actual screen and root window size on output hot plug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a new output is hot-plugged we need to not only update our internal screen dimensions, but also the dix screen dimensions, screenInfo dimensions and the root window dimensions. https://bugs.freedesktop.org/show_bug.cgi?id=92273 Signed-off-by: Jonas Ådahl Reviewed-by: Daniel Stone --- hw/xwayland/xwayland-output.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'hw') diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c index 923f36804..a8c2f2e11 100644 --- a/hw/xwayland/xwayland-output.c +++ b/hw/xwayland/xwayland-output.c @@ -156,9 +156,22 @@ output_handle_done(void *data, struct wl_output *wl_output) --xwl_screen->expecting_event; } + if (xwl_screen->screen->root) + SetRootClip(xwl_screen->screen, FALSE); + xwl_screen->width = width; xwl_screen->height = height; - RRScreenSizeNotify(xwl_screen->screen); + xwl_screen->screen->width = width; + xwl_screen->screen->height = height; + + if (xwl_screen->screen->root) { + xwl_screen->screen->root->drawable.width = width; + xwl_screen->screen->root->drawable.height = height; + SetRootClip(xwl_screen->screen, TRUE); + RRScreenSizeNotify(xwl_screen->screen); + } + + update_desktop_dimensions(); } static void -- cgit v1.2.3