[gtk+/gdk-backend-wayland] gtkwidget: Only call X GDK functions when the window is an X window
- From: Kristian Høgsberg <krh src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gdk-backend-wayland] gtkwidget: Only call X GDK functions when the window is an X window
- Date: Thu, 10 Feb 2011 21:37:27 +0000 (UTC)
commit b4129c14cbd2d20d37252c74c6af1b7ecc0511c1
Author: Kristian Høgsberg <krh bitplanet net>
Date: Thu Feb 10 13:44:45 2011 -0500
gtkwidget: Only call X GDK functions when the window is an X window
gtk/gtkwindow.c | 34 ++++++++++++++++++++++------------
1 files changed, 22 insertions(+), 12 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 7336d02..4a1452c 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]