Re: exception on exit

"Gustavo J. A. M. Carneiro" <[email protected]> Fri, 08 Jul 2005 12:20:56 +0100
Newsgroups gmane.comp.gnome.components
Organization INESC
Message-ID <1120821657.8685.6.camel@emperor>
On Fri, 2005-07-08 at 10:45 +0800, Davyd Madeley wrote:
> On Fri, 2005-07-08 at 10:02 +0800, Davyd Madeley wrote:
> 
> > ** ERROR **: file poa.c: line 1025 (ORBit_POA_activate_object_T):
> > assertion failed: ((poa->life_flags & ORBit_LifeF_DeactivateDo) == 0)
> > aborting...
> 
> It seems that I resolved this by plugging what looked like a race
> condition in the order I was destroying windows. However, this did bring
> up another interesting problem;
> 
> How can you tell if the process providing your widget has died. One of
> the libraries that this process is calling likes to make lots of
> uncatchable abort calls when it has errors. Now, I don't feel like
> hacking Fortran, so I'd much rather just find out when that process has
> died, cleanup the mess and ask if they want to restart it. Is there a
> signal I can listen to for this?

  Get the BonoboControlFrame for the BonoboWidget and connect to the
"system_exception" signal with a callback like this:

static void
stupid_control_has_died_on_me(BonoboControlFrame *frame,
			      CORBA_Object object,
			      CORBA_Environment *ev)
{
	...
}

  Cheers.

-- 
Gustavo J. A. M. Carneiro
<[email protected]> <[email protected]>
The universe is always one step beyond logic