Re: gtkwindow changes



Hi,

Hang on - why do you have a GTK_RESIZE_IMMEDIATE toplevel?  I hope
this is on an override redirect window at least? It's really broken
for a managed window. We can't resize until we get configure notify.
 
>       if (container->resize_mode == GTK_RESIZE_QUEUE)
>         {
>           gtk_widget_queue_resize (widget);
>           _gtk_container_dequeue_resize_handler (container);
>         }
> +     else /* GTK_RESIZE_IMMEDIATE */
> +       {
> +         GtkAllocation allocation = { newwidth, newheight };
> +         gtk_widget_size_allocate (widget, &allocation);
> +         gtk_widget_queue_draw (widget);
> +       }

This would be OK for override redirect windows,

> can't yield correct results either, since gdk_window_resize(toplevelwindow)
> doesn't poke the new width and height into GdkWindow until a configure
> event is received, so drawing code that querries width/height from the
> gdkwindow instead of widget->allocation will break.

And updating the GdkWindow size immediately would also be OK for
override redirect windows.

But using GTK_RESIZE_IMMEDIATE for a managed window makes no sense to
me at all.

Havoc




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