[PATCH] Add hybrid full-size/empty-clip mode to SetRootClip

Daniel Stone daniel at fooishbar.org
Mon Feb 8 16:05:31 UTC 2016

Hi Olivier,

On 8 February 2016 at 16:00, Olivier Fourdan <ofourdan at redhat.com> wrote:
>> Tested by starting with a single output, manually checking
>> screenInfo.screens[0]->root->{winSize,borderSize,borderClip,clipList}
>> with gdb, hotplugging an output, verifying the regions again and also
>> checking xev receives events on that output, unplugging it and verifying
>> regions again.
> The patch fixes the issue with the input events of course, but I just had a segfault in Xwayland trying this patch:
>  (EE)
>  (EE) Caught signal 11 (Segmentation fault). Server aborting
>  Fatal server error:
>  (EE)
>  (EE) Segmentation fault at address 0x100000001
>  (EE)
>  (EE) 10: ? (?+0x29) [0x29]
>  (EE) 9: /usr/bin/Xwayland (_start+0x29) [0x423299]
>  (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7fdd80e7f580]
>  (EE) 7: /usr/bin/Xwayland (dix_main+0x3b3) [0x544ef3]
>  (EE) 6: /usr/bin/Xwayland (Dispatch+0x31e) [0x54109e]
>  (EE) 5: /usr/bin/Xwayland (ProcRRGetMonitors+0x9b) [0x4ca18b]
>  (EE) 4: /usr/bin/Xwayland (RRMonitorMakeList+0x269) [0x4c9ba9]
>  (EE) 3: /usr/bin/Xwayland (RRMonitorSetFromServer+0x118) [0x4c9198]
>  (EE) 2: /usr/bin/Xwayland (MakeAtom+0x30) [0x530710]
>  (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7fdd80e93b1f]
>  (EE) 0: /usr/bin/Xwayland (OsSigHandler+0x29) [0x5792d9]
>  (EE) Backtrace:
>  (EE)
> This occurred while disabling the secondary output in g-c-c in gnome-wayland session (Xwayland crashing incidentally takes the entire gnome session with it).
> Maybe the segfault is unrelated to that patch, I need to check further.

Good catch, but I think it's introduced by your patch rather than mine. :)

Does calling RRCrtcDestroy(xwl_output->randr_crtc) from
output_handle_destroy() fix this?


More information about the xorg-devel mailing list