[Libreoffice-commits] core.git: vcl/unx

Michael Meeks michael.meeks at suse.com
Mon Jun 3 01:30:19 PDT 2013


 vcl/unx/gtk/window/gtksalframe.cxx |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

New commits:
commit 2d5d1415161ef687cf0d4d6eccad0940e3016110
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Mon Jun 3 09:27:26 2013 +0100

    fdo#56583 - avoid setting user time on unrealized windows.
    
    Change-Id: Iab776088b1d168295d636069e1a92ba948241653

diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
index 041a8a0..0f53e93 100644
--- a/vcl/unx/gtk/window/gtksalframe.cxx
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
@@ -1013,9 +1013,17 @@ static void lcl_set_user_time( GtkWindow* i_pWindow, guint32 i_nTime )
         bGetSetUserTimeFn = false;
         p_gdk_x11_window_set_user_time = (setUserTimeFn)osl_getAsciiFunctionSymbol( GetSalData()->m_pPlugin, "gdk_x11_window_set_user_time" );
     }
+    bool bSet = false;
     if( p_gdk_x11_window_set_user_time )
-        p_gdk_x11_window_set_user_time( widget_get_window(GTK_WIDGET(i_pWindow)), i_nTime );
-    else
+    {
+        GdkWindow* pWin = widget_get_window(GTK_WIDGET(i_pWindow));
+        if( pWin ) // only if the window is realized.
+        {
+            p_gdk_x11_window_set_user_time( pWin, i_nTime );
+            bSet = true;
+        }
+    }
+    if( !bSet )
     {
         Display* pDisplay = GetGtkSalData()->GetGtkDisplay()->GetDisplay();
         Atom nUserTime = XInternAtom( pDisplay, "_NET_WM_USER_TIME", True );


More information about the Libreoffice-commits mailing list