Wily multiple expose / redraw events

  • From: ozan s yigit <oz@xxxxxxxxxxx>
  • To: wilyfans@xxxxxxxxxxxxx
  • To: Ian Broster <ianb@xxxxxxxxxxxxx>
  • Date: Wed, 03 Mar 2004 15:37:57 -0500

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);
>               }
>       }
> }
> 

Other related posts: