From 2d03cef0145db7475db66dd611c22c6e6fc51b48 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 3 Jun 2013 09:27:26 +0100 Subject: fdo#56583 - avoid setting user time on unrealized windows. Change-Id: Iab776088b1d168295d636069e1a92ba948241653 Reviewed-on: https://gerrit.libreoffice.org/4143 Reviewed-by: Petr Mladek Tested-by: Petr Mladek --- vcl/unx/gtk/window/gtkframe.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'vcl/unx/gtk') diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx index d783e954df20..fc5154b809db 100644 --- a/vcl/unx/gtk/window/gtkframe.cxx +++ b/vcl/unx/gtk/window/gtkframe.cxx @@ -1011,9 +1011,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 ); -- cgit v1.2.3