[Xfce4-commits] <xfce4-panel:devel> Plug leak and fix error in directorymenu plugin.
Nick Schermer
noreply at xfce.org
Sun Feb 14 13:42:01 CET 2010
Updating branch refs/heads/devel
to 0f249074e9a61777bb0fc137bd40216413e1c808 (commit)
from 77b5cabf883af7dd440b5082bc96d4d5c845678f (commit)
commit 0f249074e9a61777bb0fc137bd40216413e1c808
Author: Nick Schermer <nick at xfce.org>
Date: Sun Feb 14 13:40:22 2010 +0100
Plug leak and fix error in directorymenu plugin.
plugins/directorymenu/directorymenu.c | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/plugins/directorymenu/directorymenu.c b/plugins/directorymenu/directorymenu.c
index 97ebf7e..bb5f898 100644
--- a/plugins/directorymenu/directorymenu.c
+++ b/plugins/directorymenu/directorymenu.c
@@ -715,13 +715,19 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
/* skip hidden files if disabled by the user */
if (!plugin->hidden_files
&& g_file_info_get_is_hidden (info))
- continue;
+ {
+ g_object_unref (G_OBJECT (info));
+ continue;
+ }
/* if the file is not a directory, check the file patterns */
if (g_file_info_get_file_type (info) != G_FILE_TYPE_DIRECTORY)
{
if (plugin->patterns == NULL)
- continue;
+ {
+ g_object_unref (G_OBJECT (info));
+ continue;
+ }
visible = FALSE;
display_name = g_file_info_get_display_name (info);
@@ -731,12 +737,17 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
visible = TRUE;
if (!visible)
- continue;
+ {
+ g_object_unref (G_OBJECT (info));
+ continue;
+ }
}
infos = g_slist_insert_sorted (infos, info, directory_menu_plugin_menu_sort);
}
+ g_object_unref (G_OBJECT (iter));
+
if (G_LIKELY (infos != NULL))
{
mi = gtk_separator_menu_item_new ();
@@ -751,7 +762,10 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
display_name = g_file_info_get_display_name (info);
if (G_UNLIKELY (display_name == NULL))
- continue;
+ {
+ g_object_unref (G_OBJECT (info));
+ continue;
+ }
file = g_file_get_child (dir, g_file_info_get_name (info));
icon = NULL;
@@ -809,7 +823,7 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
g_signal_connect_data (G_OBJECT (mi), "activate",
G_CALLBACK (directory_menu_plugin_menu_launch_desktop_file),
- desktopinfom (GClosureNotify) g_object_unref, 0);
+ desktopinfo, (GClosureNotify) g_object_unref, 0);
g_object_unref (G_OBJECT (file));
}
@@ -820,10 +834,11 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
G_CALLBACK (directory_menu_plugin_menu_launch), file,
(GClosureNotify) g_object_unref, 0);
}
+
+ g_object_unref (G_OBJECT (info));
}
g_slist_free (infos);
- g_object_unref (G_OBJECT (iter));
}
}
More information about the Xfce4-commits
mailing list