rpms/gnome-terminal/devel gnome-terminal-2.13.0-revert-98715.patch, NONE, 1.1 gnome-terminal.spec, 1.23, 1.24

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Jan 5 19:43:16 UTC 2006


Author: caillon

Update of /cvs/dist/rpms/gnome-terminal/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv31409

Modified Files:
	gnome-terminal.spec 
Added Files:
	gnome-terminal-2.13.0-revert-98715.patch 
Log Message:
* Thu Jan  4 2006 Christopher Aillon <caillon at redhat.com> 2.13.0-2
- Revert patch from gnome bug 98715 to fix 176029, 176642


gnome-terminal-2.13.0-revert-98715.patch:
 terminal-screen.c      |   29 ++-----------
 terminal-screen.c.orig |only
 terminal-screen.h      |    2 
 terminal-window.c      |    4 -
 terminal-window.c.orig |only
 terminal.c             |  109 +++++++------------------------------------------
 terminal.h             |    3 -
 7 files changed, 24 insertions(+), 123 deletions(-)

--- NEW FILE gnome-terminal-2.13.0-revert-98715.patch ---
diff -r -u gnome-terminal-2.13.0/src/terminal.c gnome-terminal-2.13.0.new/src/terminal.c
--- gnome-terminal-2.13.0/src/terminal.c	2005-11-30 23:53:55.000000000 +0200
+++ gnome-terminal-2.13.0.new/src/terminal.c	2005-12-28 14:10:33.000000000 +0200
@@ -44,6 +44,7 @@
 #include <time.h>
 #include <gdk/gdkx.h>
 
+
 /* Settings storage works as follows:
  *   /apps/gnome-terminal/global/
  *   /apps/gnome-terminal/profiles/Foo/
@@ -1381,8 +1382,7 @@
 }
 
 static int
-new_terminal_with_options_and_environ (OptionParsingResults *results,
-                                       char                 **env)
+new_terminal_with_options (OptionParsingResults *results)
 {
   GList *tmp;
   
@@ -1446,8 +1446,7 @@
                                          it->zoom : 1.0,
                                          results->startup_id,
                                          results->display_name,
-                                         results->screen_number,
-					 env);
+                                         results->screen_number);
 
               current_window = g_list_last (app->windows)->data;
             }
@@ -1466,8 +1465,7 @@
                                          NULL,
                                          it->zoom_set ?
                                          it->zoom : 1.0,
-                                         NULL, NULL, -1,
-					 env);
+                                         NULL, NULL, -1);
             }
           
           if (it->active)
@@ -1491,12 +1489,6 @@
   return 0;
 }
 
-static inline int
-new_terminal_with_options (OptionParsingResults *results)
-{
-	return new_terminal_with_options_and_environ (results, NULL);
-}
-
 /* This assumes that argv already has room for the args,
  * and inserts them just after argv[0]
  */
@@ -1907,8 +1899,7 @@
                            double           zoom,
                            const char      *startup_id,
                            const char      *display_name,
-                           int              screen_number,
-			   char           **env)
+                           int              screen_number)
 {
   gboolean window_created;
   gboolean screen_created;
@@ -1967,9 +1958,6 @@
       
       if (override_command)    
         terminal_screen_set_override_command (screen, override_command);
-
-      if (env)
-        terminal_screen_set_environ (screen, env);
     
       terminal_screen_set_font_scale (screen, zoom);
     
@@ -3676,13 +3664,11 @@
 {
   int argc;
   char **argv;
-  char **environ;
 } NewTerminalEvent;
 
 static void
 handle_new_terminal_event (int          argc,
-                           char       **argv,
-			   char       **env)
+                           char       **argv)
 {
   int nextopt;
   poptContext ctx;
@@ -3690,7 +3676,7 @@
   OptionParsingResults *results;
 
   g_assert (initialization_complete);
-
+  
   results = option_parsing_results_init (&argc, argv);
   
   /* Find and parse --display */
@@ -3723,7 +3709,7 @@
 
   option_parsing_results_apply_directory_defaults (results);
 
-  new_terminal_with_options_and_environ (results, env);
+  new_terminal_with_options (results);
 
   option_parsing_results_free (results);
 }
@@ -3736,18 +3722,15 @@
       GSList *next = pending_new_terminal_events->next;
       NewTerminalEvent *event = pending_new_terminal_events->data;
 
-      handle_new_terminal_event (event->argc, event->argv, event->environ);
+      handle_new_terminal_event (event->argc, event->argv);
 
       g_strfreev (event->argv);
-      g_strfreev (event->environ);
       g_free (event);
       g_slist_free_1 (pending_new_terminal_events);
       pending_new_terminal_events = next;
     }
 }
 
-#define END_ENVIRON "END-ENVIRON"
-
 /*
  *   Invoked remotely to instantiate a terminal with the
  * given arguments.
@@ -3760,11 +3743,8 @@
 		    gpointer           user_data)
 {
   CORBA_sequence_CORBA_string *args;
-  char **tmp_strv;
   char **tmp_argv;
-  char **tmp_environ;
   int tmp_argc;
-  int tmp_lenviron;
   int i;
   NewTerminalEvent *event;
   
@@ -3777,60 +3757,19 @@
 
   args = any->_value;
   
-  /* the buffer contains [environ] END_ENVIRON [argv] */
-  tmp_strv = g_new0 (char*, args->_length);
+  tmp_argv = g_new0 (char*, args->_length + 1);
   i = 0;
-  tmp_lenviron = 0;
   while (i < args->_length)
     {
-      tmp_strv[i] = g_strdup (((const char**)args->_buffer)[i]);
-      if (i == tmp_lenviron && strcmp (END_ENVIRON, tmp_strv[i]))
-	      tmp_lenviron++;
+      tmp_argv[i] = g_strdup (((const char**)args->_buffer)[i]);
       ++i;
     }
+  tmp_argv[i] = NULL;
+  tmp_argc = i;
 
-  /* copy argv */
-  tmp_argc = i - tmp_lenviron - 1;
-  tmp_argv = g_new0 (char*, tmp_argc + 1);
-#if 0
-  g_print ("Got %d argv entries\n", tmp_argc);
-#endif
-  for (i = tmp_lenviron + 1; i < args->_length; i++)
-  {
-#if 0
-      g_print ("accessing argv[%d] and strv[%d] (= %s)\n",
-                      i - tmp_lenviron - 1, i, tmp_strv[i]);
-#endif
-      tmp_argv[i - tmp_lenviron - 1] = tmp_strv[i];
-  }
-  tmp_argv[tmp_argc+1] = NULL;
-#if 0
-  g_print ("---- dumping argv ----\n");
-  for (i = 0; i < tmp_argc; i++)
-      g_print ("%s\n", tmp_argv [i]);
-  g_print ("---- done ----\n");
-#endif
-  
-  /* copy environ */
-  tmp_environ = g_new0 (char*, tmp_lenviron + 1);
-  for (i = 0; i < tmp_lenviron; i++)
-  {
-      tmp_environ[i] = tmp_strv[i];
-  }
-#if 0
-  g_print ("---- dumping environ ----\n");
-  for (i = 0; i < tmp_lenviron; i++)
-      g_print ("%s\n", tmp_environ [i]);
-  g_print ("---- done ----\n");
-#endif
-
-  /* We don't free the strings, just the array */
-  g_free (tmp_strv);
-  
   event = g_new0 (NewTerminalEvent, 1);
   event->argc = tmp_argc;
   event->argv = tmp_argv;
-  event->environ = tmp_environ;
 
   pending_new_terminal_events = g_slist_append (pending_new_terminal_events,
                                                 event);
@@ -3890,9 +3829,7 @@
 
   if (listener != CORBA_OBJECT_NIL)
     {
-      extern char **environ;
       int i;
-      int lenviron;
       CORBA_any any;
       CORBA_sequence_CORBA_string args;
       CORBA_Environment ev;
@@ -3902,26 +3839,12 @@
       any._type = TC_CORBA_sequence_CORBA_string;
       any._value = &args;
 
-      lenviron = g_strv_length (environ);
-      /* we are packing [environ] END [argv] */
-      args._length = lenviron + argc + 1;
+      args._length = argc;
       args._buffer = g_newa (CORBA_char *, args._length);
 
-      /* copy environ into the buffer */
-      for (i = 0; i < lenviron; i++)
-        args._buffer[i] = environ[i];
-      args._buffer [lenviron] = END_ENVIRON;
-      /* copy argv into the buffer */
-      for (i = lenviron + 1; i < args._length; i++)
-        args._buffer [i] = argv [i - lenviron - 1];
-
-#if 0
-      g_print ("---- dumping array ----\n");
       for (i = 0; i < args._length; i++)
-	      g_print ("%s\n", args._buffer [i]);
-      g_print ("---- done ----\n");
-#endif
-		      
+        args._buffer [i] = argv [i];
+      
       Bonobo_Listener_event (listener, "new_terminal", &any, &ev);
       CORBA_Object_release (listener, &ev);
       if (!BONOBO_EX (&ev))
diff -r -u gnome-terminal-2.13.0/src/terminal.h gnome-terminal-2.13.0.new/src/terminal.h
--- gnome-terminal-2.13.0/src/terminal.h	2005-11-30 23:53:55.000000000 +0200
+++ gnome-terminal-2.13.0.new/src/terminal.h	2005-12-28 14:10:33.000000000 +0200
@@ -54,8 +54,7 @@
                                 double           zoom,
                                 const char      *startup_id,
                                 const char      *display_name,
-                                int              screen_number,
-				char           **env);
+                                int              screen_number);
 
 void terminal_app_manage_profiles (TerminalApp     *app,
                                    GtkWindow       *transient_parent);
diff -r -u gnome-terminal-2.13.0/src/terminal-screen.c gnome-terminal-2.13.0.new/src/terminal-screen.c
--- gnome-terminal-2.13.0/src/terminal-screen.c	2005-12-28 14:09:59.000000000 +0200
+++ gnome-terminal-2.13.0.new/src/terminal-screen.c	2005-12-28 14:10:33.000000000 +0200
@@ -69,7 +69,6 @@
   guint gconf_connection_id;
   GtkWidget *hbox;
   GtkWidget *scrollbar;
-  char **environ;
 };
 
 static GList* used_ids = NULL;
@@ -266,7 +265,6 @@
   if (screen->priv->working_dir == NULL) /* shouldn't ever happen */
     screen->priv->working_dir = g_strdup (g_get_home_dir ());
   screen->priv->child_pid = -1;
-  screen->priv->environ = NULL;
 
   screen->priv->recheck_working_dir_idle = 0;
   
@@ -452,7 +450,6 @@
   g_free (screen->priv->matched_string);
   g_strfreev (screen->priv->override_command);
   g_free (screen->priv->working_dir);
-  g_strfreev (screen->priv->environ);
   
   g_free (screen->priv);
   
@@ -1103,24 +1100,18 @@
   char **p;
   int i;
   char **retval;
-  char **env;
 #define EXTRA_ENV_VARS 7
   
   profile = screen->priv->profile;
-  /* if screen->priv->environ is defined, we should use that instead */
-  if (screen->priv->environ)
-	  env = screen->priv->environ;
-  else
-	  env = environ;
 
   /* count env vars that are set */
-  for (p = env; *p; p++)
+  for (p = environ; *p; p++)
     ;
   
-  i = p - env;
+  i = p - environ;
   retval = g_new (char *, i + 1 + EXTRA_ENV_VARS);
 
-  for (i = 0, p = env; *p; p++)
+  for (i = 0, p = environ; *p; p++)
     {
       /* Strip all these out, we'll replace some of them */
       if ((strncmp (*p, "COLUMNS=", 8) == 0) ||
@@ -1233,7 +1224,7 @@
                              NULL,
                              FALSE, FALSE, FALSE,
                              NULL, NULL, NULL, dir, NULL, 1.0,
-                             NULL, name, -1, NULL);
+                             NULL, name, -1);
 
   g_free (name);
 }
@@ -1252,7 +1243,7 @@
                              NULL,
                              FALSE, FALSE, FALSE,
                              NULL, NULL, NULL, dir, NULL, 1.0,
-                             NULL, NULL, -1, NULL);
+                             NULL, NULL, -1);
 }
 
 static void
@@ -1855,16 +1846,6 @@
   screen->priv->working_dir = g_strdup (dirname);
 }
 
-void
-terminal_screen_set_environ (TerminalScreen *screen,
-                             char          **env)
-{
-  g_return_if_fail (TERMINAL_IS_SCREEN (screen));
-
-  g_free (screen->priv->environ);
-  screen->priv->environ = g_strdupv (env);
-}
-
 const char*
 terminal_screen_get_working_dir (TerminalScreen *screen)
 {
Only in gnome-terminal-2.13.0.new/src: terminal-screen.c.orig
diff -r -u gnome-terminal-2.13.0/src/terminal-screen.h gnome-terminal-2.13.0.new/src/terminal-screen.h
--- gnome-terminal-2.13.0/src/terminal-screen.h	2005-11-30 23:53:55.000000000 +0200
+++ gnome-terminal-2.13.0.new/src/terminal-screen.h	2005-12-28 14:10:33.000000000 +0200
@@ -106,8 +106,6 @@
 
 void        terminal_screen_set_working_dir   (TerminalScreen *screen,
                                                const char     *dirname);
-void        terminal_screen_set_environ       (TerminalScreen *screen,
-                                               char          **env);
 const char *terminal_screen_get_working_dir   (TerminalScreen *screen);
 
 void        terminal_screen_set_font_scale    (TerminalScreen *screen,
diff -r -u gnome-terminal-2.13.0/src/terminal-window.c gnome-terminal-2.13.0.new/src/terminal-window.c
--- gnome-terminal-2.13.0/src/terminal-window.c	2005-12-01 00:03:02.000000000 +0200
+++ gnome-terminal-2.13.0.new/src/terminal-window.c	2005-12-28 14:10:33.000000000 +0200
@@ -2215,7 +2215,7 @@
                              screen,
                              FALSE, FALSE, FALSE,
                              NULL, NULL, NULL, dir, NULL, 1.0,
-                             NULL, name, -1, NULL);
+                             NULL, name, -1);
 }
 
 static void
@@ -2241,7 +2241,7 @@
                                  NULL,
                                  FALSE, FALSE, FALSE,
                                  NULL, NULL, NULL, dir, NULL, 1.0,
-                                 NULL, NULL, -1, NULL);
+                                 NULL, NULL, -1);
     }
 }
 
Only in gnome-terminal-2.13.0.new/src: terminal-window.c.orig


Index: gnome-terminal.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-terminal/devel/gnome-terminal.spec,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- gnome-terminal.spec	15 Dec 2005 14:39:10 -0000	1.23
+++ gnome-terminal.spec	5 Jan 2006 19:43:13 -0000	1.24
@@ -13,11 +13,12 @@
 Summary: GNOME Terminal
 Name: gnome-terminal
 Version: 2.13.0
-Release: 1
+Release: 2
 URL: http://www.gnome.org/
 Source0: gnome-terminal-%{version}.tar.bz2
 Source1: ne.po
 Patch0: gnome-terminal-2.12.0-inputmethod.patch
+Patch1: gnome-terminal-2.13.0-revert-98715.patch
 License: GPL 
 Group: User Interface/Desktops
 
@@ -53,6 +54,7 @@
 %setup -q
 cp ${RPM_SOURCE_DIR}/ne.po po
 %patch0 -p1 -b .inputmethod
+%patch1 -p1 -b .revert-98715
 
 %build
 
@@ -102,6 +104,9 @@
 %{_datadir}/application-registry/gnome-terminal.applications
 
 %changelog
+* Thu Jan  4 2006 Christopher Aillon <caillon at redhat.com> 2.13.0-2
+- Revert patch from gnome bug 98715 to fix 176029, 176642
+
 * Thu Dec 15 2005 Matthias Clasen <mclasen at redhat.com> 2.13.0-1
 - Update to 2.13.0
 




More information about the fedora-cvs-commits mailing list