Hi there, I had a poke at this heisenbug (that disappears with SAL_SYNCHRONIZE set), and - after a bit of xtracing, discovered that (rather un-satisfyingly) that the attached patch fixes it; it should be entirely harmless if not entirely explained [ the error push/pop should stop this happening anyway ].
Tripple review for libreoffice-3-5-3 and one more for libreoffice-3-5 if possible. HTH, Michael. -- michael.me...@suse.com <><, Pseudo Engineer, itinerant idiot
>From 6d97ea37bba52b21648c91276bc9281d06cdd148 Mon Sep 17 00:00:00 2001 From: Michael Meeks <michael.me...@suse.com> Date: Thu, 19 Apr 2012 14:34:35 +0100 Subject: [PATCH] fdo#46687 - fix find toolbar X error handling --- vcl/unx/gtk/window/gtkframe.cxx | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx index 4137a8d..a647bf8 100644 --- a/vcl/unx/gtk/window/gtkframe.cxx +++ b/vcl/unx/gtk/window/gtkframe.cxx @@ -2231,6 +2231,8 @@ void GtkSalFrame::ToTop( sal_uInt16 nFlags ) // to do this we need to synchronize with the XServer GetGenericData()->ErrorTrapPush(); XSetInputFocus( getDisplay()->GetDisplay(), widget_get_xid(m_pWindow), RevertToParent, CurrentTime ); + // fdo#46687 - an XSync should not be necessary - but for some reason it is. + XSync( getDisplay()->GetDisplay(), False ); GetGenericData()->ErrorTrapPop(); } #endif @@ -3239,9 +3241,11 @@ gboolean GtkSalFrame::signalMap( GtkWidget *pWidget, GdkEvent*, gpointer frame ) #if !GTK_CHECK_VERSION(3,0,0) if( bSetFocus ) { + GetGenericData()->ErrorTrapPush(); XSetInputFocus( pThis->getDisplay()->GetDisplay(), widget_get_xid(pWidget), RevertToParent, CurrentTime ); + GetGenericData()->ErrorTrapPop(); } #else (void)pWidget; (void)bSetFocus; -- 1.7.7
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice