From: Maurice LeBrun <mjl@ga...> - 2004-06-27 10:19:56
Maurice LeBrun writes:
> Update of /cvsroot/plplot/plplot/src
> In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16429
> Modified Files:
> Log Message:
> Fixed broken logic in plP_eop() (mine, from long ago) governing when to
> not do anything. Now correctly does nothing only when already at eop,
> instead of depending on plsc->page_status==DRAWING as previous.
The essence of this change is:
> int skip_driver_eop = 0;
> - if (plsc->page_status != DRAWING)
> + if (plsc->page_status == AT_EOP)
> plsc->page_status = AT_EOP;
I vaguely recall putting the != DRAWING test in to "collapse" multiple bop eop
bop eop bop eop, etc, kinds of instruction sequences from occuring. Mostly to
condone certain crappy code practices. :) However I've observed a true bug
that results from this, so the crappy code practices have to be sacrificed.
The bug is:
The second eop is disregarded the old way.. bad news for an interactive driver
that issues a bop/eop in order to clear the screen (specifically, it was
plframe/X using double buffering).
Anyway, hopefully no one has a problem with this change, but let me know. I
did notice a bit different behavior for x20c ("lena"), but also wasn't getting
predictable behavior out of that before this change either. Haven't had time
to diagnose what is wrong with the logic there.
Get latest updates about Open Source Projects, Conferences and News.