GNOME Bugzilla – Bug 158177
gdk-pixbuf-query-modules svg_loader crash
Last modified: 2010-07-10 04:06:36 UTC
gdk-pixbuf-query-modules segvs g_module_close()ing svg_loader.so on amd64. This seems to be because of the call to rsvg_init() in svg_loader's fill_vtable() method. The obvious fix is for svg_loader to call g_module_make_resident() on itself, but this doesn't work here, because gdk-pixbuf-query-modules doesn't fill in the "module" field in the GdkPixbufModule. Fix: Index: queryloaders.c =================================================================== RCS file: /cvs/gnome/gtk+/gdk-pixbuf/queryloaders.c,v retrieving revision 1.11 diff -u -r1.11 queryloaders.c --- queryloaders.c 15 Mar 2004 14:10:08 -0000 1.11 +++ queryloaders.c 13 Nov 2004 16:04:35 -0000 @@ -181,6 +181,7 @@ #endif info = g_new0 (GdkPixbufFormat, 1); vtable = g_new0 (GdkPixbufModule, 1); + vtable->module = module; (*fill_info) (info); (*fill_vtable) (vtable);
apparently not amd64-specific.
2004-11-15 Matthias Clasen <mclasen@redhat.com> * queryloaders.c (query_module): Set vtable->module before calling fill_vtable(), since gdk-pixbuf-io.c does does the same and modules may rely on it. (#158177, Dan Winship)