Re: GTK+ redraw programs



Nope!

None of the patched worked (Owen and yours) :-/

But here is the log for you g_print patch.

I am using IceWM and have tried with both WindowMaker and E with same
results. Xfree version 3.3.1

The problem has come since the >= GTK 1.2.5 

As I see it the expose IS actually happen but the problem is that it looks 
like it draws only a tiny line (height = 1) and next time if i resize the
window all the childwidgets will show correct size...

Greats

MikeH



On Tue, 7 Sep 1999, Tim Janik wrote:

> On Mon, 6 Sep 1999, Tim Janik wrote:
> 
> > On 6 Sep 1999, Owen Taylor wrote:
> > 
> > > 
> > > [ resend to get the headers right. You'd think that _I'd_ know
> > >   that gtk-devel-list was @redhat.com. Sorry about that  ]
> > > 
> > > Hi guys,
> > > 
> > > Could you try out the following patch to gtkwidget.c. I have
> > > a hunch that what is happening is that expose events on widgets
> > > that get queued for resize after the initial show are getting
> > > discarded.
> > 
> > yes, and that is right because widgets that are queued for resizes
> > are also queued for a redraw (which opposed to expose events will
> > redraw recursively if the widget is a container), that's the whole
> > point of the expose event discarding code.
> > if this fix actually matters for people, it means that we have
> > problems in the redraw queue.
> 
> and indeed, there is a redraw problem with widgets queued for resizes.
> one constrain is that NEED_RESIZE widgets have a redraw pending on
> them, but in fact, gtk_widget_queue_resize() queues the redraw on
> the child and the resize on the parent.
> 
> Bruce and Mikael, could you check whether this patch fixes stuff
> for you?
> (Michael if that is not the case, i'd still like to get the expose
> event log from testgtk)
> 
> --- gtkwidget.c.orig    Mon Sep  6 20:58:53 1999
> +++ gtkwidget.c Tue Sep  7 00:30:13 1999
> @@ -2255,13 +2255,16 @@
>    if (GTK_IS_RESIZE_CONTAINER (widget))
>      gtk_container_clear_resize_widgets (GTK_CONTAINER (widget));
> 
> -  if (GTK_WIDGET_DRAWABLE (widget))
> -    gtk_widget_queue_clear (widget);
> -
>    if (widget->parent)
> -    gtk_container_queue_resize (GTK_CONTAINER (widget->parent));
> +    {
> +      gtk_widget_queue_clear (widget->parent);
> +      gtk_container_queue_resize (GTK_CONTAINER (widget->parent));
> +    }
>    else if (GTK_WIDGET_TOPLEVEL (widget))
> -    gtk_container_queue_resize (GTK_CONTAINER (widget));
> +    {
> +      gtk_widget_queue_clear (widget);
> +      gtk_container_queue_resize (GTK_CONTAINER (widget));
> +    }
>  }
> 
>  /*****************************************
> 
> 
> ---
> ciaoTJ
> 
> 

---

Check out my homepage at (under heavy reconstruction): 
http://www.bahnhof.se/~mikeh	

Email: mikeh@bahnhof.se
international Phone 46-44-126995
Sweden Phone: 044-126995
ICQ: Error fix later

Gdk-WARNING **: locale not supported by C library
### emitting ::expose_event for `GtkWindow'
### emitting ::expose_event for `GtkVBox'
### emitting ::expose_event for `GtkLabel'
### emitting ::expose_event for `GtkVBox'
### emitting ::expose_event for `GtkVScrollbar'
### emitting ::expose_event for `GtkViewport'
#### emitting ::draw for `GtkButton'
#### emitting ::draw for `GtkLabel'
### emitting ::expose_event for `GtkLabel'


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