[Goodies-commits] r3828 - ristretto/trunk/src

Stephan Arts stephan at xfce.org
Sun Jan 20 14:16:34 CET 2008


Author: stephan
Date: 2008-01-20 13:16:34 +0000 (Sun, 20 Jan 2008)
New Revision: 3828

Modified:
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/thumbnail.c
Log:
fix segfault



Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2008-01-19 21:02:25 UTC (rev 3827)
+++ ristretto/trunk/src/navigator.c	2008-01-20 13:16:34 UTC (rev 3828)
@@ -535,8 +535,10 @@
             if(!navigator->file_iter)
                 navigator->file_iter = g_list_first(navigator->file_list);
 
+            /* Ehm... an item can exist several times inside the history? */
             if (navigator->history)
-                navigator->history = g_list_remove(navigator->history, entry);
+                navigator->history = g_list_remove_all(navigator->history, entry);
+
             g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_REMOVED], 0, entry, NULL);
             if(g_list_length(navigator->file_list) == 0)
             {

Modified: ristretto/trunk/src/thumbnail.c
===================================================================
--- ristretto/trunk/src/thumbnail.c	2008-01-19 21:02:25 UTC (rev 3827)
+++ ristretto/trunk/src/thumbnail.c	2008-01-20 13:16:34 UTC (rev 3828)
@@ -149,14 +149,19 @@
 rstto_thumbnail_finalize(GObject *object)
 {
     RsttoThumbnail *thumb = RSTTO_THUMBNAIL(object);
-    GSList *group = g_slist_remove(thumb->priv->group, thumb);
-    GSList *iter = group;
 
-    while(iter)
+    if (thumb->priv->entry)
     {
-        RsttoThumbnail *thumb_iter = iter->data;
-        thumb_iter->priv->group = group;
-        iter = g_slist_next(iter);
+        GSList *group = g_slist_remove(thumb->priv->group, thumb);
+        GSList *iter = group;
+
+        while(iter)
+        {
+            RsttoThumbnail *thumb_iter = iter->data;
+            thumb_iter->priv->group = group;
+            iter = g_slist_next(iter);
+        }
+        thumb->priv->entry = NULL;
     }
 }
 
@@ -324,9 +329,6 @@
 
     if (toggled == TRUE)
     {
-        ThunarVfsInfo *info = rstto_navigator_entry_get_info(thumb->priv->entry);
-        gchar *path = thunar_vfs_path_dup_string(info->path);
-        g_debug("%s", path);
         gtk_widget_queue_draw (GTK_WIDGET (thumb));
         gtk_toggle_button_toggled(toggle_button);
         g_object_notify (G_OBJECT (toggle_button), "active");




More information about the Goodies-commits mailing list