Re: Control lifecycle thoughts ... thanks.
- From: Darin Adler <darin bentspoon com>
- To: Michael Meeks <michael ximian com>
- Cc: Gnome Components <gnome-components-list gnome org>
- Subject: Re: Control lifecycle thoughts ... thanks.
- Date: Sun, 28 Oct 2001 21:20:15 -0800
on 10/28/01 6:13 PM, Michael Meeks at michael ximian com wrote:
> Good point - the broken signal can happen anytime, during the
> linc mainloop - so we need to delay any destruction logic to a glib
> idle handler. I've updated the document here, and the re-write is well
> underway.
Back when I was working on a proposal to fix this, I was reluctant to do the
"delay until idle" because I was worried that dead objects could accumulate
if you didn't return to the main loop for a while. But I don't really know
of an alternative.
Some other thoughts:
Is there another issue with the fact that any particular call on the
Bonobo_ControlFrame (or the UIContainer, or any other "other-side" object)
might be the first call to be made after the thing disappeared? That means
that all calls to Bonobo_ControlFrame must be prepared for failure, even
ones that normally would fail for no other reason. And that propagates to
the callers that are doing things that seem innocuous -- this might require
more changes to Bonobo and to Bonobo clients.
One other note. There was a race condition that could happen in Nautilus
when I added the code to self-destruct on the next idle after an X window
went away. Owen looked into it; his analysis is at
<http://lists.eazel.com/pipermail/nautilus-list/2001-May/003096.html>. I
later "fixed" this as described in
<http://lists.eazel.com/pipermail/nautilus-list/2001-May/003095.html> by
adding a delay of 1 minute. Not sure if your change is susceptible to the
same problem, but you might want to consider the issue.
-- Darin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]