Re: Our size allocation issues



Hi Alex,

On Thu, 2002-08-15 at 15:56, Alexander Larsson wrote:
> We really have to try to fix this for real. I think the problem is 
> caused by the fact that there is a GktSlot/GktPlug between the toplevel 
> and the NautilusView placed there by Bonobo, and it makes size allocation 
> issues very complicated. I did some work a while ago to fix this, but I 
> never really managed to find out the root cause.

	The strange thing is - I did some work too and had this fixed at one
stage, but we seem to have regressed,

> Michael, you know bonobo best, any chance you can take a look at this?

	The thing is - it's really not clear how to do this; in-proc we should
do sizing immediately on the BonoboPlug / BonoboSocket, since we
short-circuit all the clever Xembed stuff.

	Problem is (I imagine) some cunning idle sizing thing such that we get
a bogus size and do a re-size later; though quite what's going on takes
a lot of unwinding. I tried to force the sizing to happen in-proc in
libbonoboui's BonoboSocket's 'show' method thus:

static void
bonobo_socket_show (GtkWidget *widget)
{
	dprintf ("bonobo_socket_show %p\n", widget);

	/* We do a check_resize here, since if we're in-proc we
	 * want to force a size_allocate on the contained GtkPlug,
	 * before we go and map it (waiting for the idle resize),
	 * since idle can be held off for a good while, and cause
	 * extreme ugliness and flicker */
	gtk_container_check_resize (GTK_CONTAINER (widget));

	... chain to parent ...
}

	I believe this fixed it last time, quite what's wrong this time remains
to be seen. I'll have a look at it tommorow if I can.

	Any thoughts would be great,

	Regards,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




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