Re: [PATCH] oaf && bonobo activation errors
- From: Maciej Stachowiak <mjs noisehavoc org>
- To: jacob berkman <jacob ximian com>
- Cc: gnome-components-list gnome org
- Subject: Re: [PATCH] oaf && bonobo activation errors
- Date: Thu, 9 Aug 2001 18:11:16 -0700
On 09Aug2001 07:27PM (-0400), jacob berkman wrote:
> these patches make my life as a shlib component author easier.
>
The patch to oaf looks great; feel free to check it in with a ChangeLog
entry, assuming you have tested. Also please make the analogous change to
bonobo-activation.
- Maciej
> if there is a way for the oaf moniker to report the error in a better
> way? i am not too familiar with exceptions.
>
> anyway this prints out fun messages like:
>
> Message: OAF error activating component: g_module_open of
> 'libGNOME_FileSelector.so' failed: /gnome/lib/libGNOME_FileSelector.so:
> undefined symbol: POA_GNOME_FileSelector__init
>
> instead of just:
>
> Bonobo-WARNING **: Activation exception 'Unknown CORBA exception id:
> 'IDL:OAF/GeneralError:1.0''
>
> (should that really be a warning?)
>
> anyway, it'd be nice to get this into the new oaf and bonobo if they
> haven't gone out yet.
>
> jacob
> --
> "OOH!!! Look at me!! I'm Jacob Berkman! I have a witty .signature
> that nobody fully appreciates but myself!!" -- Anonymous
>
> Index: oaf/liboaf/oaf-plugin.c
> ===================================================================
> RCS file: /cvs/gnome/oaf/liboaf/oaf-plugin.c,v
> retrieving revision 1.13.4.2
> diff -u -r1.13.4.2 oaf-plugin.c
> --- oaf/liboaf/oaf-plugin.c 2001/05/08 22:31:01 1.13.4.2
> +++ oaf/liboaf/oaf-plugin.c 2001/08/09 23:34:00
> @@ -94,7 +94,8 @@
> char *error_string;
> OAF_GeneralError *error = OAF_GeneralError__alloc ();
>
> - error_string = g_strdup_printf ("g_module_open of '%s' failed", filename);
> + error_string = g_strdup_printf ("g_module_open of '%s' failed: %s",
> + filename, g_module_error ());
> error->description = CORBA_string_dup (error_string);
> CORBA_exception_set (ev, CORBA_USER_EXCEPTION,
> ex_OAF_GeneralError, error);
> Index: bonobo/monikers/bonobo-moniker-oaf.c
> ===================================================================
> RCS file: /cvs/gnome/bonobo/monikers/bonobo-moniker-oaf.c,v
> retrieving revision 1.8
> diff -u -r1.8 bonobo-moniker-oaf.c
> --- bonobo/monikers/bonobo-moniker-oaf.c 2001/05/02 19:26:28 1.8
> +++ bonobo/monikers/bonobo-moniker-oaf.c 2001/08/09 23:34:00
> @@ -10,6 +10,7 @@
>
> #include <liboaf/liboaf.h>
> #include <bonobo/bonobo-moniker-util.h>
> +#include <bonobo/bonobo-exception.h>
>
> #include "bonobo-moniker-std.h"
>
> @@ -39,6 +40,14 @@
> object = oaf_activate_from_id (
> (char *) bonobo_moniker_get_name_full (moniker), 0, NULL, ev);
>
> +
> + if (BONOBO_USER_EX (ev, "IDL:OAF/GeneralError:1.0")) {
> + OAF_GeneralError *error;
> +
> + error = ev->_params;
> + g_message ("OAF error activating component: %s", error->description);
> + return CORBA_OBJECT_NIL;
> + }
> /* g_warning ("Activate from ID '%s' = '%p'", bonobo_moniker_get_name_full (moniker)); */
>
> return bonobo_moniker_util_qi_return (object, requested_interface, ev);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]