summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-06-03 09:27:26 +0100
committerPetr Mladek <pmladek@suse.cz>2013-06-03 12:11:50 +0000
commit2d03cef0145db7475db66dd611c22c6e6fc51b48 (patch)
tree2265d9696868ec81500b9a62af6956ab67826492 /vcl/unx
parent088b822830d8ef10d7fa81b3c8f5c552cce9f057 (diff)
fdo#56583 - avoid setting user time on unrealized windows.
Change-Id: Iab776088b1d168295d636069e1a92ba948241653 Reviewed-on: https://gerrit.libreoffice.org/4143 Reviewed-by: Petr Mladek <pmladek@suse.cz> Tested-by: Petr Mladek <pmladek@suse.cz>
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/gtk/window/gtkframe.cxx12
1 files changed, 10 insertions, 2 deletions
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 );