diff options
author | Ondrej Jirman <megous@megous.com> | 2007-11-14 02:36:02 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2007-11-14 02:36:02 +0800 |
commit | 11cf7790eb87cecced8090dfa65ea6df0bf78047 (patch) | |
tree | 726bca31da96bab9dd7f621614c80ed793a9fa06 | |
parent | 303194b97add2cc54e5799cb6c5ad7456ca4bd2d (diff) | |
download | gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.tar gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.tar.gz gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.tar.bz2 gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.tar.lz gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.tar.xz gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.tar.zst gsoc2013-evolution-11cf7790eb87cecced8090dfa65ea6df0bf78047.zip |
** Fix for bug #494320
2007-11-13 Ondrej Jirman <megous@megous.com>
** Fix for bug #494320
* e-popup.c: (e_popup_create_menu): Add support for redefining
existing menu items.
svn path=/trunk/; revision=34530
-rw-r--r-- | e-util/ChangeLog | 7 | ||||
-rw-r--r-- | e-util/e-popup.c | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog index 367105882e..d44416e18e 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,10 @@ +2007-11-13 Ondrej Jirman <megous@megous.com> + + ** Fix for bug #494320 + + * e-popup.c: (e_popup_create_menu): Add support for redefining + existing menu items. + 2007-11-05 Milan Crha <mcrha@redhat.com> ** Fix for bug #492692 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) { |