Re: bonobo-wrapper patch.



Mathieu Lacage <lacage@email.enst.fr> writes:

> hi all, 
> 
> 
> Now, what happened is that the check to see if a GtkWidget has a GdkWindow is
> !GTK_WIDGET_NO_WINDOW (widget) which ends to be: 
> #define GTK_WIDGET_NO_WINDOW(wid)         ((GTK_WIDGET_FLAGS (wid) & GTK_NO_WINDOW) != 0)
> 
> The problem is that as BonoboWrapper inherits GtkBin, it has not GdkWindow by default
> (which is why we create it by hand actually) and the gtk_bin_init function does: 
> 
> gtk_bin_init (GtkBin *bin)
> {
>   GTK_WIDGET_SET_FLAGS (bin, GTK_NO_WINDOW);
> 
>   bin->child = NULL;
> }
> 
> 
> haha !!! bug found !!!

Good catch!

> 
> 
> The patch folows.
> 

Looks good to me.

> 
> 
> Index: bonobo-wrapper.c
> ===================================================================
> RCS file: /cvs/gnome/bonobo/bonobo/bonobo-wrapper.c,v
> retrieving revision 1.13
> diff -u -r1.13 bonobo-wrapper.c
> --- bonobo-wrapper.c	2000/03/07 11:57:03	1.13
> +++ bonobo-wrapper.c	2000/04/24 17:37:55
> @@ -131,6 +131,8 @@
>  static void
>  bonobo_wrapper_init (BonoboWrapper *wrapper)
>  {
> +	GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET(wrapper), GTK_NO_WINDOW);
> +
> 	wrapper->priv = g_new0 (BonoboWrapperPrivate, 1);
>  
> 	wrapper->priv->covered = TRUE;




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