Re: Serious Bonobo Problem for Sun



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]