From: Kristian Høgsberg Date: Thu, 10 Feb 2011 18:44:45 +0000 (-0500) Subject: gtkwidget: Only call X GDK functions when the window is an X window X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=b4129c14cbd2d20d37252c74c6af1b7ecc0511c1;p=~andy%2Fgtk gtkwidget: Only call X GDK functions when the window is an X window --- diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 7336d025d..4a1452c39 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1698,7 +1698,7 @@ gtk_window_set_startup_id (GtkWindow *window, gdk_window = gtk_widget_get_window (widget); #ifdef GDK_WINDOWING_X11 - if (timestamp != GDK_CURRENT_TIME) + if (timestamp != GDK_CURRENT_TIME && GDK_IS_X11_WINDOW(gdk_window)) gdk_x11_window_set_user_time (gdk_window, timestamp); #endif @@ -4612,7 +4612,8 @@ gtk_window_show (GtkWidget *widget) /* Try to make sure that we have some focused widget */ #ifdef GDK_WINDOWING_X11 - is_plug = GTK_IS_PLUG (window); + is_plug = GDK_IS_X11_WINDOW (gtk_widget_get_window (widget)) && + GTK_IS_PLUG (window); #else is_plug = FALSE; #endif @@ -4978,12 +4979,18 @@ gtk_window_realize (GtkWidget *widget) if (priv->startup_id) { #ifdef GDK_WINDOWING_X11 - guint32 timestamp = extract_time_from_startup_id (priv->startup_id); - if (timestamp != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window, timestamp); + if (GDK_IS_X11_WINDOW (gdk_window)) + { + guint32 timestamp = extract_time_from_startup_id (priv->startup_id); + if (timestamp != GDK_CURRENT_TIME) + gdk_x11_window_set_user_time (gdk_window, timestamp); + } + else #endif - if (!startup_id_is_fake (priv->startup_id)) - gdk_window_set_startup_id (gdk_window, priv->startup_id); + { + if (!startup_id_is_fake (priv->startup_id)) + gdk_window_set_startup_id (gdk_window, priv->startup_id); + } } /* Icons */ @@ -7352,13 +7359,16 @@ gtk_window_present_with_time (GtkWindow *window, if (timestamp == GDK_CURRENT_TIME) { #ifdef GDK_WINDOWING_X11 - GdkDisplay *display; + if (GDK_IS_X11_WINDOW(gdk_window)) + { + GdkDisplay *display; - display = gtk_widget_get_display (GTK_WIDGET (window)); - timestamp = gdk_x11_display_get_user_time (display); -#else - timestamp = gtk_get_current_event_time (); + display = gtk_widget_get_display (GTK_WIDGET (window)); + timestamp = gdk_x11_display_get_user_time (display); + } + else #endif + timestamp = gtk_get_current_event_time (); } gdk_window_focus (gdk_window, timestamp);