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
This commit is contained in:
Ettore Perazzoli
2002-04-04 13:35:26 +00:00
parent 18a5655114
commit f9b9c12b3b
9 changed files with 148 additions and 64 deletions

View File

@ -94,7 +94,7 @@ free_pixmaps (void)
g_slist_free (inited_arrays);
}
/**
* e_activation_failure_dialog:
* @parent: parent window of the dialog, or %NULL
@ -140,3 +140,27 @@ e_activation_failure_dialog (GtkWindow *parent, const char *msg,
e_notice (parent, GNOME_MESSAGE_BOX_ERROR, errmsg);
g_free (errmsg);
}
/**
* e_get_activation_failure_msg:
* @ev: An exception returned by an oaf_activate call.
*
* Get a descriptive error message from @ev.
*
* Return value: A newly allocated string with the printable error message.
**/
char *
e_get_activation_failure_msg (CORBA_Environment *ev)
{
g_return_val_if_fail (ev != NULL, NULL);
if (strcmp (CORBA_exception_id (ev), ex_OAF_GeneralError) != 0) {
return bonobo_exception_get_text (ev);
} else {
const OAF_GeneralError *oaf_general_error;
oaf_general_error = CORBA_exception_value (ev);
return g_strdup (oaf_general_error->description);
}
}