Re: gobject lifecycle & bonobo



Hi Thomas,

On Sun, 2002-11-03 at 00:38, Thomas Vander Stichele wrote:
> While writing nautilus-media and the audio view, I ran into some issues 
> with the gobject lifecycle.

	I think this is more likely to be BonoboObject lifecycle related, and
more specifically BonoboControl - which is somewhat dramatically more
complicated; synchronizing lifecycle across 2 in-proc objects;
BonoboPlug / BonoboControl and 2 out of proc objects BonoboSocket /
BonoboControlFrame ;-)

	There is a document in libbonoboui/doc/control.txt that tries to
document the interactions.

> What I need to do is to have a dispose handler for the nautilus view so I 
> can stop playback as soon as the view gets stopped.

	Using the 'stop' button ? you need to hook the NautilusView interface
for that I believe; if you're talking about closing the window I'd
connect to the BonoboControl's "destroy" signal.

> b) Is there a better way to debug the lifecycle ?

	Did you use export ORBIT2_DEBUG=traces to see who was saying what to
whom ? also export BONOBO_DEBUG=refs:lifecycle might help.

> c) is it possible that the dispose and finalize handlers aren't being 
> called ? The view always keeps playing for a few more seconds until the 
> process gets terminated.

	It's certainly possible, that (what with having a belt and braces)
soln' the belt alone no longer works.

> d) I also see a warning from bonobo that there is a possible leak ref.
> Seems to me that bonobo knows there's something wrong ;)

	Quite possibly. It seems most likely you're leaking a ref somewhere;
checkout libbonobo/doc/refcounting.txt.

	HTH,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]