diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2015-10-07 12:02:38 +0800 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2015-10-07 10:39:03 -0400 |
commit | 216bdbc7351e2078d94857a3323f6cd8f0d2f191 (patch) | |
tree | 3d222eac1452b55d90ce72b8aaa9a4494052d0b6 /hw | |
parent | 211d4c2d353b5e379716484055a3f58235ea65f4 (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>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xwayland/xwayland-output.c | 15 |
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 |