diff options
Diffstat (limited to 'shell/e-corba-shortcuts.c')
-rw-r--r-- | shell/e-corba-shortcuts.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/shell/e-corba-shortcuts.c b/shell/e-corba-shortcuts.c index 076b49d796..6a583d3b00 100644 --- a/shell/e-corba-shortcuts.c +++ b/shell/e-corba-shortcuts.c @@ -179,6 +179,12 @@ impl_addGroup (PortableServer_Servant servant, corba_shortcuts = E_CORBA_SHORTCUTS (bonobo_object_from_servant (servant)); priv = corba_shortcuts->priv; + if (position == 0) { + CORBA_exception_set (ev, CORBA_USER_EXCEPTION, + ex_GNOME_Evolution_Shortcuts_InvalidPosition, NULL); + return; + } + e_shortcuts_add_group (priv->shortcuts, position, name); } @@ -193,6 +199,12 @@ impl_removeGroup (PortableServer_Servant servant, corba_shortcuts = E_CORBA_SHORTCUTS (bonobo_object_from_servant (servant)); priv = corba_shortcuts->priv; + if (group_num == 0) { + CORBA_exception_set (ev, CORBA_USER_EXCEPTION, + ex_GNOME_Evolution_Shortcuts_CannotRemove, NULL); + return; + } + e_shortcuts_remove_group (priv->shortcuts, group_num); } |