Hi Phil: On 2017-01-13 08:48-0000 p.d.rosenb...@gmail.com wrote:
> Thanks Alan, I'll review those emails. Good. Here is my understanding from reviewing those e-mails and looking at code. I think the qt device driver is a good model for what has to be done. So if you look at Jim's changes for it, via git diff 5867959e^..5867959e drivers/qt.cpp you will see no changes for any of the noninteractive devices, but for the qtwidget device what happened previously in the eop code is now split into an "eop" routine that only exercises "non-wait" code and a "wait" routine that exercises all former eop code that waits. Currently there is no such wait routine in drivers/wx*.cpp, but I think you might need it since what is currently called wxPLDevice::EndPage has logic that depends on pls->nopause. So it appears that what you need to do is to follow what was done for qt and split all such wait code that is currently exercised by the eop routine into its own wait routine. If you agree this is the right way to go, then please go ahead with the implementation but also exercise extreme caution about pushing it, i.e., wait until you, Pedro, and I have thoroughly tested it on all platforms by building _both_ the test_c_wxwidgets (which exercises a subset of the examples with -dev wxwidgets and the -np option) and test_wxPLplotDemo targets on Linux and also by running one example with -dev wxwidgets on that platform without the -np option, and by doing the equivalent tests (running at least one example with -dev wxwidgets with and without the -np option and running wxPLplotDemo) for the MSVC case. Given such testing, I would be happy to see you push this in time for the 5.12.0 release because there are no impacts of such wxwidgets driver changes on any other part of PLplot. However, the reason why I suggest extreme caution about pushing is that Jim's equivalent change for cairo was a complete success for both -dev xcairo and ext-cairo-test, but it appeared to have a side effect of exposing a bug in extXdrawable_demo which we could not fix in a timely manner for the release of 5.11.1. Therefore, Jim and I made the joint decision then to revert his change to cairo.c (see commit d64d9c684) until someone could figure out that extXdrawable_demo issue. As of this date nobody has found such a solution so Jim's fix for xcairo still remains reverted. But if your equivalent change for wxwidgets works, then post-release I plan to reinstate Jim's fix for xcairo and simply drop extXdrawable_demo until someone can figure out the issue with it. In any case, in anticipation that you will be looking very carefully at the eop versus wait distinction in plbuf, I suggest you document that distinction clearly (in drivers/README.drivers or some other file that document refers to) so no other interactive driver writers run afoul of this issue. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel