[Goodies-commits] r2697 - in xfce4-places-plugin/trunk: . panel-plugin
Diego Ongaro
ongardie at xfce.org
Sat Apr 21 05:53:15 CEST 2007
Author: ongardie
Date: 2007-04-21 03:53:15 +0000 (Sat, 21 Apr 2007)
New Revision: 2697
Modified:
xfce4-places-plugin/trunk/ChangeLog
xfce4-places-plugin/trunk/TODO
xfce4-places-plugin/trunk/panel-plugin/model.c
xfce4-places-plugin/trunk/panel-plugin/model_system.c
xfce4-places-plugin/trunk/panel-plugin/model_user.c
xfce4-places-plugin/trunk/panel-plugin/model_volumes.c
Log:
2007-04-20 Diego Ongaro <ongardie at gmail.com>
* model*.c: Better memory management.
* TODO: Updated.
Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog 2007-04-20 22:47:49 UTC (rev 2696)
+++ xfce4-places-plugin/trunk/ChangeLog 2007-04-21 03:53:15 UTC (rev 2697)
@@ -1,13 +1,15 @@
2007-04-20 Diego Ongaro <ongardie at gmail.com>
- * Created script to take translations from thunar, gnome-panel
- * model*.c: Added include for config.h for i18n, DBG
+ * scripts/: Created script to take translations from thunar, gnome-panel.
+ * model*.c: Added include for config.h for i18n, DBG.
+ Better memory management.
* view.c: Disabled Recent Documents for gtk < v2.10.
Replaced gtk_image_clear() call since it's new in gtk v2.8.
Now using g_object_ref_sink() and g_object_unref() on tooltips.
Connects menu deactivate signal only once per menu.
Registers menu with panel before every popup.
Got rid of final TODOs regarding xfdesktop's code.
+ * TODO: Updated.
2007-04-14 Diego Ongaro <ongardie at gmail.com>
Modified: xfce4-places-plugin/trunk/TODO
===================================================================
--- xfce4-places-plugin/trunk/TODO 2007-04-20 22:47:49 UTC (rev 2696)
+++ xfce4-places-plugin/trunk/TODO 2007-04-21 03:53:15 UTC (rev 2697)
@@ -1,2 +1 @@
-Fix bugs
-Support for volumes, recent documents, log out
+use less resources
Modified: xfce4-places-plugin/trunk/panel-plugin/model.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model.c 2007-04-20 22:47:49 UTC (rev 2696)
+++ xfce4-places-plugin/trunk/panel-plugin/model.c 2007-04-21 03:53:15 UTC (rev 2697)
@@ -76,8 +76,14 @@
places_bookmarks_finalize(Bookmarks *b)
{
places_bookmarks_system_finalize(b->system);
+ b->system = NULL;
+
places_bookmarks_volumes_finalize(b->volumes);
+ b->volumes = NULL;
+
places_bookmarks_user_finalize(b->user);
+ b->user = NULL;
+
g_free(b);
}
Modified: xfce4-places-plugin/trunk/panel-plugin/model_system.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_system.c 2007-04-20 22:47:49 UTC (rev 2696)
+++ xfce4-places-plugin/trunk/panel-plugin/model_system.c 2007-04-21 03:53:15 UTC (rev 2697)
@@ -50,16 +50,16 @@
bookmark = g_new0(BookmarkInfo, 1);
bookmark->label = g_strdup(g_get_user_name());
bookmark->uri = g_strdup(home_dir);
- bookmark->icon = "gnome-fs-home";
+ bookmark->icon = g_strdup("gnome-fs-home");
bookmark->show = TRUE;
bookmark->bookmarks_system_check_existence = NULL;
g_ptr_array_add(b->bookmarks, bookmark);
// Trash
bookmark = g_new0(BookmarkInfo, 1);
- bookmark->label = _("Trash");
- bookmark->uri = "trash:///";
- bookmark->icon = "gnome-fs-trash-full";
+ bookmark->label = g_strdup(_("Trash"));
+ bookmark->uri = g_strdup("trash:///");
+ bookmark->icon = g_strdup("gnome-fs-trash-full");
bookmark->show = TRUE;
bookmark->bookmarks_system_check_existence = NULL;
g_ptr_array_add(b->bookmarks, bookmark);
@@ -67,17 +67,17 @@
// Desktop
bookmark = g_new0(BookmarkInfo, 1);
bookmark->uri = g_build_filename(home_dir, "Desktop", NULL);
- bookmark->label = _("Desktop");
- bookmark->icon = "gnome-fs-desktop";
+ bookmark->label = g_strdup(_("Desktop"));
+ bookmark->icon = g_strdup("gnome-fs-desktop");
bookmark->show = g_file_test(bookmark->uri, G_FILE_TEST_IS_DIR);
bookmark->bookmarks_system_check_existence = (gpointer) 1;
g_ptr_array_add(b->bookmarks, bookmark);
// File System (/)
bookmark = g_new0(BookmarkInfo, 1);
- bookmark->label = _("File System");
- bookmark->uri = "/";
- bookmark->icon = "gnome-dev-harddisk";
+ bookmark->label = g_strdup(_("File System"));
+ bookmark->uri = g_strdup("/");
+ bookmark->icon = g_strdup("gnome-dev-harddisk");
bookmark->show = TRUE;
bookmark->bookmarks_system_check_existence = NULL;
g_ptr_array_add(b->bookmarks, bookmark);
Modified: xfce4-places-plugin/trunk/panel-plugin/model_user.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_user.c 2007-04-20 22:47:49 UTC (rev 2696)
+++ xfce4-places-plugin/trunk/panel-plugin/model_user.c 2007-04-21 03:53:15 UTC (rev 2697)
@@ -183,9 +183,14 @@
places_bookmarks_user_finalize(BookmarksUser *b)
{
g_ptr_array_free(b->bookmarks, TRUE);
+ b->bookmarks = NULL;
+
g_free(b->filename);
+ b->filename = NULL;
+
+ b->system = NULL;
+
g_free(b);
}
-
// vim: ai et tabstop=4
Modified: xfce4-places-plugin/trunk/panel-plugin/model_volumes.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_volumes.c 2007-04-20 22:47:49 UTC (rev 2696)
+++ xfce4-places-plugin/trunk/panel-plugin/model_volumes.c 2007-04-21 03:53:15 UTC (rev 2697)
@@ -49,13 +49,15 @@
DBG("volume changed");
// unfortunately there tends to be like 3 of these in a row
+ BookmarkInfo *bi;
+ GList *volumes;
guint k;
if(places_bookmarks_volumes_show_volume(volume)){
// make sure it's in the array
for(k = 0; k < b->bookmarks->len; k++){
- BookmarkInfo *bi = g_ptr_array_index(b->bookmarks, k);
+ bi = g_ptr_array_index(b->bookmarks, k);
if(THUNAR_VFS_VOLUME(bi->data) == volume)
break;
}
@@ -63,7 +65,9 @@
if(k == b->bookmarks->len){ // it's not there
DBG("adding volume to array");
- places_bookmarks_volumes_add(b, g_list_prepend(NULL, volume));
+ volumes = g_list_prepend(NULL, volume);
+ places_bookmarks_volumes_add(b, volumes);
+ g_list_free(volumes);
b->changed = TRUE;
}else{
DBG("volume already in array");
@@ -72,12 +76,13 @@
}else{
// make sure it's not in the array
for(k = 0; k < b->bookmarks->len; k++){
- BookmarkInfo *bi = g_ptr_array_index(b->bookmarks, k);
+ bi = g_ptr_array_index(b->bookmarks, k);
if(THUNAR_VFS_VOLUME(bi->data) == volume){ // it is there
DBG("dropping volume from array");
bi = g_ptr_array_remove_index(b->bookmarks, k);
g_object_unref(bi->data);
+ bi->data = NULL;
g_free(bi);
b->changed = TRUE;
@@ -103,12 +108,13 @@
{
DBG("volumes removed");
+ BookmarkInfo *bi;
GList *vol_iter;
guint k;
// step through existing bookmarks
for(k = 0; k < b->bookmarks->len; k++){
- BookmarkInfo *bi = g_ptr_array_index(b->bookmarks, k);
+ bi = g_ptr_array_index(b->bookmarks, k);
// step through removals
vol_iter = (GList*) volumes;
@@ -119,11 +125,14 @@
bi = g_ptr_array_remove_index(b->bookmarks, k);
DBG("Removing bookmark %s", bi->label);
- if(bi->data)
+ if(bi->data != NULL){
g_object_unref(bi->data);
+ bi->data = NULL;
+ }
g_free(bi);
b->changed = TRUE;
+ break;
}
vol_iter = vol_iter->next;
@@ -206,17 +215,25 @@
void
places_bookmarks_volumes_finalize(BookmarksVolumes *b)
{
+ BookmarkInfo *bi;
guint k;
for(k = 0; k < b->bookmarks->len; k++){
- BookmarkInfo *bi = g_ptr_array_remove_index(b->bookmarks, k);
- if(bi->data != NULL)
+ bi = g_ptr_array_remove_index(b->bookmarks, k);
+ if(bi->data != NULL){
g_object_unref(bi->data);
+ bi->data = NULL;
+ }
+ g_free(bi);
}
+
g_object_unref(b->volume_manager);
+ b->volume_manager = NULL;
thunar_vfs_shutdown();
g_ptr_array_free(b->bookmarks, TRUE);
+ b->bookmarks = NULL;
+
g_free(b);
}
More information about the Goodies-commits
mailing list