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
1=== modified file 'src/indicator-appmenu.c'
2--- src/indicator-appmenu.c 2012-03-21 03:35:13 +0000
3+++ src/indicator-appmenu.c 2012-03-26 11:49:47 +0000
4@@ -1278,8 +1278,12 @@
5 g_variant_builder_init(&builder, G_VARIANT_TYPE_TUPLE);
6
7 if (IS_WINDOW_MENU_DBUSMENU(wm)) {
8- g_variant_builder_add_value(&builder, g_variant_new_string(window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm))));
9- g_variant_builder_add_value(&builder, g_variant_new_object_path(window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm))));
10+ gchar * address = window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm));
11+ gchar * path = window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm));
12+ g_variant_builder_add_value(&builder, g_variant_new_string(address));
13+ g_variant_builder_add_value(&builder, g_variant_new_object_path(path));
14+ g_free(address);
15+ g_free(path);
16 } else {
17 g_variant_builder_add_value(&builder, g_variant_new_string(""));
18 g_variant_builder_add_value(&builder, g_variant_new_object_path("/"));
19@@ -1307,10 +1311,14 @@
20 if (value != NULL) {
21 WindowMenu * wm = WINDOW_MENU(value);
22 if (IS_WINDOW_MENU_DBUSMENU(wm)) {
23+ gchar * address = window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm));
24+ gchar * path = window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm));
25 g_variant_builder_add (&builder, "(uso)",
26 window_menu_get_xid(wm),
27- window_menu_dbusmenu_get_address(WINDOW_MENU_DBUSMENU(wm)),
28- window_menu_dbusmenu_get_path(WINDOW_MENU_DBUSMENU(wm)));
29+ address,
30+ path);
31+ g_free(address);
32+ g_free(path);
33 } else {
34 g_variant_builder_add (&builder, "(uso)",
35 window_menu_get_xid(wm),

Subscribers

People subscribed via source and target branches