Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/common/ChangeLog,v
retrieving revision 1.123
diff -u -p -r1.123 ChangeLog
--- ChangeLog	14 Oct 2004 19:05:36 -0000	1.123
+++ ChangeLog	27 Jan 2005 15:29:35 -0000
@@ -1,3 +1,9 @@
+2005-01-27  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* gnome-theme-info.c: (top_theme_dir_changed),
+	(top_icon_theme_dir_changed), (real_add_top_theme_dir_monitor):
+	Merge fix for bug #149236.
+
 2004-10-14  Jody Goldberg <jody@gnome.org>
 
 	* Release 2.8.1
Index: gnome-theme-info.c
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/common/gnome-theme-info.c,v
retrieving revision 1.14
diff -u -p -r1.14 gnome-theme-info.c
--- gnome-theme-info.c	1 May 2003 14:31:33 -0000	1.14
+++ gnome-theme-info.c	27 Jan 2005 15:29:36 -0000
@@ -527,7 +527,7 @@ update_theme_index (GnomeVFSURI       *i
 	    theme_info->has_metacity = TRUE;
 
 	  g_hash_table_insert (theme_hash_by_uri, g_strdup (common_theme_dir), theme_info);
-	  add_data_to_hash_by_name (theme_hash_by_name, theme_info->name, theme_info);
+	  add_data_to_hash_by_name (theme_hash_by_name, g_strdup (theme_info->name), theme_info);
 	  handle_change_signal (GNOME_THEME_TYPE_REGULAR, theme_info, GNOME_THEME_CHANGE_CREATED, key_element);
 	}
     }
@@ -953,7 +953,6 @@ top_theme_dir_changed (GnomeVFSMonitorHa
 	  g_hash_table_remove (handle_hash, name);
 	  g_free (monitor_data);
 	}
-      g_free (name);
     }
   gnome_vfs_uri_unref (common_theme_dir_uri);
 }
@@ -1005,7 +1004,6 @@ top_icon_theme_dir_changed (GnomeVFSMoni
 	  g_hash_table_remove (handle_hash, name);
 	  g_free (monitor_data);
 	}
-      g_free (name);
     }
   gnome_vfs_uri_unref (common_icon_theme_dir_uri);
 }
@@ -1187,7 +1185,7 @@ real_add_top_theme_dir_monitor (GnomeVFS
    * use it to remove the monitor handles when a dir is removed.
    */
   tuple = g_new0 (CallbackTuple, 1);
-  tuple->handle_hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify)g_free, NULL);
+  tuple->handle_hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify)g_free, (GDestroyNotify)g_free);
   tuple->priority = priority;
 
   /* Check the URI */
