Reviewed-by: Lyude Paul <ly...@redhat.com>
On Thu, 2018-05-24 at 16:11 +0200, Olivier Fourdan wrote: > When we're done adding a new screen, we need to process pending Wayland > events again so that we don't end up processing xdg_output events when > unexpected if glamor is disabled (either becauase "-shm" was passed or > because "-eglstream" failed): > > Xwayland: dixGetPrivateAddr: Assertion `key->initialized' failed. > (EE) > (EE) Backtrace: > (EE) 0: Xwayland (OsSigHandler) > (EE) 1: libpthread.so.0 (funlockfile) > (EE) 2: libc.so.6 (gsignal) > (EE) 3: libc.so.6 (abort) > (EE) 4: libc.so.6 (?+0x0) > (EE) 5: libc.so.6 (__assert_fail) > (EE) 6: Xwayland (dixGetPrivateAddr) > (EE) 7: Xwayland (_fbGetWindowPixmap) > (EE) 8: Xwayland (getDrawableDamageRef) > (EE) 9: Xwayland (damageRegionProcessPending) > (EE) 10: Xwayland (damagePolyFillRect) > (EE) 11: Xwayland (miPaintWindow) > (EE) 12: Xwayland (miWindowExposures) > (EE) 13: Xwayland (miHandleValidateExposures) > (EE) 14: Xwayland (SetRootClip) > (EE) 15: Xwayland (update_screen_size) > (EE) 16: Xwayland (apply_output_change) > (EE) 17: libffi.so.6 (ffi_call_unix64) > (EE) 18: libffi.so.6 (ffi_call) > (EE) 19: libwayland-client.so.0 (wl_log_set_handler_client) > (EE) 20: libwayland-client.so.0 (_init) > (EE) 21: libwayland-client.so.0 (wl_display_dispatch_queue_pending) > (EE) 22: libwayland-client.so.0 (wl_display_roundtrip_queue) > (EE) 23: Xwayland (InitInput) > (EE) 24: Xwayland (dix_main) > (EE) 25: libc.so.6 (__libc_start_main) > (EE) 26: Xwayland (_start) > (EE) > (EE) > Fatal server error: > (EE) Caught signal 6 (Aborted). Server aborting > (EE) > Aborted (core dumped) > > Signed-off-by: Olivier Fourdan <ofour...@redhat.com> > --- > hw/xwayland/xwayland.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c > index b4049d2cc..cc16edf27 100644 > --- a/hw/xwayland/xwayland.c > +++ b/hw/xwayland/xwayland.c > @@ -1132,6 +1132,10 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char > **argv) > > AddCallback(&PropertyStateCallback, xwl_property_callback, pScreen); > > + wl_display_roundtrip(xwl_screen->display); > + while (xwl_screen->expecting_event) > + wl_display_roundtrip(xwl_screen->display); > + > return ret; > } > -- Cheers, Lyude Paul _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel