Wily multiple expose / redraw events

ozan s yigit <[email protected]> Wed, 03 Mar 2004 15:37:57 -0500
Newsgroups gmane.editors.wily
Message-ID <[email protected]>
thank you for the fix Ian, much appreciated. i will test this and
incorporate.

cheers.

oz

> Ages ago, I mentioned that wily redraws itself over and over
> again when resizing, taking up to 10 seconds to complete.
> Finally, I had look and here is a fix for the version of libXg
> that I have.
> 
> I've not sent it as a patch because I am (and wily in general is?)
> in a bit of a multiple version muddle.
> 
> Replace Redraw() in libXg/gwin.c:141 with the following.
> It basically checks that there are no more expose
> events in the queue before committing to redrawing.
> Seems to work for me, but I'm no X programmer.
> 
> Ian
> 
> 
> static void
> Redraw(Widget w, XEvent *e, Region r)
> {
> 	Reshapefunc f;
> 
> 	if (e && e->xexpose.count == 0)
> 	{
> 		f = ((GwinWidget)w)->gwin.reshaped;
> 		if(f)
> 		{
> 			(*f)(w->core.x, w->core.y,
> 				w->core.x+w->core.width, w->core.y+w->core.heig
> ht);
> 		}
> 	}
> }
>