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
=== modified file 'unity-private/launcher/quicklist-controller.vala'
--- unity-private/launcher/quicklist-controller.vala 2010-09-21 10:37:25 +0000
+++ unity-private/launcher/quicklist-controller.vala 2010-09-21 16:02:41 +0000
@@ -227,8 +227,14 @@
227 foreach (Dbusmenu.Menuitem menuitem in menu_items)227 foreach (Dbusmenu.Menuitem menuitem in menu_items)
228 {228 {
229 var view_menuitem = menu_item_from_dbusmenuitem (menuitem);229 var view_menuitem = menu_item_from_dbusmenuitem (menuitem);
230
230 if (view_menuitem != null)231 if (view_menuitem != null)
231 get_view ().prepend (view_menuitem, false);232 {
233 get_view ().prepend (view_menuitem, false);
234 // Items returned from menu_item_from_dbusmenuitem have an extra reference
235 // stopping them from being properly deleted. Remove that reference here.
236 view_menuitem.unref ();
237 }
232 }238 }
233 menu_items.reverse ();239 menu_items.reverse ();
234 }240 }
@@ -251,9 +257,13 @@
251 foreach (Dbusmenu.Menuitem menuitem in menu_items)257 foreach (Dbusmenu.Menuitem menuitem in menu_items)
252 {258 {
253 var view_menuitem = menu_item_from_dbusmenuitem (menuitem);259 var view_menuitem = menu_item_from_dbusmenuitem (menuitem);
260
254 if (view_menuitem != null)261 if (view_menuitem != null)
255 {262 {
256 get_view ().append (view_menuitem, false);263 get_view ().append (view_menuitem, false);
264 // Items returned from menu_item_from_dbusmenuitem have an extra reference
265 // stopping them from being properly deleted. Remove that reference here.
266 view_menuitem.unref ();
257 }267 }
258 }268 }
259 }269 }