Bug#872776: stretch-pu: package unknown-horizons/2017.1+ds-2
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu
This is part 2 to address a memory leak in unknown-horizons. I have
just filed another bug report for the game engine called fife.
This issue is also known as #871037 [1]. Please find attached the
debdiff for unknown-horizons.
Regards,
Markus
[1] https://bugs.debian.org/871037
diff -Nru unknown-horizons-2017.1+ds/debian/changelog unknown-horizons-2017.1+ds/debian/changelog
--- unknown-horizons-2017.1+ds/debian/changelog 2017-01-22 01:56:39.000000000 +0100
+++ unknown-horizons-2017.1+ds/debian/changelog 2017-08-21 08:54:57.000000000 +0200
@@ -1,3 +1,12 @@
+unknown-horizons (2017.1+ds-2+deb9u1) stretch; urgency=medium
+
+ * Team upload.
+ * Add 1000-icon-mem-leak.patch and fix a memory leak.
+ Thanks to Petter Reinholdtsen for the report and testing and LinuxDonald
+ for the patch. (Closes: #871037)
+
+ -- Markus Koschany <apo@debian.org> Mon, 21 Aug 2017 08:54:57 +0200
+
unknown-horizons (2017.1+ds-2) unstable; urgency=medium
* Team upload.
diff -Nru unknown-horizons-2017.1+ds/debian/patches/1000-icon-mem-leak.patch unknown-horizons-2017.1+ds/debian/patches/1000-icon-mem-leak.patch
--- unknown-horizons-2017.1+ds/debian/patches/1000-icon-mem-leak.patch 1970-01-01 01:00:00.000000000 +0100
+++ unknown-horizons-2017.1+ds/debian/patches/1000-icon-mem-leak.patch 2017-08-21 08:53:37.000000000 +0200
@@ -0,0 +1,27 @@
+Description: Fix small `get_res_icon_path()` widget leak
+
+ `horizons.gui.util.get_res_icon_path()` does the same thing as as
+ `horizons.gui.widgets.imagebuton`: aks fife to create an `Icon()` to
+ see if it's a valid image path. But other than the `ImageButton`,
+ `get_res_icon_path()` did forget to call `hide()` on that `Icon`. So the
+ `Icon` stayed alive, even though unused.
+
+ We now call `hide()` on that `Icon`.
+
+Origin: https://github.com/unknown-horizons/unknown-horizons/commit/25e933202e2db6083d0f163d978559c4ac24fb94
+Author: MasterofJOKers <joker@someserver.de>
+Bug-Debian: https://bugs.debian.org/871037
+
+diff --git a/horizons/gui/util.py b/horizons/gui/util.py
+index a7c13584b..2fb2796b3 100644
+--- a/horizons/gui/util.py
++++ b/horizons/gui/util.py
+@@ -125,7 +125,7 @@ def get_res_icon_path(res, size=32, greyscale=False, full_path=True):
+ icon_path = icon_path + '{res:03d}.png'.format(res=res)
+
+ try:
+- Icon(image=icon_path)
++ Icon(image=icon_path).hide()
+ except fife.NotFound: # ImageManager: image not found, use placeholder or die
+ if res == 'placeholder':
+ raise Exception('Image not found: {icon_path}'.format(icon_path=icon_path))
diff -Nru unknown-horizons-2017.1+ds/debian/patches/series unknown-horizons-2017.1+ds/debian/patches/series
--- unknown-horizons-2017.1+ds/debian/patches/series 2017-01-22 01:56:39.000000000 +0100
+++ unknown-horizons-2017.1+ds/debian/patches/series 2017-08-21 08:53:44.000000000 +0200
@@ -1 +1,2 @@
VERSION.patch
+1000-icon-mem-leak.patch
Reply to: