fix memory leaks

2007-05-09  Jens Granseuer  <jensgr@gmx.net>

	* gnome-theme-info.c: (gnome_theme_read_meta_theme):
	* gtkrc-utils.c: (gtkrc_find_named), (gtkrc_get_color_scheme): fix
	memory leaks

	* gnome-theme-test.c: (main): init g_thread

svn path=/trunk/; revision=7589
This commit is contained in:
Jens Granseuer 2007-05-09 19:48:03 +00:00 committed by Jens Granseuer
parent d3cad0bcbe
commit 60bf46d133
4 changed files with 23 additions and 9 deletions

View file

@ -1,3 +1,11 @@
2007-05-09 Jens Granseuer <jensgr@gmx.net>
* gnome-theme-info.c: (gnome_theme_read_meta_theme):
* gtkrc-utils.c: (gtkrc_find_named), (gtkrc_get_color_scheme): fix
memory leaks
* gnome-theme-test.c: (main): init g_thread
2007-05-09 Jens Granseuer <jensgr@gmx.net> 2007-05-09 Jens Granseuer <jensgr@gmx.net>
* gconf-property-editor.c: (gconf_peditor_new), * gconf-property-editor.c: (gconf_peditor_new),

View file

@ -308,6 +308,7 @@ gnome_theme_read_meta_theme (GnomeVFSURI *meta_theme_uri)
GnomeDesktopItem *meta_theme_ditem; GnomeDesktopItem *meta_theme_ditem;
gchar *meta_theme_file; gchar *meta_theme_file;
const gchar *str; const gchar *str;
gchar *scheme;
meta_theme_file = gnome_vfs_uri_to_string (meta_theme_uri, GNOME_VFS_URI_HIDE_NONE); meta_theme_file = gnome_vfs_uri_to_string (meta_theme_uri, GNOME_VFS_URI_HIDE_NONE);
meta_theme_ditem = gnome_desktop_item_new_from_uri (meta_theme_file, 0, NULL); meta_theme_ditem = gnome_desktop_item_new_from_uri (meta_theme_file, 0, NULL);
@ -361,17 +362,21 @@ gnome_theme_read_meta_theme (GnomeVFSURI *meta_theme_uri)
gchar *gtkrc_file = gtkrc_find_named (meta_theme_info->gtk_theme_name); gchar *gtkrc_file = gtkrc_find_named (meta_theme_info->gtk_theme_name);
if (gtkrc_file) if (gtkrc_file)
{ {
str = gtkrc_get_color_scheme (gtkrc_file); scheme = gtkrc_get_color_scheme (gtkrc_file);
g_free (gtkrc_file); g_free (gtkrc_file);
} }
else
scheme = NULL;
} }
if (str != NULL) else
scheme = g_strdup (str);
if (scheme != NULL)
{ {
gchar *a; meta_theme_info->gtk_color_scheme = scheme;
meta_theme_info->gtk_color_scheme = g_strdup (str); for (; *scheme != '\0'; scheme++)
for (a = meta_theme_info->gtk_color_scheme; *a != '\0'; a++) if (*scheme == ',')
if (*a == ',') *scheme = '\n';
*a = '\n';
} }
str = gnome_desktop_item_get_string (meta_theme_ditem, METACITY_THEME_KEY); str = gnome_desktop_item_get_string (meta_theme_ditem, METACITY_THEME_KEY);

View file

@ -13,6 +13,7 @@ main (int argc, char *argv[])
gboolean monitor_not_added = FALSE; gboolean monitor_not_added = FALSE;
GList *themes, *list; GList *themes, *list;
g_thread_init (NULL);
gtk_init (&argc, &argv); gtk_init (&argc, &argv);
gnome_vfs_init (); gnome_vfs_init ();
gnome_theme_init (&monitor_not_added); gnome_theme_init (&monitor_not_added);

View file

@ -21,8 +21,7 @@ gtkrc_find_named (const gchar *name)
*/ */
gchar *path = NULL; gchar *path = NULL;
const gchar *home_dir; const gchar *home_dir;
gchar *subpath; const gchar *subpath = "gtk-2.0" G_DIR_SEPARATOR_S "gtkrc";
subpath = g_strdup ("gtk-2.0" G_DIR_SEPARATOR_S "gtkrc");
/* First look in the users home directory /* First look in the users home directory
*/ */
@ -190,6 +189,7 @@ gtkrc_get_color_scheme (gchar *filename)
} }
} }
} }
g_scanner_destroy (scanner);
return result; return result;
} }