Hi Alan
I have just quickly looked at this and I believe I made this change by design.

The reason being that c_plinit calls plP_bop which calls plPsubpInit
which calls c_plschr before plsc->level is set to 1. Therefore a check
for initialisation level means that plP_state does not get called and
the state calls do not get placed in the buffer so it messes up
renders from the buffer.

I can't offhand remember what the need is for other state parameters.
Do I remember correctly that colours can be set before plinit calls to
give a different background colour?

Phil



On 18 May 2015 at 20:46, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote:
> Hi Phil:
>
> To avoid segfaults when plschr is called before plinit (see
> <https://sourceforge.net/p/plplot/bugs/162/>) it is essential to
> protect the plP_state( PLSTATE_CHR ); call you introduced into plschr
> with a level check.  At the same time (commit id 1424994f) I also
> implemented similar level checks to the plP_state( PLSTATE_SYM ); call
> you introduced to plssym and the plP_state( PLSTATE_FILL ); call where
> you removed the existing level check when you moved that call to the
> spat routine.  (I now realize that additional spat level check is
> redundant since spat is only called from functions which already do
> level checks, but I think it is best to leave it in for code clarity.)
>
> My question for you is did you forget the level check for
> the plP_state calls in plschr and plssym by design or
> in error?
>
> If by design, then we have to figure out some other way to provide
> users with a soft landing (not a segfault) when they call plschr or
> plssym before plinit.
>
> If in error, then you should probably review any other plP_state
> changes you made during your wxwidgets/plbuf changes to make sure the
> plP_state calls are protected by level checks in all cases.
>
> 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
> __________________________

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to