Re: Serious Bonobo Problem for Sun
- From: Dietmar Maurer <dietmar ximian com>
- To: Darin Adler <darin eazel com>
- Cc: Michael Meeks <michael ximian com>, Maciej Stachowiak <mjs eazel com>, Miguel de Icaza <miguel ximian com>, brian cameron ireland sun com, Gnome Components <gnome-components-list gnome org>, Brian Cameron <Brian Cameron Sun COM>
- Subject: Re: Serious Bonobo Problem for Sun
- Date: Wed, 04 Apr 2001 18:54:53 +0200
Darin Adler wrote:
> > on 4/4/01 7:54 AM, Michael Meeks at michael ximian com wrote:
> >>> Ok, so, there are several problems here. The first problem is
> >>> built into the referencing scheme. An object has a reference count, but
> >>> this contains no concept of ownership whatsoever. ie. it is impossible to
> >>> tell who owns the 5 references it has. Consequently if someone comes
> >>> along, references the server and then crashes or just leaks the reference,
> >>> there is no possible way to detect this.
>
> > Darin Adler wrote:
> >> That's true in theory, but not in practice. In practice, the Bonobo objects
> >> we serve have a single owner. For example a Control has its control frame.
> >> While in theory other objects can be holding references, the reference count
> >> really does us no good here. A control without its control frame is usually
> >> not a useful thing to have.
>
> on 4/4/01 9:42 AM, Dietmar Maurer at dietmar ximian com wrote:
>
> > I thought this problem is already solved? (bonobo-control.c) /*
> > * This callback is invoked when the plug is unexpectedly destroyed by
> > * way of its associated X window dying. This usually indicates that
> > * the container application has died. This callback is _not_ invoked
> > * if the BonoboControl is destroyed normally, i.e. the user unrefs
> > * the BonoboControl away.
> > */
> > static gboolean
> > bonobo_control_plug_destroy_event_cb (GtkWidget *plug,
> > GdkEventAny *event,
>
> Yes, this code looks like it could be the first step to solving the problem.
> It's a good approach, because the X window system does ensure that windows
> belonging to dead processes go away.
>
> No, in practice it doesn't solve the problem. If you try with a test program
> I think you'll see that it doesn't work yet.
If it does not work we should fix it ;-) Do you know what's wrong?
Or is there any reason why this could never work? (I am not an X11 expert)
- Dietmar
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]