After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 158177 - gdk-pixbuf-query-modules svg_loader crash
gdk-pixbuf-query-modules svg_loader crash
Status: RESOLVED FIXED
Product: gdk-pixbuf
Classification: Platform
Component: general
git master
Other Linux
: Normal minor
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 158157
 
 
Reported: 2004-11-13 16:06 UTC by Dan Winship
Modified: 2010-07-10 04:06 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dan Winship 2004-11-13 16:06:49 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);
Comment 1 Dan Winship 2004-11-13 16:09:05 UTC
apparently not amd64-specific.
Comment 2 Matthias Clasen 2004-11-15 16:23:27 UTC
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)