Bug 795152
Summary: | Cross compiled Midori crashes when trying to fetch favicon | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Paweł Forysiuk <tuxator> |
Component: | mingw32-gdk-pixbuf | Assignee: | Erik van Pienbroek <erik-fedora> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 16 | CC: | erik-fedora, fedora, kalevlember, rjones |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | mingw32-gdk-pixbuf-2.25.2-2.fc17 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-02-28 10:55:41 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Paweł Forysiuk
2012-02-19 19:37:24 UTC
The favicon it is loading is an animated gif and the GDI+ gif loader code is failing to register the gobject. This appears to be a regression from http://git.gnome.org/browse/gdk-pixbuf/commit/?id=f592afe9 that converted the animation implementations to use G_DEFINE_TYPE. The loadable gdk-pixbuf GDI+ modules share common code in io-ani-animation.c, but are each compiled into different DLL files. This means that each of these DLL files that are loaded in the same process try to register the same gobject type, GdkPixbufAniAnim. The pre-G_DEFINE_TYPE code get_type() implementation had a manual check to make sure some other loadable DLL hasn't already registered this type: object_type = g_type_from_name ("GdkPixbufGdipAnim"); if (object_type == 0) { object_type = g_type_register... The new code generated by G_DEFINE_TYPE uses a static variable to guard for multiple registrations, but this isn't working if some other loadable DLL has already registered the type, because the static variable is different for each of the DLL files. Fixing it upstream would probably involve either moving back to hand-crafted get_type() or splitting io-ani-animation.c into a separate DLL. As a downstream, I guess we could compile all the GDI+ loaders into the main gdk-pixbuf DLL, which should fix the static variable problem. Another way to fix it would be to just stop using the GDI+ loaders. mingw32-gdk-pixbuf-2.25.2-2.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/mingw32-gdk-pixbuf-2.25.2-2.fc17 Package mingw32-gdk-pixbuf-2.25.2-2.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mingw32-gdk-pixbuf-2.25.2-2.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-2032/mingw32-gdk-pixbuf-2.25.2-2.fc17 then log in and leave karma (feedback). mingw32-gdk-pixbuf-2.25.2-2.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. |