Merge lp:~htorque/indicator-appmenu/fix-small-leak into lp:indicator-appmenu/0.4

Proposed by Hernando Torque
Status: Merged
Approved by: Charles Kerr
Approved revision: 190
Merged at revision: 190
Proposed branch: lp:~htorque/indicator-appmenu/fix-small-leak
Merge into: lp:indicator-appmenu/0.4
Diff against target: 35 lines (+12/-4)
1 file modified
src/indicator-appmenu.c (+12/-4)
To merge this branch: bzr merge lp:~htorque/indicator-appmenu/fix-small-leak
Reviewer Review Type Date Requested Status
Charles Kerr (community) Approve
Review via email: mp+99297@code.launchpad.net

Description of the change

The inline use of window_menu_dbusmenu_get_address and window_menu_dbusmenu_get_path causes a small leak:

==23569== 6 bytes in 1 blocks are definitely lost in loss record 892 of 13,322
==23569== at 0x4C2B6CD: malloc (vg_replace_malloc.c:263)
==23569== by 0x6938B78: g_malloc (gmem.c:159)
==23569== by 0x694D5CD: g_strdup (gstrfuncs.c:356)
==23569== by 0x18834E78: window_menu_dbusmenu_get_address (window-menu-dbusmenu.c:820)
==23569== by 0x18831E92: bus_method_call (indicator-appmenu.c:1310)
==23569== by 0x5C7FE07: call_in_idle_cb (gdbusconnection.c:4687)
==23569== by 0x6932D89: g_main_context_dispatch (gmain.c:2515)
==23569== by 0x693314F: g_main_context_iterate.isra.23 (gmain.c:3123)
==23569== by 0x6933549: g_main_loop_run (gmain.c:3317)
==23569== by 0x51D5D8C: gtk_main (gtkmain.c:1165)
==23569== by 0x404F71: main (panel-main.c:431)
==23569==
==23569== 28 bytes in 1 blocks are definitely lost in loss record 3,977 of 13,322
==23569== at 0x4C2B6CD: malloc (vg_replace_malloc.c:263)
==23569== by 0x6938B78: g_malloc (gmem.c:159)
==23569== by 0x694D5CD: g_strdup (gstrfuncs.c:356)
==23569== by 0x18834D98: window_menu_dbusmenu_get_path (window-menu-dbusmenu.c:806)
==23569== by 0x18831E77: bus_method_call (indicator-appmenu.c:1310)
==23569== by 0x5C7FE07: call_in_idle_cb (gdbusconnection.c:4687)
==23569== by 0x6932D89: g_main_context_dispatch (gmain.c:2515)
==23569== by 0x693314F: g_main_context_iterate.isra.23 (gmain.c:3123)
==23569== by 0x6933549: g_main_loop_run (gmain.c:3317)
==23569== by 0x51D5D8C: gtk_main (gtkmain.c:1165)
==23569== by 0x404F71: main (panel-main.c:431)

To post a comment you must log in.
Revision history for this message
Charles Kerr (charlesk) wrote :

Looks great, keep 'em coming! :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/indicator-appmenu.c'
--- src/indicator-appmenu.c 2012-03-21 03:35:13 +0000
+++ src/indicator-appmenu.c 2012-03-26 11:49:47 +0000
@@ -1278,8 +1278,12 @@
1278 g_variant_builder_init(&builder, G_VARIANT_TYPE_TUPLE);1278 g_variant_builder_init(&builder, G_VARIANT_TYPE_TUPLE);
12791279
1280 if (IS_WINDOW_MENU_DBUSMENU(wm)) {1280 if (IS_WINDOW_MENU_DBUSMENU(wm)) {
1281 g_variant_builder_add_value(&builder, g_variant_new_string(window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm))));1281 gchar * address = window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm));
1282 g_variant_builder_add_value(&builder, g_variant_new_object_path(window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm))));1282 gchar * path = window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm));
1283 g_variant_builder_add_value(&builder, g_variant_new_string(address));
1284 g_variant_builder_add_value(&builder, g_variant_new_object_path(path));
1285 g_free(address);
1286 g_free(path);
1283 } else {1287 } else {
1284 g_variant_builder_add_value(&builder, g_variant_new_string(""));1288 g_variant_builder_add_value(&builder, g_variant_new_string(""));
1285 g_variant_builder_add_value(&builder, g_variant_new_object_path("/"));1289 g_variant_builder_add_value(&builder, g_variant_new_object_path("/"));
@@ -1307,10 +1311,14 @@
1307 if (value != NULL) {1311 if (value != NULL) {
1308 WindowMenu * wm = WINDOW_MENU(value);1312 WindowMenu * wm = WINDOW_MENU(value);
1309 if (IS_WINDOW_MENU_DBUSMENU(wm)) {1313 if (IS_WINDOW_MENU_DBUSMENU(wm)) {
1314 gchar * address = window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm));
1315 gchar * path = window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm));
1310 g_variant_builder_add (&builder, "(uso)",1316 g_variant_builder_add (&builder, "(uso)",
1311 window_menu_get_xid(wm),1317 window_menu_get_xid(wm),
1312 window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm)),1318 address,
1313 window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm)));1319 path);
1320 g_free(address);
1321 g_free(path);
1314 } else {1322 } else {
1315 g_variant_builder_add (&builder, "(uso)",1323 g_variant_builder_add (&builder, "(uso)",
1316 window_menu_get_xid(wm),1324 window_menu_get_xid(wm),

Subscribers

People subscribed via source and target branches