aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-corba-shortcuts.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-corba-shortcuts.c')
-rw-r--r--shell/e-corba-shortcuts.c12
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);
}