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