aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2007-05-12 09:14:55 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2007-05-12 09:14:55 +0800
commit1dd540e02b505af0fa2662c090c92aa8ca8e37a6 (patch)
treefe5ebb43dedfcc963affa5950fb2e771f47c3eed /shell/e-shell.c
parentc4d980042effc629e4caa36abe551874e5ef8226 (diff)
downloadgsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.tar
gsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.tar.gz
gsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.tar.bz2
gsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.tar.lz
gsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.tar.xz
gsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.tar.zst
gsoc2013-evolution-1dd540e02b505af0fa2662c090c92aa8ca8e37a6.zip
Create a shell window if the schema or an alias was found. Previously this
2007-05-11 Matthew Barnes <mbarnes@redhat.com> * e-shell.c (impl_Shell_handleURI): Create a shell window if the schema or an alias was found. Previously this only opened a window if an alias was found but not the schema. Makes the GNOME Clock applet able to correctly start Evolution once again. (#407104) svn path=/trunk/; revision=33514
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r--shell/e-shell.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c
index c6b380a1ec..159dea6834 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -257,8 +257,8 @@ impl_Shell_handleURI (PortableServer_Servant servant,
{
EShell *shell = E_SHELL (bonobo_object_from_servant (servant));
EComponentInfo *component_info;
+ GtkWidget *shell_window;
char *schema, *p;
- int show = FALSE;
schema = g_alloca(strlen(uri)+1);
strcpy(schema, uri);
@@ -267,26 +267,20 @@ impl_Shell_handleURI (PortableServer_Servant servant,
*p = 0;
component_info = e_component_registry_peek_info(shell->priv->component_registry, ECR_FIELD_SCHEMA, schema);
- if (component_info == NULL) {
- show = TRUE;
+ if (component_info == NULL)
component_info = e_component_registry_peek_info(shell->priv->component_registry, ECR_FIELD_ALIAS, schema);
- }
if (component_info == NULL) {
CORBA_exception_set (ev, CORBA_USER_EXCEPTION, ex_GNOME_Evolution_Shell_UnsupportedSchema, NULL);
return;
}
- if (show) {
- GtkWidget *shell_window;
-
- shell_window = (GtkWidget *)e_shell_create_window (shell, component_info->id, NULL);
- if (shell_window == NULL) {
- CORBA_exception_set (ev, CORBA_USER_EXCEPTION, ex_GNOME_Evolution_Shell_ComponentNotFound, NULL);
- return;
- }
+ shell_window = (GtkWidget *)e_shell_create_window (shell, component_info->id, NULL);
+ if (shell_window == NULL) {
+ CORBA_exception_set (ev, CORBA_USER_EXCEPTION, ex_GNOME_Evolution_Shell_ComponentNotFound, NULL);
+ return;
}
-
+
GNOME_Evolution_Component_handleURI (component_info->iface, uri, ev);
/* not an error not to implement it */
if (ev->_id != NULL && strcmp(ev->_id, ex_CORBA_NO_IMPLEMENT) == 0)