Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 0e03bc630d016505848cbf2f0b4dbd92 > files > 2

ristretto-0.0.20-5mdv2008.1.src.rpm

diff -Naur ristretto-0.0.20/src/main_window.c ristretto-0.0.20.tpg/src/main_window.c
--- ristretto-0.0.20/src/main_window.c	2008-05-24 13:03:46.000000000 +0000
+++ ristretto-0.0.20.tpg/src/main_window.c	2008-11-08 15:02:11.000000000 +0000
@@ -443,7 +443,6 @@
 
         g_snprintf(selection_name, 100, XFDESKTOP_SELECTION_FMT, xscreen);
 
-        Window root_window = GDK_ROOT_WINDOW();
         Atom xfce_desktop_atom = XInternAtom (gdk_display, "XFCE_DESKTOP_WINDOW", False);
         Atom xfce_selection_atom = XInternAtom (gdk_display, selection_name, False);
         XGetWindowProperty (gdk_display, 
@@ -1219,6 +1218,7 @@
                 }
                 g_free(image_path_prop);
                 g_free(image_show_prop);
+                g_free(image_style_prop);
                 g_object_unref(xfdesktop_channel);
             }
             break;
diff -Naur ristretto-0.0.20/src/navigator.c ristretto-0.0.20.tpg/src/navigator.c
--- ristretto-0.0.20/src/navigator.c	2008-05-06 21:12:22.000000000 +0000
+++ ristretto-0.0.20.tpg/src/navigator.c	2008-11-08 15:02:11.000000000 +0000
@@ -1023,6 +1023,11 @@
     }
     if ((entry->loader == NULL) && ((empty_cache == TRUE ) || entry->src_pixbuf == NULL))
     {
+        if (entry->src_pixbuf)
+        {
+            gdk_pixbuf_unref(entry->src_pixbuf);
+            entry->src_pixbuf = NULL;
+        }
         entry->loader = gdk_pixbuf_loader_new();
 
         g_signal_connect(entry->loader, "area-prepared", G_CALLBACK(cb_rstto_navigator_entry_area_prepared), entry);
@@ -1138,14 +1143,14 @@
 static void
 cb_rstto_navigator_entry_closed (GdkPixbufLoader *loader, RsttoNavigatorEntry *entry)
 {
+    GdkPixbuf *pixbuf = NULL;
+
     if (entry->src_pixbuf)
     {
         gdk_pixbuf_unref(entry->src_pixbuf);
         entry->src_pixbuf = NULL;
     }
 
-    GdkPixbuf *pixbuf = NULL;
-
     if (entry->iter)
     {
         pixbuf = gdk_pixbuf_animation_iter_get_pixbuf(entry->iter);
@@ -1168,11 +1173,14 @@
     if (pixbuf != NULL)
     {
         entry->src_pixbuf = gdk_pixbuf_rotate_simple(pixbuf, rstto_navigator_entry_get_rotation(entry));
+        gdk_pixbuf_unref(pixbuf);
+        pixbuf = NULL;
         if (rstto_navigator_entry_get_flip(entry, FALSE))
         {
             pixbuf = entry->src_pixbuf;
             entry->src_pixbuf = gdk_pixbuf_flip(pixbuf, FALSE);
             gdk_pixbuf_unref(pixbuf);
+            pixbuf = NULL;
         }
 
         if (rstto_navigator_entry_get_flip(entry, TRUE))
@@ -1180,6 +1188,7 @@
             pixbuf = entry->src_pixbuf;
             entry->src_pixbuf = gdk_pixbuf_flip(pixbuf, TRUE);
             gdk_pixbuf_unref(pixbuf);
+            pixbuf = NULL;
         }
         g_signal_emit(G_OBJECT(entry->navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED], 0, entry, NULL);
     }