Hi Dan,
On Thu, 2003-10-02 at 19:00, Dan Winship wrote:
> OK, got a new one, CVS ORBit2 from yesterday or so. Looks like the stack
> may be a little trashed...
Ok - so I'll look at this; but I'm still chasing two other bugs: the
strange listener problem that Ettore was having, and also your g_error
on exit bug.
I added a regression test to libbonobo to try and repeat what I assumed
was a trivial bug; however - the servant finalize being run on a
non-destroyed object works perfectly well - since we hold GObject refs
on each facet of the aggregate until destroy time so your case can only
happen in two circumstances:
a) someone calls 'exit' from a BonoboObject finalize override,
and the stock ORB g_atexit cleans the object - this seems
to be slightly unlikely.
b) somewhere, someone is screwing up and doing a g_object_unref
on a BonoboObject.
Situation b) _could_ possibly result in Ettore's problem, although
perhaps it's unlikely; I can only generate the warning:
Bonobo-ERROR **: g_object_unreffing a bonobo_object that still has 1
refs
aborting...
Trace/breakpoint trap (core dumped)
by doing:
/* Deliberately leak */
object = g_object_new (bonobo_moniker_get_type(), NULL);
g_object_unref (object);
/* Deliberately don't do a debug shutdown - we leak */
return 0;
which is clearly broken.
I grokked the source for potential problems here with no luck though;
any ideas ?
Regards,
Michael.
--
[EMAIL PROTECTED] <><, Pseudo Engineer, itinerant idiot
_______________________________________________
evolution-hackers maillist - [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/evolution-hackers