Hi Phil

The removal of the templates does not need to be done after all.
see my email from 
today 2.46 PM  "Infinite Yielding issue"
that has a git patch or my 
3.16PM email that has the actual source code files.

I'll send more details, once we get all in sync in communication.

-Pedro








  ----- Original Message ----- 
  From: p.d.rosenb...@gmail.com 
  To: Pedro Vicente ; Alan W. Irwin 
  Cc: PLplot development list 
  Sent: Tuesday, December 27, 2016 6:21 PM
  Subject: RE: [Plplot-devel] Infinite Yielding issue


  This is really brief, I think we are all getting a little overexcited here 
very close to the release date.

   

  This is a functionality reducing, backwards incompatible API change. I know 
for one that it will not only cause build errors in some of my code, but 
because I use wxPLplotwindow<wxPanel> classes in some of my code it will mean I 
have to revert to using wxPLstream and duplicate all the code from 
wxPLplotwindow to restore my functionality. This is why I made the class 
templated in the first place. It also future proofs us for future wxWindow 
derived classes and significantly eases linking problems. So there are very 
good design reasons for the current state.

   

  That said, if we really can't solve the current problems with the existing 
model, then we should change. However we certainly should not do that in a 
rushed manner in the days leading up to release.

   

  Note that up to now the bug Pedro reported exists on one remote x server. It 
does not appear to affect the Cygwin x server when used remotely, nor Xming. I 
would suggest that if we wish to release approximately on time, then we restore 
the previous API and release with a note saying that this remote X server has a 
compatibility issue and that users should check the git repo for updates.

   

  Meanwhile I can still think of two or three ways we can quite likely sort 
this without losing functionality or generating backwards incompatible changes. 
But trying to do that over the Christmas break is just not doable for me. I can 
start looking at it properly in january.

   

  Also would it be possible to make use of trac to keep up to date on this 
issue? There are now a number of threads all referring to this problem/change 
in different ways with cross posting that means chronology doesn't make sense 
and I'm finding it impossible in the time I have to make sense of it all.

   

  So it turns out that this was not as brief as I hoped, but I hope you get my 
intention. In particular, I'm hugely grateful Pedro for your efforts on this. 
You've done a huge amount to push towards fixing this. It is easy for the tone 
of an email to be misinterpreted as grumpy, but please don’t think this is the 
case here – in fact the opposite, it's great to see interest in the device, but 
I think we all just need to take a breath, remember that some of us have young 
children and that this time of year means that PLplot is not everyone's top 
priority.

   

  Does that make sense?

   

  Sent from my Windows 10 phone

   

  From: Pedro Vicente
  Sent: 27 December 2016 19:46
  To: Alan W. Irwin
  Cc: Phil Rosenberg; PLplot development list
  Subject: Re: [Plplot-devel] Infinite Yielding issue

   

  @Alan, Phil

   

   

  >However, there is something we could try, which is,

  >keep the current way of wxPLplotwindow beging a template,

  >and at the same time overriding the Create() function (with template).

   

  ok, I implemented this, attached

   

  this

   

  1) will not break current template use

  2) will fix the bug

   

  Limitation:

  template can only be used with wxFrame (or a class that implements 

  Create() with the same

  signature)

   

  test demo and example 01 run OK in CentOS, output is below

   

   

   

  14:42:47: Debug: wxPLplotwindow::wxPLplotwindow

  14:42:47: Debug: wxPLplotwindow::Create()

  14:42:47: Debug: wxPLplotwindow::CreateStream()

  14:42:47: Debug: plD_init_wxwidgets(): enter

  14:42:47: Debug: wxPLDevice(): enter

  14:42:47: Debug: wxPLDevice(): gc done

  14:42:47: Debug: wxPLDevice(): m_interactiveTextGcdc done

  14:42:47: Debug: wxPLDevice(): SetDC done

  14:42:47: Debug: wxPLDevice(): leave

  14:42:47: Debug: plD_init_wxwidgets(): leave

  14:42:47: Debug: frame->Create

  14:42:47: Debug: Plot()

  14:42:48: Debug: wxPLplotwindow::OnCreate

  14:42:48: Debug: wxPLplotwindow::CreateStream()

   

   

   

  On 2016-12-27 12:58, Alan W. Irwin wrote:

  > On 2016-12-27 10:09-0500 Pedro Vicente wrote:

  > 

  >> @Alan

  >> 

  >>> Isn't that loss of functionality by definition a backwards

  >>> incompatibility in the API for the plplotwxwidgets library?

  >> 

  >> yes

  >> 

  >> but for the current (5.11.1) release compared to the new implemented 

  >> examples,

  >> the effect is the same

  >> 

  >> previously the way to start the demo was

  >> 

  >> wxPLplotwindow<wxFrame> *frame = new wxPLplotwindow<wxFrame>();

  >> 

  >> and now is

  >> 

  >> wxPLplotwindow *frame = new wxPLplotwindow();

  >> 

  >> and because wxPLplotwindow is a child of a wxFrame,

  >> the visible effect is exactly the same, a frame window that shows a 

  >> plot.

  > 

  > @Pedro:

  > 

  > Thanks for that clarification.  So if users stick with the old way of

  > creating frame they will get a build error (which I assume is the

  > reason why Laurent is now getting build errors with his own code that

  > links to the plplotwxwidgets library).  I do not say that in a

  > critical way since if the choices are unreliability on some platforms

  > versus changing our API in a backwards-incompatible way, then we must

  > take the latter choice.

  > 

  > @Phil:

  > 

  > Do you agree with Pedro there is no obvious way out of this choice? 

  > If

  > so, then so be it, but we do have to warn users in the release notes

  > of this backwards-incompatible change.

  > 

  > 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

  > __________________________

   

  -- 

  Pedro Vicente

  pedro.vice...@space-research.org

  http://www.space-research.org/

   
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to