aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/e-popup.c')
-rw-r--r--e-util/e-popup.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/e-util/e-popup.c b/e-util/e-popup.c
index ce723a2368..c607b9045c 100644
--- a/e-util/e-popup.c
+++ b/e-util/e-popup.c
@@ -507,9 +507,15 @@ e_popup_create_menu(EPopup *emp, EPopupTarget *target, guint32 mask)
/* create tree structure */
for (i=0;i<items->len;i++) {
struct _item_node *inode = items->pdata[i], *pnode;
+ struct _item_node *nextnode = (i + 1 < items->len) ? items->pdata[i+1] : NULL;
struct _EPopupItem *item = inode->item;
const char *tmp;
+ if (nextnode && !strcmp (nextnode->item->path, item->path)) {
+ d(printf ("skipping item %s\n", item->path));
+ continue;
+ }
+
g_string_truncate(ppath, 0);
tmp = strrchr(item->path, '/');
if (tmp) {