diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2007-05-14 08:45:29 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2007-05-14 08:45:29 +0800 |
commit | ffb81288b230d3e6ffdc06353623f5fbbb6c803f (patch) | |
tree | 41ca70c2473868d93209d3f70ad6842ce77f8956 /shell | |
parent | d19a5a583dfd907ff981d8dcc187f47752eaa56c (diff) | |
download | gsoc2013-evolution-ffb81288b230d3e6ffdc06353623f5fbbb6c803f.tar.gz gsoc2013-evolution-ffb81288b230d3e6ffdc06353623f5fbbb6c803f.tar.zst gsoc2013-evolution-ffb81288b230d3e6ffdc06353623f5fbbb6c803f.zip |
Revert the change from 2007-05-11. (#407104)
2007-05-13 Matthew Barnes <mbarnes@redhat.com>
* e-shell.c (impl_Shell_handleURI):
Revert the change from 2007-05-11. (#407104)
svn path=/trunk/; revision=33523
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/e-shell.c | 20 |
2 files changed, 18 insertions, 7 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index db05a671a9..6ce4fdc8b1 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,8 @@ +2007-05-13 Matthew Barnes <mbarnes@redhat.com> + + * e-shell.c (impl_Shell_handleURI): + Revert the change from 2007-05-11. (#407104) + 2007-05-12 Matthew Barnes <mbarnes@redhat.com> ** Fixes part of bug #337616 diff --git a/shell/e-shell.c b/shell/e-shell.c index 159dea6834..c6b380a1ec 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,20 +267,26 @@ 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) + if (component_info == NULL) { + show = TRUE; 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; } - 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; + 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; + } } - + 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) |