[Xfce4-commits] r25930 - in terminal/trunk: . terminal

Benedikt Meurer benny at xfce.org
Fri Jul 20 19:08:25 CEST 2007


Author: benny
Date: 2007-07-20 17:08:24 +0000 (Fri, 20 Jul 2007)
New Revision: 25930

Modified:
   terminal/trunk/ChangeLog
   terminal/trunk/terminal/terminal-screen.c
Log:
2007-07-20	Benedikt Meurer <benny at xfce.org>

	* terminal/terminal-screen.c(terminal_screen_get_child_environment):
	  Use the id of the toplevel window instead of the scrolled window
	  for the $WINDOWID environment variable (Bug #3341).




Modified: terminal/trunk/ChangeLog
===================================================================
--- terminal/trunk/ChangeLog	2007-07-20 16:54:48 UTC (rev 25929)
+++ terminal/trunk/ChangeLog	2007-07-20 17:08:24 UTC (rev 25930)
@@ -1,5 +1,11 @@
 2007-07-20	Benedikt Meurer <benny at xfce.org>
 
+	* terminal/terminal-screen.c(terminal_screen_get_child_environment):
+	  Use the id of the toplevel window instead of the scrolled window
+	  for the $WINDOWID environment variable (Bug #3341).
+
+2007-07-20	Benedikt Meurer <benny at xfce.org>
+
 	* helpers/, icons/, terminal/, Makefile.am, NEWS, Terminal.ui,
 	  configure.in.in, doc/: Drop the preferred application handling
 	  from Terminal and use the Xfce preferred application directly.

Modified: terminal/trunk/terminal/terminal-screen.c
===================================================================
--- terminal/trunk/terminal/terminal-screen.c	2007-07-20 16:54:48 UTC (rev 25929)
+++ terminal/trunk/terminal/terminal-screen.c	2007-07-20 17:08:24 UTC (rev 25930)
@@ -461,6 +461,7 @@
 terminal_screen_get_child_environment (TerminalScreen *screen)
 {
   extern gchar **environ;
+  GtkWidget     *toplevel;
   gchar         *display_name;
   gchar        **result;
   gchar        **p;
@@ -501,14 +502,16 @@
       g_free (term);
     }
 
-  if (GTK_WIDGET_REALIZED (screen->terminal))
+  /* determine the toplevel widget */
+  toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen));
+  if (toplevel != NULL && GTK_WIDGET_REALIZED (toplevel))
     {
 #ifdef GDK_WINDOWING_X11
-      result[n++] = g_strdup_printf ("WINDOWID=%ld", (glong) GDK_WINDOW_XWINDOW (screen->terminal->window));
+      result[n++] = g_strdup_printf ("WINDOWID=%ld", (glong) GDK_WINDOW_XWINDOW (toplevel->window));
 #endif
 
       /* determine the DISPLAY value for the command */
-      display_name = gdk_screen_make_display_name (gtk_widget_get_screen (screen->terminal));
+      display_name = gdk_screen_make_display_name (gtk_widget_get_screen (toplevel));
       result[n++] = g_strdup_printf ("DISPLAY=%s", display_name);
       g_free (display_name);
     }



More information about the Xfce4-commits mailing list