Hi,
I recently uploaded ristretto 0.0.20-3 which includes a patch from
upstream fixing a huge memory leak when using “autorefresh” feature.
Debdiff attached, change is:
ristretto (0.0.20-3) unstable;
urgency=low
[ Stefan Ott ]
* debian/control: update e-mail address
[ Yves-Alexis Perez ]
* debian/patches:
- 01_plug-memleak added, fixes a huge memleak when using autoreload.
(r4842, Xfce4 #4508)
* debian/rules:
- add simple-patchsys rule.
-- Yves-Alexis Perez <corsac@debian.org> Tue, 04 Nov 2008 08:16:23
+0100
Thanks,
--
Yves-Alexis
Differences in ristretto between 0.0.20-2 and 0.0.20-3
diff -u ristretto-0.0.20/debian/rules ristretto-0.0.20/debian/rules
--- ristretto-0.0.20/debian/rules
+++ ristretto-0.0.20/debian/rules
@@ -1,5 +1,6 @@
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/simple-patchsys.mk
include /usr/share/cdbs/1/class/autotools.mk
DEB_INSTALL_MANPAGES_ristretto := debian/ristretto.1
diff -u ristretto-0.0.20/debian/changelog ristretto-0.0.20/debian/changelog
--- ristretto-0.0.20/debian/changelog
+++ ristretto-0.0.20/debian/changelog
@@ -1,3 +1,17 @@
+ristretto (0.0.20-3) unstable; urgency=low
+
+ [ Stefan Ott ]
+ * debian/control: update e-mail address
+
+ [ Yves-Alexis Perez ]
+ * debian/patches:
+ - 01_plug-memleak added, fixes a huge memleak when using autoreload.
+ (r4842, Xfce4 #4508)
+ * debian/rules:
+ - add simple-patchsys rule.
+
+ -- Yves-Alexis Perez <corsac@debian.org> Tue, 04 Nov 2008 08:16:23 +0100
+
ristretto (0.0.20-2) unstable; urgency=low
* debian/rules: call dh_desktop so mime desktop database gets updated.
diff -u ristretto-0.0.20/debian/control ristretto-0.0.20/debian/control
--- ristretto-0.0.20/debian/control
+++ ristretto-0.0.20/debian/control
@@ -2,7 +2,7 @@
Section: x11
Priority: optional
Maintainer: Debian Xfce Maintainers <pkg-xfce-devel@lists.alioth.debian.org>
-Uploaders: Emanuele Rocca <ema@debian.org>, Simon Huggins <huggie@earth.li>, Stefan Ott <stefan@desire.ch>, Yves-Alexis Perez <corsac@debian.org>
+Uploaders: Emanuele Rocca <ema@debian.org>, Simon Huggins <huggie@earth.li>, Stefan Ott <stefan@ott.net>, Yves-Alexis Perez <corsac@debian.org>
Build-Depends: cdbs, debhelper (>= 4.1), libexif-dev, libgtk2.0-dev, libthunar-vfs-1-dev, libdbus-glib-1-dev
Standards-Version: 3.8.0
Homepage: http://goodies.xfce.org/
only in patch2:
unchanged:
--- ristretto-0.0.20.orig/debian/patches/01_plug-memleak.patch
+++ ristretto-0.0.20/debian/patches/01_plug-memleak.patch
@@ -0,0 +1,87 @@
+commit f261483c28c878c1df9a6bb9b9ad7994b86e0829
+Author: stephan <stephan@6bd62a53-d0f8-0310-92b8-b27fb566919e>
+Date: Wed Oct 22 05:42:19 2008 +0000
+
+ Plug memory leak (I think) and fix compile-warning
+
+
+
+ git-svn-id: http://svn.xfce.org/svn/goodies/ristretto/trunk@5744 6bd62a53-d0f8-0310-92b8-b27fb566919e
+
+diff --git a/src/main_window.c b/src/main_window.c
+index a18c765..b3d69c3 100644
+--- a/src/main_window.c
++++ b/src/main_window.c
+@@ -438,8 +438,7 @@ rstto_main_window_init(RsttoMainWindow *window)
+
+ 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);
+ if((XGetSelectionOwner(GDK_DISPLAY(), xfce_selection_atom)))
+ {
+@@ -1215,6 +1214,7 @@ cb_rstto_main_window_set_wallpaper(GtkWidget *widget, RsttoMainWindow *window)
+ }
+ g_free(image_path_prop);
+ g_free(image_show_prop);
++ g_free(image_style_prop);
+ g_object_unref(xfdesktop_channel);
+ }
+ break;
+diff --git a/src/navigator.c b/src/navigator.c
+index 179051f..57ff83e 100644
+--- a/src/navigator.c
++++ b/src/navigator.c
+@@ -1156,6 +1156,11 @@ rstto_navigator_entry_load_image (RsttoNavigatorEntry *entry, gboolean empty_cac
+ }
+ 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);
+@@ -1272,14 +1277,14 @@ cb_rstto_navigator_entry_area_prepared (GdkPixbufLoader *loader, RsttoNavigatorE
+ 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);
+@@ -1302,11 +1307,14 @@ cb_rstto_navigator_entry_closed (GdkPixbufLoader *loader, RsttoNavigatorEntry *e
+ 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))
+@@ -1314,6 +1322,7 @@ cb_rstto_navigator_entry_closed (GdkPixbufLoader *loader, RsttoNavigatorEntry *e
+ 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);
+ }
Attachment:
signature.asc
Description: This is a digitally signed message part