From 8d8570556a8bb1a97c5ca480a7d59b138ed5359a Mon Sep 17 00:00:00 2001 From: Mark Thomas Date: Tue, 11 Feb 2014 23:50:14 +0000 Subject: Add support for compiling against Gtk+3 with and without Wayland backend support. --- src/terminal-screen.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/terminal-screen.c') diff --git a/src/terminal-screen.c b/src/terminal-screen.c index 562d793..91d503f 100644 --- a/src/terminal-screen.c +++ b/src/terminal-screen.c @@ -27,8 +27,13 @@ #include #include +#include + #ifdef GDK_WINDOWING_X11 #include +#ifndef GDK_IS_X11_DISPLAY +#define GDK_IS_X11_DISPLAY(display) 1 +#endif #endif #include "terminal-accels.h" @@ -1360,6 +1365,7 @@ get_child_environment (TerminalScreen *screen, TerminalScreenPrivate *priv = screen->priv; GtkWidget *term = GTK_WIDGET (screen); GtkWidget *window; + GdkDisplay *display; char **env; char *e, *v; GHashTable *env_table; @@ -1372,6 +1378,7 @@ get_child_environment (TerminalScreen *screen, window = gtk_widget_get_toplevel (term); g_assert (window != NULL); g_assert (gtk_widget_is_toplevel (window)); + display = gdk_window_get_display (gtk_widget_get_window (window)); env_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); @@ -1404,8 +1411,11 @@ get_child_environment (TerminalScreen *screen, #ifdef GDK_WINDOWING_X11 /* FIXME: moving the tab between windows, or the window between displays will make the next two invalid... */ - g_hash_table_replace (env_table, g_strdup ("WINDOWID"), g_strdup_printf ("%ld", GDK_WINDOW_XWINDOW (gtk_widget_get_window (window)))); - g_hash_table_replace (env_table, g_strdup ("DISPLAY"), g_strdup (gdk_display_get_name (gtk_widget_get_display (window)))); + if (GDK_IS_X11_DISPLAY(display)) + { + g_hash_table_replace (env_table, g_strdup ("WINDOWID"), g_strdup_printf ("%ld", GDK_WINDOW_XWINDOW (gtk_widget_get_window (window)))); + g_hash_table_replace (env_table, g_strdup ("DISPLAY"), g_strdup (gdk_display_get_name (display))); + } #endif list_schemas = g_settings_list_schemas(); -- cgit v1.2.1