SF.net SVN: geany-plugins:[2279] trunk/geany-plugins/addons/src
colombanw at users.sourceforge.net
colombanw at xxxxx
Fri Oct 14 00:38:54 UTC 2011
Revision: 2279
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=2279&view=rev
Author: colombanw
Date: 2011-10-14 00:38:54 +0000 (Fri, 14 Oct 2011)
Log Message:
-----------
Addons: plug a few memory leaks
Modified Paths:
--------------
trunk/geany-plugins/addons/src/addons.c
trunk/geany-plugins/addons/src/ao_systray.c
trunk/geany-plugins/addons/src/ao_tasks.c
Modified: trunk/geany-plugins/addons/src/addons.c
===================================================================
--- trunk/geany-plugins/addons/src/addons.c 2011-10-14 00:38:32 UTC (rev 2278)
+++ trunk/geany-plugins/addons/src/addons.c 2011-10-14 00:38:54 UTC (rev 2279)
@@ -294,6 +294,8 @@
0, 0, "update_tasks", _("Update Tasks List"), NULL);
keybindings_set_item(key_group, KB_XMLTAGGING, kb_ao_xmltagging,
0, 0, "xml_tagging", _("Run XML tagging"), NULL);
+
+ g_key_file_free(config);
}
Modified: trunk/geany-plugins/addons/src/ao_systray.c
===================================================================
--- trunk/geany-plugins/addons/src/ao_systray.c 2011-10-14 00:38:32 UTC (rev 2278)
+++ trunk/geany-plugins/addons/src/ao_systray.c 2011-10-14 00:38:54 UTC (rev 2279)
@@ -72,7 +72,7 @@
AoSystrayPrivate *priv = AO_SYSTRAY_GET_PRIVATE(object);
g_object_unref(priv->icon);
- gtk_widget_destroy(priv->popup_menu);
+ g_object_unref(priv->popup_menu);
#endif
G_OBJECT_CLASS(ao_systray_parent_class)->finalize(object);
@@ -197,6 +197,7 @@
#endif
priv->popup_menu = gtk_menu_new();
+ g_object_ref_sink(priv->popup_menu);
item = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL);
gtk_widget_show(item);
Modified: trunk/geany-plugins/addons/src/ao_tasks.c
===================================================================
--- trunk/geany-plugins/addons/src/ao_tasks.c 2011-10-14 00:38:32 UTC (rev 2278)
+++ trunk/geany-plugins/addons/src/ao_tasks.c 2011-10-14 00:38:54 UTC (rev 2279)
@@ -294,7 +294,7 @@
}
if (priv->popup_menu)
{
- gtk_widget_destroy(priv->popup_menu);
+ g_object_unref(priv->popup_menu);
priv->popup_menu = NULL;
}
}
@@ -478,6 +478,7 @@
gtk_label_new(_("Tasks")));
priv->popup_menu = create_popup_menu(t);
+ g_object_ref_sink(priv->popup_menu);
}
@@ -508,22 +509,23 @@
if (gtk_tree_model_get_iter_first(model, &iter))
{
- while (TRUE)
+ gboolean has_next;
+
+ do
{
gtk_tree_model_get(model, &iter, TLIST_COL_FILENAME, &filename, -1);
if (utils_str_equal(filename, cur_doc->file_name))
{ /* gtk_list_store_remove() manages the iter and set it to the next row */
- if (! gtk_list_store_remove(priv->store, &iter))
- break;
+ has_next = gtk_list_store_remove(priv->store, &iter);
}
else
{ /* if we didn't delete the row, we need to manage the iter manually */
- if (! gtk_tree_model_iter_next(model, &iter))
- break;
+ has_next = gtk_tree_model_iter_next(model, &iter);
}
g_free(filename);
}
+ while (has_next);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list