Hi Jonas, On 7 October 2015 at 05:02, Jonas Ådahl <[email protected]> wrote: > 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 <[email protected]> > --- > hw/xwayland/xwayland-output.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c > index 923f368..a8c2f2e 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
Thanks, looks good to me. I had a half-complete version of the same, but just forgot to update the root-clip, hence why it didn't work. One thing I did notice from the earlier iteration though, is that for me, I was seeing this being called when xwl_screen->screen is NULL, thus a segfault on startup. Are you not seeing the same? Assuming this is tested and working, then for the series: Reviewed-by: Daniel Stone <[email protected]> Cheers, Daniel _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
