Rewrite Qt4 based nested yield mutex locking.
The Qt event loop may start a nested event loop, when checking for clipboard and Drag'n'Drop events. Previously this was handled by running this nested yield loop inside the main glib loop using qApp->clipboard()->property( "useEventLoopWhenWaiting" ); But this results in nested paint events which crash LO: QWidget::repaint: Recursive repaint detected To prevend yield mutex deadlocks, check for nested event loops and always release the yield lock before starting the nested Yield event loop. This fixes fdo#69002. Change-Id: I7e827abd3489783053ec7123372742a32555875d Reviewed-on: https://gerrit.libreoffice.org/6685Reviewed-by:Michael Meeks <michael.meeks@collabora.com> Reviewed-by:
Thorsten Behrens <thb@documentfoundation.org> Tested-by:
Thorsten Behrens <thb@documentfoundation.org>
Showing
Please
register
or
sign in
to comment