Merge lp:~unity-team/unity/unity.fix-menu-item-reference-count into lp:unity

Proposed by Jay Taoko
Status: Merged
Merged at revision: 524
Proposed branch: lp:~unity-team/unity/unity.fix-menu-item-reference-count
Merge into: lp:unity
Diff against target: 33 lines (+11/-1)
1 file modified
unity-private/launcher/quicklist-controller.vala (+11/-1)
To merge this branch: bzr merge lp:~unity-team/unity/unity.fix-menu-item-reference-count
Reviewer Review Type Date Requested Status
Neil J. Patel (community) Approve
Review via email: mp+36160@code.launchpad.net

Description of the change

Unref item returned from menu_item_from_dbusmenuitem. They have an extra reference that stop them from being properly deleted.

To post a comment you must log in.
Revision history for this message
Neil J. Patel (njpatel) wrote :

Approved, looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'unity-private/launcher/quicklist-controller.vala'
2--- unity-private/launcher/quicklist-controller.vala 2010-09-21 10:37:25 +0000
3+++ unity-private/launcher/quicklist-controller.vala 2010-09-21 16:02:41 +0000
4@@ -227,8 +227,14 @@
5 foreach (Dbusmenu.Menuitem menuitem in menu_items)
6 {
7 var view_menuitem = menu_item_from_dbusmenuitem (menuitem);
8+
9 if (view_menuitem != null)
10- get_view ().prepend (view_menuitem, false);
11+ {
12+ get_view ().prepend (view_menuitem, false);
13+ // Items returned from menu_item_from_dbusmenuitem have an extra reference
14+ // stopping them from being properly deleted. Remove that reference here.
15+ view_menuitem.unref ();
16+ }
17 }
18 menu_items.reverse ();
19 }
20@@ -251,9 +257,13 @@
21 foreach (Dbusmenu.Menuitem menuitem in menu_items)
22 {
23 var view_menuitem = menu_item_from_dbusmenuitem (menuitem);
24+
25 if (view_menuitem != null)
26 {
27 get_view ().append (view_menuitem, false);
28+ // Items returned from menu_item_from_dbusmenuitem have an extra reference
29+ // stopping them from being properly deleted. Remove that reference here.
30+ view_menuitem.unref ();
31 }
32 }
33 }