Control: tags 776145 + pending Dear maintainer,
I've prepared an NMU for gtk-sharp2 (versioned as 2.12.10-5.1) and uploaded it to DELAYED/7. Please feel free to tell me if I should delay it longer. Regards, smcv
diffstat for gtk-sharp2-2.12.10 gtk-sharp2-2.12.10 changelog | 12 ++ patches/0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP.patch | 42 ++++++++++ patches/0002-Check-that-source_handlers-contains-the-tag.patch | 24 +++++ patches/series | 3 4 files changed, 80 insertions(+), 1 deletion(-) diff -Nru gtk-sharp2-2.12.10/debian/changelog gtk-sharp2-2.12.10/debian/changelog --- gtk-sharp2-2.12.10/debian/changelog 2012-09-05 23:22:40.000000000 +0100 +++ gtk-sharp2-2.12.10/debian/changelog 2015-02-21 11:53:02.000000000 +0000 @@ -1,3 +1,15 @@ +gtk-sharp2 (2.12.10-5.1) unstable; urgency=medium + + * Non-maintainer upload. + * debian/patches: add upstream commits + 0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP, + 0002-Check-that-source_handlers-contains-the-tag from version 2.12.26, + fixing warning spam from removing nonexistent event sources with + recent GLib. This was filed as RC, since it can consume significant + disk space in long-running Gtk# apps. (Closes: #776145) + + -- Simon McVittie <s...@debian.org> Sat, 21 Feb 2015 11:52:55 +0000 + gtk-sharp2 (2.12.10-5) unstable; urgency=low * [b130b4f] debian/patches: add 06_IconTheme_use_glib_marshaller. diff -Nru gtk-sharp2-2.12.10/debian/patches/0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP.patch gtk-sharp2-2.12.10/debian/patches/0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP.patch --- gtk-sharp2-2.12.10/debian/patches/0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtk-sharp2-2.12.10/debian/patches/0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP.patch 2015-02-21 11:53:02.000000000 +0000 @@ -0,0 +1,42 @@ +From: Bertrand Lorentz <bertrand.lore...@gmail.com> +Date: Sat, 5 Jul 2014 15:52:56 +0200 +Subject: [PATCH 1/2] glib: Fix native GLib warnings when disposing SourceProxy + objects + +When an instance of SourceProxy was finalized, we would try to remove +the corresponding source, even if it was already removed. This now +causes native GLib to print out warnings because it can't find the +source ID. + +Now Source.Remove only calls g_source_remove if we really had a handler +registered for the ID we're removing. + +Origin: upstream, 2.12.26, commit:3a01260d87c738361f1b72673f73135b4d7545e7 +Bug-Debian: https://bugs.debian.org/776145 +--- + glib/Source.cs | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/glib/Source.cs b/glib/Source.cs +index b62c3c5..89e691f 100644 +--- a/glib/Source.cs ++++ b/glib/Source.cs +@@ -54,9 +54,15 @@ namespace GLib { + + public static bool Remove (uint tag) + { +- lock (Source.source_handlers) +- source_handlers.Remove (tag); +- return g_source_remove (tag); ++ // g_source_remove always returns true, so we follow that ++ bool ret = true; ++ ++ lock (Source.source_handlers) { ++ if (source_handlers.Remove (tag)) { ++ ret = g_source_remove (tag); ++ } ++ } ++ return ret; + } + } + } diff -Nru gtk-sharp2-2.12.10/debian/patches/0002-Check-that-source_handlers-contains-the-tag.patch gtk-sharp2-2.12.10/debian/patches/0002-Check-that-source_handlers-contains-the-tag.patch --- gtk-sharp2-2.12.10/debian/patches/0002-Check-that-source_handlers-contains-the-tag.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtk-sharp2-2.12.10/debian/patches/0002-Check-that-source_handlers-contains-the-tag.patch 2015-02-21 11:53:02.000000000 +0000 @@ -0,0 +1,24 @@ +From: Cody Russell <c...@jhu.edu> +Date: Fri, 11 Jul 2014 09:51:53 -0500 +Subject: [PATCH 2/2] Check that source_handlers contains the tag. + +Origin: upstream, 2.12.26, commit:9c78f7019c8622a3fc7a10c3d3dc8dcb5f44a289 +Bug-Debian: https://bugs.debian.org/776145 +--- + glib/Source.cs | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/glib/Source.cs b/glib/Source.cs +index 89e691f..cf9f4ba 100644 +--- a/glib/Source.cs ++++ b/glib/Source.cs +@@ -58,7 +58,8 @@ namespace GLib { + bool ret = true; + + lock (Source.source_handlers) { +- if (source_handlers.Remove (tag)) { ++ if (source_handlers.Contains (tag)) { ++ source_handlers.Remove (tag); + ret = g_source_remove (tag); + } + } diff -Nru gtk-sharp2-2.12.10/debian/patches/series gtk-sharp2-2.12.10/debian/patches/series --- gtk-sharp2-2.12.10/debian/patches/series 2012-09-05 23:22:40.000000000 +0100 +++ gtk-sharp2-2.12.10/debian/patches/series 2015-02-21 11:53:02.000000000 +0000 @@ -3,4 +3,5 @@ 04_fix_glib_2.31_threading 05_glib_single_include 06_IconTheme_use_glib_marshaller - +0001-glib-Fix-native-GLib-warnings-when-disposing-SourceP.patch +0002-Check-that-source_handlers-contains-the-tag.patch