summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2015-10-07 12:02:38 +0800
committerAdam Jackson <ajax@redhat.com>2015-10-07 10:39:03 -0400
commit216bdbc7351e2078d94857a3323f6cd8f0d2f191 (patch)
tree3d222eac1452b55d90ce72b8aaa9a4494052d0b6
parent211d4c2d353b5e379716484055a3f58235ea65f4 (diff)
xwayland: Update actual screen and root window size on output hot plug
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 <jadahl@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
-rw-r--r--hw/xwayland/xwayland-output.c15
1 files changed, 14 insertions, 1 deletions
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