On Tue, 2008-01-29 at 08:27 +0000, Ross Burton wrote:
> On Mon, 2008-01-28 at 19:13 -0500, Kashyap Ashwin wrote:
> > In the above program, if I call clutter.main(), telepathy simply
> > refuses to run. 
> >
> > My theory is that both clutter.main() and gobject.MainLoop()
> > eventually get a new gobject main loop, but the path is different. I
> > have a feeling this is somehow due to some ugly Python problem, but if
> > you have a clue on why this happens, please let me know. 
> 
> The clutter loop is a glib main loop, yes.  Try removing clutter.main()
> and just using a gobject main loop.  I'm not exactly an expert in the
> clutter main loop details (hopefully Emmanuele will reply too) but that
> might work.

yes: you just spin a main loop, and it will "just work"(tm).

if you are not running the clutter main loop, though, but you are still
controlling the stage with clutter (that is: you are not embedding the
stage window inside another windowing environment like gtk+) then you
will have to intercept the CLUTTER_DELETE event (using a handler for
the ::event or the ::captured-event signals), stop *your* main loop
there and return True - otherwise clutter will assume that its main loop
is the one that's spinning, and will try and stop it, causing an
assertion failure (this is done as a sanity check). this is also the
case when running another main loop implementation with GMainLoop
support, like POE in Perl and twisted in Python.

caveat: this happens with clutter trunk, not with the stable branch; in
the stable branch you cannot do that and you either embed clutter inside
gtk+ and spin the gtk+ main loop, or you simply don't use another main
loop.

in any case: why isn't telepathy able to use the current main loop? I
guess d-bus can use the gtk+ main loop, so I don't understand why it
shouldn't be working with clutter's main loop as well.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi, OpenedHand Ltd.
Unit R, Homesdale Business Centre
216-218 Homesdale Rd., Bromley - BR12QZ
http://www.o-hand.com

-- 
To unsubscribe send a mail to [EMAIL PROTECTED]

Reply via email to