diff -Nru gdk-pixbuf-2.26.4/debian/changelog gdk-pixbuf-2.26.4/debian/changelog --- gdk-pixbuf-2.26.4/debian/changelog 2012-10-24 11:48:23.000000000 +0000 +++ gdk-pixbuf-2.26.4/debian/changelog 2012-10-29 15:59:57.000000000 +0000 @@ -1,3 +1,9 @@ +gdk-pixbuf (2.26.4-1ubuntu1+13.04~ricotz1) raring; urgency=high + + * Cherry pick upstream patch "queryloaders: Ensure we link to libgobject" + + -- Rico Tzschichholz Mon, 29 Oct 2012 16:58:39 +0100 + gdk-pixbuf (2.26.4-1ubuntu1) raring; urgency=low * Rebase on Debian experimental, remaining change diff -Nru gdk-pixbuf-2.26.4/debian/patches/00git.patch gdk-pixbuf-2.26.4/debian/patches/00git.patch --- gdk-pixbuf-2.26.4/debian/patches/00git.patch 1970-01-01 00:00:00.000000000 +0000 +++ gdk-pixbuf-2.26.4/debian/patches/00git.patch 2012-10-29 15:57:25.000000000 +0000 @@ -0,0 +1,43 @@ +From 3a0531d84af702e4c8aed7801d9455cc95f3cb4a Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Wed, 24 Oct 2012 20:58:10 +0000 +Subject: queryloaders: Ensure we link to libgobject + +This call is necessary to ensure we actually link against libgobject; +otherwise it may be stripped if -Wl,--as-needed is in use. + +The reason we need to link against libgobject is because it now has +a global constructor. If the dynamically loaded modules happen +to dlclose() libgobject, then reopen it again, we're in for trouble. + +See https://bugzilla.gnome.org/show_bug.cgi?id=686822 + +Patch-suggested-by: Ryan Lortie +Signed-off-by: Colin Walters + +https://bugzilla.gnome.org/show_bug.cgi?id=686822 +--- +diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c +index 6087bd8..6246dd6 100644 +--- a/gdk-pixbuf/queryloaders.c ++++ b/gdk-pixbuf/queryloaders.c +@@ -312,6 +312,17 @@ int main (int argc, char **argv) + + #endif + ++ /* This call is necessary to ensure we actually link against libgobject; ++ * otherwise it may be stripped if -Wl,--as-needed is in use. ++ * ++ * The reason we need to link against libgobject is because it now has ++ * a global constructor. If the dynamically loaded modules happen ++ * to dlclose() libgobject, then reopen it again, we're in for trouble. ++ * ++ * See: https://bugzilla.gnome.org/show_bug.cgi?id=686822 ++ */ ++ g_type_ensure (G_TYPE_OBJECT); ++ + if (argc > 1 && strcmp (argv[1], "--update-cache") == 0) { + cache_file = gdk_pixbuf_get_module_file (); + first_file = 2; +-- +cgit v0.9.0.2 diff -Nru gdk-pixbuf-2.26.4/debian/patches/series gdk-pixbuf-2.26.4/debian/patches/series --- gdk-pixbuf-2.26.4/debian/patches/series 2011-07-15 22:00:26.000000000 +0000 +++ gdk-pixbuf-2.26.4/debian/patches/series 2012-10-29 15:58:04.000000000 +0000 @@ -0,0 +1 @@ +00git.patch