Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: mate-power-mana...@packages.debian.org
Control: affects -1 + src:mate-power-manager

[ Reason ]
In mate-power-manager 1.26.1 two memory leaks have been fixed recently.
The patches for this shall be provided for mate-power-manager in Debian
bookworm.

[ Impact ]
Memory management improved for MATE users.

[ Tests ]
Code review, installation + runtime smoketests.

[ Risks ]
MATE power statistics and preferences could be affected by a regression.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

+  * debian/patches:
+    + Add 0002_gpm-statistics-fix-memory-leak.patch (gpm-prefs: fix memory 
leak)
+      and 0003_gpm-prefs-fix-memory-leak.patch (gpm-statistics: fix memory
+      leak). Cherry-picked and simplified from v1.26.1. (Closes: #1038444).
+    + Document simplification in patch 0002_gpm-statistics-fix-memory-
+      leak.patch.
+    + Trivial rebase of 0001_add-gaming-input-devices.patch.

[ Other info ]
None
diff -Nru mate-power-manager-1.26.0/debian/changelog 
mate-power-manager-1.26.0/debian/changelog
--- mate-power-manager-1.26.0/debian/changelog  2022-04-06 22:43:14.000000000 
+0200
+++ mate-power-manager-1.26.0/debian/changelog  2023-06-18 21:40:10.000000000 
+0200
@@ -1,3 +1,15 @@
+mate-power-manager (1.26.0-2+deb12u1) bookworm; urgency=medium
+
+  * debian/patches:
+    + Add 0002_gpm-statistics-fix-memory-leak.patch (gpm-prefs: fix memory 
leak)
+      and 0003_gpm-prefs-fix-memory-leak.patch (gpm-statistics: fix memory
+      leak). Cherry-picked and simplified from v1.26.1. (Closes: #1038444).
+    + Document simplification in patch 0002_gpm-statistics-fix-memory-
+      leak.patch.
+    + Trivial rebase of 0001_add-gaming-input-devices.patch.
+
+ -- Mike Gabriel <sunwea...@debian.org>  Sun, 18 Jun 2023 21:40:10 +0200
+
 mate-power-manager (1.26.0-2) unstable; urgency=medium
 
   [ Martin Wimpress ]
diff -Nru 
mate-power-manager-1.26.0/debian/patches/0001_add-gaming-input-devices.patch 
mate-power-manager-1.26.0/debian/patches/0001_add-gaming-input-devices.patch
--- 
mate-power-manager-1.26.0/debian/patches/0001_add-gaming-input-devices.patch    
    2022-04-06 22:42:39.000000000 +0200
+++ 
mate-power-manager-1.26.0/debian/patches/0001_add-gaming-input-devices.patch    
    2023-06-18 21:37:17.000000000 +0200
@@ -1,6 +1,3 @@
-diff --git a/data/icons/scalable/status/gpm-gaming-input-000.svg 
b/data/icons/scalable/status/gpm-gaming-input-000.svg
-new file mode 100644
-index 00000000..fdcaa77f
 --- /dev/null
 +++ b/data/icons/scalable/status/gpm-gaming-input-000.svg
 @@ -0,0 +1,507 @@
@@ -511,9 +508,6 @@
 +  <g
 +     id="layer2" />
 +</svg>
-diff --git a/data/icons/scalable/status/gpm-gaming-input-020.svg 
b/data/icons/scalable/status/gpm-gaming-input-020.svg
-new file mode 100644
-index 00000000..d5e8f506
 --- /dev/null
 +++ b/data/icons/scalable/status/gpm-gaming-input-020.svg
 @@ -0,0 +1,792 @@
@@ -1309,9 +1303,6 @@
 +    </g>
 +  </g>
 +</svg>
-diff --git a/data/icons/scalable/status/gpm-gaming-input-040.svg 
b/data/icons/scalable/status/gpm-gaming-input-040.svg
-new file mode 100644
-index 00000000..4a7ae617
 --- /dev/null
 +++ b/data/icons/scalable/status/gpm-gaming-input-040.svg
 @@ -0,0 +1,673 @@
@@ -1988,9 +1979,6 @@
 +    </g>
 +  </g>
 +</svg>
-diff --git a/data/icons/scalable/status/gpm-gaming-input-060.svg 
b/data/icons/scalable/status/gpm-gaming-input-060.svg
-new file mode 100644
-index 00000000..901ad0f2
 --- /dev/null
 +++ b/data/icons/scalable/status/gpm-gaming-input-060.svg
 @@ -0,0 +1,521 @@
@@ -2515,9 +2503,6 @@
 +  <g
 +     id="layer2" />
 +</svg>
-diff --git a/data/icons/scalable/status/gpm-gaming-input-080.svg 
b/data/icons/scalable/status/gpm-gaming-input-080.svg
-new file mode 100644
-index 00000000..5d209e23
 --- /dev/null
 +++ b/data/icons/scalable/status/gpm-gaming-input-080.svg
 @@ -0,0 +1,673 @@
@@ -3194,9 +3179,6 @@
 +    </g>
 +  </g>
 +</svg>
-diff --git a/data/icons/scalable/status/gpm-gaming-input-100.svg 
b/data/icons/scalable/status/gpm-gaming-input-100.svg
-new file mode 100644
-index 00000000..b0201af3
 --- /dev/null
 +++ b/data/icons/scalable/status/gpm-gaming-input-100.svg
 @@ -0,0 +1,501 @@
@@ -3701,11 +3683,9 @@
 +  <g
 +     id="layer2" />
 +</svg>
-diff --git a/src/gpm-statistics.c b/src/gpm-statistics.c
-index ae144cb8..e87651bb 100644
 --- a/src/gpm-statistics.c
 +++ b/src/gpm-statistics.c
-@@ -894,6 +894,9 @@ gpm_stats_add_device (UpDevice *device, GPtrArray *devices)
+@@ -895,6 +895,9 @@
        if ((vendor != NULL && strlen(vendor) != 0) && (model != NULL && 
strlen(model) != 0)) {
                label = g_strdup_printf ("%s %s", vendor, model);
        }
@@ -3715,11 +3695,9 @@
        else {
                label = g_strdup_printf ("%s", 
gpm_device_kind_to_localised_string (kind, 1));
        }
-diff --git a/src/gpm-tray-icon.c b/src/gpm-tray-icon.c
-index 258c2424..9f5fe388 100644
 --- a/src/gpm-tray-icon.c
 +++ b/src/gpm-tray-icon.c
-@@ -269,6 +269,9 @@ gpm_tray_icon_add_device (GpmTrayIcon *icon, GtkMenu 
*menu, const GPtrArray *arr
+@@ -269,6 +269,9 @@
                if ((vendor != NULL && strlen(vendor) != 0) && (model != NULL 
&& strlen(model) != 0)) {
                        label = g_strdup_printf ("%s %s (%.1f%%)", vendor, 
model, percentage);
                }
@@ -3729,19 +3707,17 @@
                else {
                        label = g_strdup_printf ("%s (%.1f%%)", 
gpm_device_kind_to_localised_string (kind, 1), percentage);
                }
-@@ -354,6 +357,7 @@ gpm_tray_icon_create_menu (GpmTrayIcon *icon)
+@@ -354,6 +357,7 @@
        dev_cnt += gpm_tray_icon_add_device (icon, menu, array, 
UP_DEVICE_KIND_MEDIA_PLAYER);
        dev_cnt += gpm_tray_icon_add_device (icon, menu, array, 
UP_DEVICE_KIND_TABLET);
        dev_cnt += gpm_tray_icon_add_device (icon, menu, array, 
UP_DEVICE_KIND_COMPUTER);
 +      dev_cnt += gpm_tray_icon_add_device (icon, menu, array, 
UP_DEVICE_KIND_GAMING_INPUT);
        g_ptr_array_unref (array);
-
+ 
        /* skip for things like live-cd's and GDM */
-diff --git a/src/gpm-upower.c b/src/gpm-upower.c
-index 6cf24c66..7311936f 100644
 --- a/src/gpm-upower.c
 +++ b/src/gpm-upower.c
-@@ -162,6 +162,9 @@ gpm_upower_get_device_icon (UpDevice *device)
+@@ -162,6 +162,9 @@
                        index_str = gpm_upower_get_device_icon_index (device);
                        filename = g_strdup_printf ("gpm-%s-%s", prefix, 
index_str);
                }
@@ -3749,9 +3725,9 @@
 +              index_str = gpm_upower_get_device_icon_index (device);
 +              filename = g_strdup_printf ("gpm-%s-%s", prefix, index_str);
        }
-
+ 
        /* nothing matched */
-@@ -526,6 +529,10 @@ gpm_device_kind_to_localised_string (UpDeviceKind kind, 
guint number)
+@@ -526,6 +529,10 @@
                /* TRANSLATORS: tablet device */
                text = ngettext ("Computer", "Computers", number);
                break;
diff -Nru 
mate-power-manager-1.26.0/debian/patches/0002_gpm-statistics-fix-memory-leak.patch
 
mate-power-manager-1.26.0/debian/patches/0002_gpm-statistics-fix-memory-leak.patch
--- 
mate-power-manager-1.26.0/debian/patches/0002_gpm-statistics-fix-memory-leak.patch
  1970-01-01 01:00:00.000000000 +0100
+++ 
mate-power-manager-1.26.0/debian/patches/0002_gpm-statistics-fix-memory-leak.patch
  2023-06-18 21:40:10.000000000 +0200
@@ -0,0 +1,34 @@
+From c9a070aa89dc760c2e08e8af85bf7e4f3a81ad84 Mon Sep 17 00:00:00 2001
+From: rbuj <robert....@gmail.com>
+Date: Fri, 22 Oct 2021 12:48:19 +0200
+Subject: [PATCH 1/2] gpm-statistics: fix memory leak
+
+[In addition, it adds enumerations to access indexed arrays.]
+The enumeration bit has been stripped from the patch for
+Debian bookworm.
+
+Modified-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ src/gpm-statistics.c | 166 ++++++++++++++++++++++++++++++-------------
+ 1 file changed, 115 insertions(+), 51 deletions(-)
+
+--- a/src/gpm-statistics.c
++++ b/src/gpm-statistics.c
+@@ -874,7 +900,7 @@
+ {
+       const gchar *id;
+       GtkTreeIter iter;
+-      const gchar *icon;
++      char *icon;
+       UpDeviceKind kind;
+       gchar *label, *vendor, *model;
+ 
+@@ -908,6 +934,7 @@
+                           GPM_DEVICES_COLUMN_ID, id,
+                           GPM_DEVICES_COLUMN_TEXT, label,
+                           GPM_DEVICES_COLUMN_ICON, icon, -1);
++      g_free (icon);
+       g_free (label);
+       g_free (vendor);
+       g_free (model);
diff -Nru 
mate-power-manager-1.26.0/debian/patches/0003_gpm-prefs-fix-memory-leak.patch 
mate-power-manager-1.26.0/debian/patches/0003_gpm-prefs-fix-memory-leak.patch
--- 
mate-power-manager-1.26.0/debian/patches/0003_gpm-prefs-fix-memory-leak.patch   
    1970-01-01 01:00:00.000000000 +0100
+++ 
mate-power-manager-1.26.0/debian/patches/0003_gpm-prefs-fix-memory-leak.patch   
    2023-06-18 21:35:55.000000000 +0200
@@ -0,0 +1,34 @@
+From 547c64b8d616e3e55ca54eebaa2e74c43c237b56 Mon Sep 17 00:00:00 2001
+From: rbuj <robert....@gmail.com>
+Date: Fri, 22 Oct 2021 12:59:47 +0200
+Subject: [PATCH 2/2] gpm-prefs: fix memory leak
+
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ src/gpm-prefs.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/gpm-prefs.c b/src/gpm-prefs.c
+index 8a1e26e..91a2950 100644
+--- a/src/gpm-prefs.c
++++ b/src/gpm-prefs.c
+@@ -84,6 +84,7 @@ main (int argc, char **argv)
+       g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
+       g_option_context_add_group (context, gtk_get_option_group (FALSE));
+       g_option_context_parse (context, &argc, &argv, NULL);
++      g_option_context_free (context);
+ 
+       gdk_init (&argc, &argv);
+       app = gtk_application_new("org.mate.PowerManager.Preferences", 0);
+@@ -103,8 +104,5 @@ main (int argc, char **argv)
+ 
+       g_object_unref (app);
+ 
+-/* seems to not work...
+-      g_option_context_free (context); */
+-
+       return status;
+ }
+-- 
+2.39.2
+
diff -Nru mate-power-manager-1.26.0/debian/patches/series 
mate-power-manager-1.26.0/debian/patches/series
--- mate-power-manager-1.26.0/debian/patches/series     2022-04-06 
22:42:39.000000000 +0200
+++ mate-power-manager-1.26.0/debian/patches/series     2023-06-18 
21:29:19.000000000 +0200
@@ -1 +1,3 @@
 0001_add-gaming-input-devices.patch
+0002_gpm-statistics-fix-memory-leak.patch
+0003_gpm-prefs-fix-memory-leak.patch

Reply via email to