diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-04-04 21:35:26 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-04-04 21:35:26 +0800 |
commit | f9b9c12b3bb8671cdebfa1d6de3a1f3d50bae024 (patch) | |
tree | b5fe40a8e14f7b35ebd17219afa0a6d20a9f199f /shell/evolution-shell-component-client.c | |
parent | 18a565511459193ef135e4d4d06cea57e56fda5a (diff) | |
download | gsoc2013-evolution-f9b9c12b3bb8671cdebfa1d6de3a1f3d50bae024.tar.gz gsoc2013-evolution-f9b9c12b3bb8671cdebfa1d6de3a1f3d50bae024.tar.zst gsoc2013-evolution-f9b9c12b3bb8671cdebfa1d6de3a1f3d50bae024.zip |
Change type of parent_class to BonoboXObjectClass.
* evolution-shell-component.c: Change type of parent_class to
BonoboXObjectClass.
* e-shell.c (pop_up_activation_error_dialog): New helper function
to pop up a dialog if one of the components couldn't be activated,
getting the description for the error from
e_get_activation_failure_msg().
(setup_components): Use this function in case of activation error.
(set_owner_on_components): Likewise, when the component gets
restarted. Also get a @splash arg so we can set the parent for
this dialog correctly.
* e-component-registry.c (register_component): New arg @ev.
(e_component_registry_register_component): Likewise.
(e_component_registry_restart_component): Likewise. Also, remove
some bogus code that was #if'ed out.
* evolution-shell-component-client.c
(evolution_shell_component_client_new): New arg @ev.
* evolution-shell-component-utils.c
(e_get_activation_failure_msg): New.
svn path=/trunk/; revision=16342
Diffstat (limited to 'shell/evolution-shell-component-client.c')
-rw-r--r-- | shell/evolution-shell-component-client.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/shell/evolution-shell-component-client.c b/shell/evolution-shell-component-client.c index 574b75ecc8..9f570cf6da 100644 --- a/shell/evolution-shell-component-client.c +++ b/shell/evolution-shell-component-client.c @@ -388,31 +388,31 @@ evolution_shell_component_client_construct (EvolutionShellComponentClient *shell } EvolutionShellComponentClient * -evolution_shell_component_client_new (const char *id) +evolution_shell_component_client_new (const char *id, + CORBA_Environment *ev) { EvolutionShellComponentClient *new; - CORBA_Environment ev; CORBA_Object corba_object; + CORBA_Environment *local_ev; + CORBA_Environment static_ev; g_return_val_if_fail (id != NULL, NULL); - CORBA_exception_init (&ev); - - corba_object = oaf_activate_from_id ((char *) id, 0, NULL, &ev); /* Yuck. */ - if (ev._major != CORBA_NO_EXCEPTION) { - CORBA_exception_free (&ev); - g_warning ("Could not start up component for %s.", id); - return NULL; - } + CORBA_exception_init (&static_ev); - CORBA_exception_free (&ev); + if (ev == NULL) + local_ev = &static_ev; + else + local_ev = ev; - if (corba_object == CORBA_OBJECT_NIL) { - g_warning ("Could not activate component %s. " - "(Maybe you need to set OAF_INFO_PATH?)", id); + corba_object = oaf_activate_from_id ((char *) id, 0, NULL, ev); + if (ev->_major != CORBA_NO_EXCEPTION || corba_object == NULL) { + CORBA_exception_free (&static_ev); return NULL; } + CORBA_exception_free (&static_ev); + new = gtk_type_new (evolution_shell_component_client_get_type ()); evolution_shell_component_client_construct (new, id, corba_object); |