[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