[PATCH RFC xserver 0/2] Rework for for bug 95337

Olivier Fourdan ofourdan at redhat.com
Thu May 12 12:51:50 UTC 2016


The patch I posted yesterday to fix bug 95337 which was pushed as
commit 984be78 is probably incomplete or invalid, my bad, really sorry.

I thought it was a somehow generic issue of calling wl_display_roundtrip()
too early, but it really is not.

It's actually RR code trying to modify the ConnectionInfo data before
it gets initialized, which can happen with XWayland because we set up
the outputs with their listeners in xwl_screen_init() and there is
always a possiblity of a race with the compositor that could send us
output updates updates before we reach CreateConnectionBlock() in
dix_main()...

Good news is that it seems to be very limited to the call to RR routines.

Thus the following two patches:

 - Partially revert commit 984be78 (partially, because I still don't
   think setting xwl_screen->expecting_event to 0 again in InitInput() 
   is right, so I'd rather not revert this part)

 - Simply check for ConnectionInfo prior to update it in 
   RRScreenSizeNotify() so we don't crash if the race occurs.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95337

Olivier Fourdan (2):
  xwayland: Restore wl_display_roundtrip() in InitInput
  ranrd: Do not update ConnectionInfo if NULL

 hw/xwayland/xwayland-input.c | 4 ++++
 randr/rrscreen.c             | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

-- 
2.7.4



More information about the xorg-devel mailing list