Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/libgnome/ChangeLog,v
retrieving revision 1.321
diff -u -p -r1.321 ChangeLog
--- ChangeLog	11 Jul 2003 19:49:09 -0000	1.321
+++ ChangeLog	14 Jul 2003 21:59:08 -0000
@@ -1,3 +1,11 @@
+2003-07-14  Gustavo J. A. M. Carneiro  <gustavo@users.sourceforge.net>
+
+	* libgnome/gnome-program.c (gnome_program_initv): Don't create new
+	pointer arrays for program_module_list and program_modules if such
+	arrays already exist, which may happen if
+	gnome_program_module_register() has been called directly by the
+	programmer.
+
 2003-07-11  Dennis Cranston <dennis_cranston at yahoo com>
 
 	Fixes for ui-review bug number 99533.
Index: libgnome/gnome-program.c
===================================================================
RCS file: /cvs/gnome/libgnome/libgnome/gnome-program.c,v
retrieving revision 1.61
diff -u -p -r1.61 gnome-program.c
--- libgnome/gnome-program.c	10 Jul 2003 18:33:28 -0000	1.61
+++ libgnome/gnome-program.c	14 Jul 2003 21:59:20 -0000
@@ -1727,12 +1727,14 @@ gnome_program_initv (GType type,
 	const char *ctmp;
 	const GnomeModuleInfo *libgnome_module;
 
-	program_module_list = g_ptr_array_new ();
-	program_modules = g_ptr_array_new ();
-
-	/* keep array NULL terminated */
-	g_ptr_array_add (program_modules, NULL);
-
+	if (!program_module_list)
+	    program_module_list = g_ptr_array_new ();
+	
+	if (!program_modules) {
+	    program_modules = g_ptr_array_new ();
+	      /* keep array NULL terminated */
+	    g_ptr_array_add (program_modules, NULL);
+	}
 	/* Register the requested modules. */
 	gnome_program_module_register (module_info);
 
