Re: Patch for review.




I have two comments.

Nat Friedman <nat@helixcode.com> writes:

> Hi guys,
> 
>     The attached patch does three things:
> 
>         a. There was a problem with controls not being reparented
>            properly.  Basically if you reparent a GtkWidget which has
>            as an ancestor a BonoboControl, the control would crash.
>            The reason for this was that reparenting causes the
>            GtkSocket on the container side to get re-realized, and a
>            new XID therefore gets passed to the control, which doesn't
>            know how to deal with it and chokes.  The patch basically
>            creates a GtkPlug using the new XID, reparents the
>            control's top-level widget, and destroys the old plug.
>            Easy as pie.

In the local bypass case, it would be good to just avoid doing
anything if we're getting a second X11 ID which is also local. In
fact, I'm not sure the patch is correct right now because it would try
to add the control a second time to the parent of the socket, and I
don't even know what it does to try to pack something a second time
into the same box. I'd test this patch, but since it also breaks the
API, it would be a pain to try it on Nautilus, my usual test case for
the local socket bypass hack.

>         c. Adds an "autoactivate" facility to controls which allows
>            them to automatically be activated when they get focus.
>            This way, when you click on a control, it knows to merge
>            it's menus/toolbars.  This feature is off by default (so
>            that Views get the right behavior, basically), but
>            BonoboWidget turns it on.

Pardon if this is an obvious question, but why would auto-activation
by default be bad for Views?

 - Maciej



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]