Alan W. Irwin wrote:
> On 2010-05-29 17:33-0400 Hazen Babcock wrote:
> 
>> Alan W. Irwin wrote:
>>> Hi Hazen:
>>>
>>> Thanks for working on this bug.  Your current fix (revision 11019) 
>>> does give
>>> the desired result (a smooth exit when you close the window) if it is 
>>> the
>>> last or only page for a plot.  However, if it is some page other than 
>>> the
>>> last for a multi-page example, instead of giving a smooth exit like 
>>> qtwidget
>>> does, xcairo simply moves to the next page which is not desirable 
>>> behaviour
>>> (especially if you have many pages and want to stop the plot 
>>> immediately).
>>
>> I'm with Maurice on this one. If the driver calls plexit() then it 
>> will shutdown the users application as well unless they go to the 
>> trouble of adding their own plexit handler. I think this is a bad 
>> idea, as it pretty much puts us back to where we were with closing the 
>> window except that now we no longer get the error message from X.
> 
> I believe you are referring to the following quote from Andrew (rather than
> Maurice):
> 
> <quote>
> This is something of a tricky issue. Personally I don't like calling plexit
> -
> it seems like an overkill, particularly for interactive use like plframe
> or the octave bindings. This is what other drivers (e.g. qtwidget) do 
> though. Actually this is a more general issue where you don't want 
> plexit to
> be terminal to the whole program. I find this really irritating with octave
> for example where you do a whole load of calculations, then an error in
> plplot
> causes octave to crash and you have to repeat the whole thing.
> 
> A way round this is to call plsexit with a replacement exit handler. 
> Perhaps
> we should implement this for plframe and octave? An alternative would be 
> some flag that bindings could set to say "Don't make calls to plexit
> terminal"?
> 
> Of course this still leaves tricky questions about neatly tidying up the 
> plplot stream. This is something that plplot isn't very good at. </quote>
> 
> I certainly agree with the general principle that we should never clobber
> the environment that is calling PLplot when we close the window for our
> interactive devices, but clearly Andrew has some implementation concerns.
> 
> Hazen, while waiting for the noclobber implementation for closing the
> window, the question remains what to do in the meanwhile for closing the
> window for xcairo.  I would favour calling plexit just to be consistent 
> with
> what the other devices do for now.  Currently, that does not happen for 
> -dev
> xcairo. Instead, on multipage examples it simply moves to the next 
> page.  So
> I think you should reopen 2998264 until the plexit solution is in place for
> all pages for xcairo or until the noclobber implementation is done.

Ok, fixed in v11036. It should now behave like the qtwidget driver, 
which does not actually call plexit(). The stream is not really closed, 
but nothing can be plotted anymore so it at least appears closed. In the 
case of the examples, what happens is that once you click the close box 
all the subsequent plotting commands become nop's.

-Hazen


------------------------------------------------------------------------------

_______________________________________________
Plplot-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to