lp:~charlesk/appmenu-gtk/lp-787736
- Get this branch:
- bzr branch lp:~charlesk/appmenu-gtk/lp-787736
Branch merges
- jenkins (community): Needs Fixing (continuous-integration)
- Lars Karlitski (community): Approve
- Indicator Applet Developers: Pending requested
-
Diff: 218 lines (+90/-79)1 file modifiedsrc/bridge.c (+90/-79)
Related bugs
Bug #787736: RebuildData structs are leaked in rebuild() / do_rebuild() | Medium | Fix Released |
Related blueprints
Branch information
Recent revisions
- 157. By Charles Kerr
-
in bridge.c(), have rebuild_
timer_func( ) return G_SOURCE_REMOVE instead of FALSE because the former is more readable. - 154. By Charles Kerr
-
Fix the leaked RebuildData structs in appmenu/bridge.c
The problem:
To batch up menu changes, appmenu has a 100 msec timer for
each menu item that changes. It rebuilds our copy after that
timer fires. There's a RebuildData context struct to that timer
and a global static hashtable of the widget-to-timer_id
associations. When a widget changes again while it's got a
pending timer, the previous timer is removed and a new one
is added, leaking the previous RebuildData. _add_timeout_full()
is one way to fix this, but a second problem is having all this
play nicely with weak references s.t. we don't try to rebuild
widgets that get destroyed.This fix:
This patch fixes the leak and simplifies the code by removing
RebuildData, the global hashtable, and the new-timer-per-widget. The bridge now has a single timer and a list of widgets that
need to get rebuilt when the timer fires. When a weak reference
indicates a widget has been destroyed, the only thing we have to
do is remove it from the list. - 151. By Charles Kerr
-
merge lp:~allanlesage/appmenu-gtk/TDD to add gcov targets to autotools build for code-coverage reporting. For more information, see this blog post: http://
qualityhour. wordpress. com/2012/ 01/29/test- coverage- tutorial- for-cc- autotools- projects/ - 150. By Charles Kerr
-
merge lp:~desrt/appmenu-gtk/gdkthreads-fix to use gdkthreads when scheduling a timeout for compatibility with apps using gdkthreads.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:appmenu-gtk/12.10