Merge lp:~bratsche/appmenu-gtk/duplicate-separators into lp:appmenu-gtk/0.4

Proposed by Cody Russell
Status: Merged
Merged at revision: 30
Proposed branch: lp:~bratsche/appmenu-gtk/duplicate-separators
Merge into: lp:appmenu-gtk/0.4
Diff against target: 53 lines (+28/-10)
1 file modified
src/bridge.c (+28/-10)
To merge this branch: bzr merge lp:~bratsche/appmenu-gtk/duplicate-separators
Reviewer Review Type Date Requested Status
Conor Curran (community) Approve
Review via email: mp+28217@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Conor Curran (cjcurran) wrote :

seems to do what it aims to

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/bridge.c'
2--- src/bridge.c 2010-06-22 16:06:51 +0000
3+++ src/bridge.c 2010-06-22 17:16:26 +0000
4@@ -485,22 +485,40 @@
5 if (GTK_IS_CONTAINER (widget))
6 {
7 gboolean increment = GTK_IS_MENU_BAR (widget) || GTK_IS_MENU_ITEM (widget);
8+ gboolean skip = FALSE;
9
10 if (increment)
11 recurse->count++;
12
13 if (recurse->count > -1 && increment)
14 {
15- recurse->stack[recurse->count] = construct_dbusmenu_for_widget (widget);
16-
17- if (recurse->count > 0)
18- {
19- if (recurse->count == 1)
20- dbusmenu_menuitem_child_append (recurse->stack[recurse->count - 1],
21- recurse->stack[recurse->count]);
22- else
23- dbusmenu_menuitem_child_prepend (recurse->stack[recurse->count - 1],
24- recurse->stack[recurse->count]);
25+ if (GTK_IS_SEPARATOR_MENU_ITEM (widget))
26+ {
27+ if (recurse->stack[recurse->count] != NULL)
28+ {
29+ const gchar *type = dbusmenu_menuitem_property_get (recurse->stack[recurse->count],
30+ DBUSMENU_MENUITEM_PROP_TYPE);
31+
32+ if (g_strcmp0 (type, "separator") == 0)
33+ {
34+ skip = TRUE;
35+ }
36+ }
37+ }
38+
39+ if (!skip)
40+ {
41+ recurse->stack[recurse->count] = construct_dbusmenu_for_widget (widget);
42+
43+ if (recurse->count > 0)
44+ {
45+ if (recurse->count == 1)
46+ dbusmenu_menuitem_child_append (recurse->stack[recurse->count - 1],
47+ recurse->stack[recurse->count]);
48+ else
49+ dbusmenu_menuitem_child_prepend (recurse->stack[recurse->count - 1],
50+ recurse->stack[recurse->count]);
51+ }
52 }
53 }
54

Subscribers

People subscribed via source and target branches