[Pidgin] #8798: Themes freed while still in use
Pidgin
trac at pidgin.im
Thu Mar 26 13:47:19 EDT 2009
#8798: Themes freed while still in use
------------------------+---------------------------------------------------
Reporter: darkrain42 | Owner:
Type: defect | Status: new
Component: libpurple | Version:
Keywords: | Launchpad_bug:
------------------------+---------------------------------------------------
The current theme manager frees themes while they're still in use, which
eventually leads to accessing unallocated memory (I can occasionally get a
segfault at shutdown).
Opening the GTK prefs refreshes the list of themes
([1e8b6403400015b82def768a98cd269fb8cc2cf2], oh hey, my fautlt!), which
frees all the current themes (theme-
manager.c:purple_theme_manager_refresh).
This frees the current theme, even if it's in use (in my test case, the
Guifications3 blist theme). When closing the GTK preferences pane (this is
random, I can't figure out how to consistently reproduce it), the current
blist theme is occasionally reset back to the default theme.
I see a few ways to go about fixing this:
* Subsystem keeps a reference to a theme in use. This would keep the
theme from being freed and seems like the "right" thing to do anyway...
* I think some changes still needed to !PurpleThemeManager to keep it
from ending up with multiple copies of the loaded theme.
* purple_theme_manager_refresh should re-read the possible themes,
updating current !PurpleTheme objects without destroying them.
--
Ticket URL: <http://developer.pidgin.im/ticket/8798>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list