Mercurial > pidgin
changeset 20934:6739d93f95c1
Fix reference leak of AtkObjects. Prevent an unnecessary allocation in pidgin_check_if_dir().
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Sun, 14 Oct 2007 23:26:52 +0000 |
parents | 999b77dcb63f |
children | 1d9d5de48b9e |
files | pidgin/gtkutils.c |
diffstat | 1 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/pidgin/gtkutils.c Sun Oct 14 22:48:52 2007 +0000 +++ b/pidgin/gtkutils.c Sun Oct 14 23:26:52 2007 +0000 @@ -850,16 +850,14 @@ gboolean pidgin_check_if_dir(const char *path, GtkFileSelection *filesel) { - char *dirname; + char *dirname = NULL; if (g_file_test(path, G_FILE_TEST_IS_DIR)) { /* append a / if needed */ if (path[strlen(path) - 1] != G_DIR_SEPARATOR) { dirname = g_strconcat(path, G_DIR_SEPARATOR_S, NULL); - } else { - dirname = g_strdup(path); } - gtk_file_selection_set_filename(filesel, dirname); + gtk_file_selection_set_filename(filesel, (dirname != NULL) ? dirname : path); g_free(dirname); return TRUE; } @@ -1178,14 +1176,15 @@ label = gtk_widget_get_accessible (l); /* Make sure mnemonics work */ - gtk_label_set_mnemonic_widget(GTK_LABEL(l), w); - + gtk_label_set_mnemonic_widget(GTK_LABEL(l), w); + /* Create the labeled-by relation */ set = atk_object_ref_relation_set (acc); rel_obj[0] = label; relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABELLED_BY); atk_relation_set_add (set, relation); g_object_unref (relation); + g_object_unref(set); /* Create the label-for relation */ set = atk_object_ref_relation_set (label); @@ -1193,6 +1192,7 @@ relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (set, relation); g_object_unref (relation); + g_object_unref(set); } void