From: Laurent B. <lau...@un...> - 2015-12-18 22:23:10
|
Hi, In plplot using wxwidgets driver which function must I use to get data coordinates using mouse event? I have try plGetCursor in an event callback but i connot retrieve coordinate. Thanks for your help |
From: Alan W. I. <ir...@be...> - 2015-12-18 22:54:24
|
On 2015-12-18 23:03+0100 Laurent Berger wrote: > Hi, > > In plplot using wxwidgets driver which function must I use to get data > coordinates using mouse event? > > I have try plGetCursor in an event callback but i connot retrieve > coordinate. Hi Laurent: Look at examples/c/x01c.c for an example of how plGetCursor should be used. If you get a good result with an interactive device accessible to you for example 1 with the -locate command-line option, but not -dev wxwidgets, that would be a bug in -dev wxwidgets. However, although I don't have access to wxwidgets at the moment, I am pretty sure I have already made that check in the past, and there was no such bug in -dev wxwidgets compared to the good interactive results that occur for the xwin, xcairo, and qtwidget devices. 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 __________________________ |
From: Laurent B. <lau...@un...> - 2015-12-19 10:42:35
|
Thanks for your answer. I have missed option -locate and now I can see coordinate in example x01c. It's really a good idea to insert example name with function description in doc:-) . Now I want to get coordinates in a program like wxPLplotdemo and I don't know where to insert this function in my code. I have try to insert in mouse event( left button down) like this: void FenetreCourbe::OnLeftDown(wxMouseEvent& event) { PLGraphicsIn x; plGetCursor(&x); wxString s; s.Printf("%f %f %d %d",x.dX,x.dY,x.pX,x.pY); wxMessageBox(s); } but coordinates are always -1 -1 -1 -1 when I click in curve. I don't know what to modify to get this coordinates. Le 18/12/2015 23:54, Alan W. Irwin a écrit : > On 2015-12-18 23:03+0100 Laurent Berger wrote: > >> Hi, >> >> In plplot using wxwidgets driver which function must I use to get data >> coordinates using mouse event? >> >> I have try plGetCursor in an event callback but i connot retrieve >> coordinate. > > Hi Laurent: > > Look at examples/c/x01c.c for an example of how plGetCursor should > be used. > > If you get a good result with an interactive device accessible to you > for example 1 with the -locate command-line option, but not -dev > wxwidgets, that would be a bug in -dev wxwidgets. However, although I > don't have access to wxwidgets at the moment, I am pretty sure I have > already made that check in the past, and there was no such bug in -dev > wxwidgets compared to the good interactive results that occur for the > xwin, xcairo, and qtwidget devices. > > 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 > __________________________ |
From: Alan W. I. <ir...@be...> - 2015-12-19 19:04:15
|
On 2015-12-19 11:42+0100 Laurent Berger wrote: > Thanks for your answer. I have missed option -locate and now I can see > coordinate in example x01c. It's really a good idea to insert example name > with function description in doc:-) . > Now I want to get coordinates in a program like wxPLplotdemo and I don't know > where to insert this function in my code. I have try to insert in mouse > event( left button down) like this: > > void FenetreCourbe::OnLeftDown(wxMouseEvent& event) > { > PLGraphicsIn x; > plGetCursor(&x); > wxString s; > s.Printf("%f %f %d %d",x.dX,x.dY,x.pX,x.pY); > wxMessageBox(s); > } > > but coordinates are always -1 -1 -1 -1 when I click in curve. I don't know > what to modify to get this coordinates. Hi Laurent: I suggest you follow exactly what is done in example 1 code since that obviously works for you. For example, surround the section of your code that is outputting text with pltext(); <text output code> plgra(); To see more about these functions, look at <http://plplot.sourceforge.net/docbook-manual/plplot-html-5.11.1/pltext.html> and <http://plplot.sourceforge.net/docbook-manual/plplot-html-5.11.1/plgra.html>. Also my above advice is based on examples/c/x01.c, but assuming you want to programme this in C++, you should follow the syntax for the PLplot commands in examples/c++/x01.cc. 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 __________________________ |
From: Phil R. <p.d...@gm...> - 2015-12-20 12:07:36
|
Hi Laurent (Alan, please see my email below - I accidentally replied to Laurent instead of replying to all yesterday) I've just had a look and you can use plTranslateCursor to get the coordinates. This function is listed as part of the API on p181 of the documentation, but it doesn't seem to be documented anywhere. This function isn't exposed in the C++ interface, so therefore isn't exposed by the wxWidgets interface. Hence I am not sure how you can access it unless you are using the C interface. Alan - I have just written some code to expose plTranslateCursor in the C++ interface and have added some code to the wxWidgets binding to capture mouse events and pass them back to the user easily. Are you happy for me to commit these changes? On 19 December 2015 at 21:46, Phil Rosenberg <p.d...@gm...> wrote: > Hi Laurent > > It looks to me like you are writing a wxWidgets application yourself. > Is this correct? Unfortunately plGetCursor only works when you do not > provide your own wxDC to Plplot, in this case plplot uses wxPlViewer - > a separate wxWidgets executable which captures the mouse clicks and > reports them back to the library. It is wxPlViewer that is used when > you run the examples from the command line. > > If you are passing a wxDC into Plplot, plGetCursor doesn't work and > emits a warning, but you probably don't see the warning as it is sent > to stdout. In this case you must handle mouse events yourself and > plGetCursor will not work. You need something like > > void wxPlFrame::OnMouse( wxMouseEvent &event ) > > { > > if(!event.ButtonDown()) > return; > //get the mouse position > wxPoint cursorPosition = event.GetPosition(); > > //some code to convert to plot coordinate > } > > Bind this function using the wxWidgets Bind() function or and event > table. Unfortunately the last bit, converting to plot coordinates you > may have to do yourself. I do not think there is a built in function > to do it - Alan, please correct me if this is wrong. However, if in > your wxWindow you remember the parameters passed into plwind then you > should be able to calculate the plot coordinates from the pixel values > returned from GetPosition(). |
From: Laurent B. <lau...@un...> - 2015-12-20 14:08:57
|
Hi phil, Thanks you to waste time on my problem. I have try something like this void FenetreCourbe::OnLeftDown(wxMouseEvent& event) { PLGraphicsIn g; wxPLplotstream* pls = GetStream(); // pls->adv(0); uncomment this line does not change result g.dX = event.GetX(); g.dY = event.GetY(); g.subwindow=0; plTranslateCursor(&g); } g.wx, g.wy are always 0 I have used this http://plplot.sourcearchive.com/documentation/5.9.9-1/plpage_8c_aee8b46bbe61887f2fd8dec90a7338e0d.html#aee8b46bbe61887f2fd8dec90a7338e0d. I do not understand why I must give g.dX, g.dy and not g.pX and g.pY All others fields of PLGraphics structure are unitialized Le 20/12/2015 13:07, Phil Rosenberg a écrit : > Hi Laurent > (Alan, please see my email below - I accidentally replied to Laurent > instead of replying to all yesterday) > > I've just had a look and you can use plTranslateCursor to get the > coordinates. This function is listed as part of the API on p181 of the > documentation, but it doesn't seem to be documented anywhere. > > This function isn't exposed in the C++ interface, so therefore isn't > exposed by the wxWidgets interface. Hence I am not sure how you can > access it unless you are using the C interface. > > Alan - I have just written some code to expose plTranslateCursor in > the C++ interface and have added some code to the wxWidgets binding to > capture mouse events and pass them back to the user easily. > > Are you happy for me to commit these changes? > > On 19 December 2015 at 21:46, Phil Rosenberg <p.d...@gm...> wrote: >> Hi Laurent >> >> It looks to me like you are writing a wxWidgets application yourself. >> Is this correct? Unfortunately plGetCursor only works when you do not >> provide your own wxDC to Plplot, in this case plplot uses wxPlViewer - >> a separate wxWidgets executable which captures the mouse clicks and >> reports them back to the library. It is wxPlViewer that is used when >> you run the examples from the command line. >> >> If you are passing a wxDC into Plplot, plGetCursor doesn't work and >> emits a warning, but you probably don't see the warning as it is sent >> to stdout. In this case you must handle mouse events yourself and >> plGetCursor will not work. You need something like >> >> void wxPlFrame::OnMouse( wxMouseEvent &event ) >> >> { >> >> if(!event.ButtonDown()) >> return; >> //get the mouse position >> wxPoint cursorPosition = event.GetPosition(); >> >> //some code to convert to plot coordinate >> } >> >> Bind this function using the wxWidgets Bind() function or and event >> table. Unfortunately the last bit, converting to plot coordinates you >> may have to do yourself. I do not think there is a built in function >> to do it - Alan, please correct me if this is wrong. However, if in >> your wxWindow you remember the parameters passed into plwind then you >> should be able to calculate the plot coordinates from the pixel values >> returned from GetPosition(). |
From: Alan W. I. <ir...@be...> - 2015-12-20 19:51:33
|
On 2015-12-20 12:07-0000 Phil Rosenberg wrote: > Hi Laurent > (Alan, please see my email below - I accidentally replied to Laurent > instead of replying to all yesterday) > > I've just had a look and you can use plTranslateCursor to get the > coordinates. This function is listed as part of the API on p181 of the > documentation, but it doesn't seem to be documented anywhere. > > This function isn't exposed in the C++ interface, so therefore isn't > exposed by the wxWidgets interface. Hence I am not sure how you can > access it unless you are using the C interface. > > Alan - I have just written some code to expose plTranslateCursor in > the C++ interface and have added some code to the wxWidgets binding to > capture mouse events and pass them back to the user easily. > > Are you happy for me to commit these changes? Sure. There won't be a freeze on such merges to master for quite some time so go ahead. Please also include a test that exercises your changes. Would examples/c++/wxPLplotDemo.cpp be suitable for such a test? 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 __________________________ |
From: Phil R. <p.d...@gm...> - 2015-12-22 08:21:49
|
Okay Alan, will do. I was just a bit worried that there might be a reason why pltranslatecursor had never been documented or propagated to other bindings. -----Original Message----- From: "Alan W. Irwin" <ir...@be...> Sent: 20/12/2015 19:51 To: "Phil Rosenberg" <p.d...@gm...> Cc: "Laurent Berger" <lau...@un...>; "plp...@li..." <plp...@li...> Subject: Re: [Plplot-devel] Screen coordinates to data coordinates withwxWidgets driver On 2015-12-20 12:07-0000 Phil Rosenberg wrote: > Hi Laurent > (Alan, please see my email below - I accidentally replied to Laurent > instead of replying to all yesterday) > > I've just had a look and you can use plTranslateCursor to get the > coordinates. This function is listed as part of the API on p181 of the > documentation, but it doesn't seem to be documented anywhere. > > This function isn't exposed in the C++ interface, so therefore isn't > exposed by the wxWidgets interface. Hence I am not sure how you can > access it unless you are using the C interface. > > Alan - I have just written some code to expose plTranslateCursor in > the C++ interface and have added some code to the wxWidgets binding to > capture mouse events and pass them back to the user easily. > > Are you happy for me to commit these changes? Sure. There won't be a freeze on such merges to master for quite some time so go ahead. Please also include a test that exercises your changes. Would examples/c++/wxPLplotDemo.cpp be suitable for such a test? 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 __________________________ |
From: Laurent B. <lau...@un...> - 2016-01-08 20:22:57
|
Hi, I want to use VS2015 now with wxwidgets and plplot. When I wxPlplotDemo It works fine until I press close box. An exception occurs at line 273 wxWidgets-3.1.0/src/common/dcgraph.cpp stack. When I set a breakpoint at line 273 in dcgraph.cpp stack trace for first call > wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ [Code externe] wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ [Code externe] wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() Ligne 110 C++ [Code externe] wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne 637 C++ wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne 503 C++ wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne 181 C++ wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, char * __formal, int nCmdShow) Ligne 290 C++ wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ [Code externe] If i go on debugging I reach break point twice with this statck trace > wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ [Code externe] wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ [Code externe] wxPLplotDemo.exe!wxPLDevice::~wxPLDevice() Ligne 543 C++ [Code externe] wxPLplotDemo.exe!plD_tidy_wxwidgets(PLStream * pls) Ligne 383 C++ wxPLplotDemo.exe!plP_tidy() Ligne 235 C wxPLplotDemo.exe!c_plend1() Ligne 2528 C wxPLplotDemo.exe!plstream::~plstream() Ligne 347 C++ wxPLplotDemo.exe!wxPLplotstream::~wxPLplotstream() Ligne 91 C++ wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() Ligne 111 C++ [Code externe] wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne 637 C++ wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne 503 C++ wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne 181 C++ wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, char * __formal, int nCmdShow) Ligne 290 C++ wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ [Code externe] An if press step exception occurs this->m_graphicContexthas been 0xFFFFFFFFFFF7... With VS 2013 there is no problem and setting breakpoint at same point this breakpoint is reach only once. I have build plplot with static lib and shared lib using release or debug mode and that's change nothing. Have you got an idea to help me solving this problem? Thanks in advance |
From: Phil R. <p.d...@gm...> - 2015-12-22 12:00:13
|
Hi Laurent, Alan I have just committed the changes exposing plTranslateCursor in the C++ binding. I have also documented it in the main API section - Alan, please tell me if this is not appropriate as it will not be exposed in other bindings. Also I am not 100% sure about the plGraphicsIn::state variable. This doesn't appear to be documented anywhere, there are just references to X11/X.h. I found a copy of that online, but haven't had chance to read up in detail. We really should document it ourselves. Laurent, if you are making use of the wxPLplotwindow templated class, then the easiest way to catch the mouse position now using the latest source is to inherit from this class and overload the virtual function OnLocate, which accepts a const reference to a PLGraphicsIn. This structure will have already been passed to plTranslateCursor and will have all relevant variables filled in. You can check wxPLplotDemo for an example of how this works. Alternatively you can check out wxPLplotwindow.h (in particular the OnMouse method) to see how you can write your own event capture code if you prefer. Phil On 22 December 2015 at 08:21, Phil Rosenberg <p.d...@gm...> wrote: > Okay Alan, will do. I was just a bit worried that there might be a reason > why pltranslatecursor had never been documented or propagated to other > bindings. > ________________________________ > From: Alan W. Irwin > Sent: 20/12/2015 19:51 > To: Phil Rosenberg > Cc: Laurent Berger; plp...@li... > Subject: Re: [Plplot-devel] Screen coordinates to data coordinates > withwxWidgets driver > > On 2015-12-20 12:07-0000 Phil Rosenberg wrote: > >> Hi Laurent >> (Alan, please see my email below - I accidentally replied to Laurent >> instead of replying to all yesterday) >> >> I've just had a look and you can use plTranslateCursor to get the >> coordinates. This function is listed as part of the API on p181 of the >> documentation, but it doesn't seem to be documented anywhere. >> >> This function isn't exposed in the C++ interface, so therefore isn't >> exposed by the wxWidgets interface. Hence I am not sure how you can >> access it unless you are using the C interface. >> >> Alan - I have just written some code to expose plTranslateCursor in >> the C++ interface and have added some code to the wxWidgets binding to >> capture mouse events and pass them back to the user easily. >> >> Are you happy for me to commit these changes? > > Sure. There won't be a freeze on such merges to master for quite some > time so go ahead. Please also include a test that exercises your > changes. Would examples/c++/wxPLplotDemo.cpp be suitable for such a > test? > > 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 > __________________________ |
From: Laurent B. <lau...@un...> - 2015-12-22 13:03:35
|
Thanks it works:-) Le 22/12/2015 13:00, Phil Rosenberg a écrit : > Hi Laurent, Alan > I have just committed the changes exposing plTranslateCursor in the > C++ binding. I have also documented it in the main API section - Alan, > please tell me if this is not appropriate as it will not be exposed in > other bindings. Also I am not 100% sure about the plGraphicsIn::state > variable. This doesn't appear to be documented anywhere, there are > just references to X11/X.h. I found a copy of that online, but haven't > had chance to read up in detail. We really should document it > ourselves. > > Laurent, if you are making use of the wxPLplotwindow templated class, > then the easiest way to catch the mouse position now using the latest > source is to inherit from this class and overload the virtual function > OnLocate, which accepts a const reference to a PLGraphicsIn. This > structure will have already been passed to plTranslateCursor and will > have all relevant variables filled in. You can check wxPLplotDemo for > an example of how this works. Alternatively you can check out > wxPLplotwindow.h (in particular the OnMouse method) to see how you can > write your own event capture code if you prefer. > > Phil > > > > On 22 December 2015 at 08:21, Phil Rosenberg <p.d...@gm...> wrote: >> Okay Alan, will do. I was just a bit worried that there might be a reason >> why pltranslatecursor had never been documented or propagated to other >> bindings. >> ________________________________ >> From: Alan W. Irwin >> Sent: 20/12/2015 19:51 >> To: Phil Rosenberg >> Cc: Laurent Berger; plp...@li... >> Subject: Re: [Plplot-devel] Screen coordinates to data coordinates >> withwxWidgets driver >> >> On 2015-12-20 12:07-0000 Phil Rosenberg wrote: >> >>> Hi Laurent >>> (Alan, please see my email below - I accidentally replied to Laurent >>> instead of replying to all yesterday) >>> >>> I've just had a look and you can use plTranslateCursor to get the >>> coordinates. This function is listed as part of the API on p181 of the >>> documentation, but it doesn't seem to be documented anywhere. >>> >>> This function isn't exposed in the C++ interface, so therefore isn't >>> exposed by the wxWidgets interface. Hence I am not sure how you can >>> access it unless you are using the C interface. >>> >>> Alan - I have just written some code to expose plTranslateCursor in >>> the C++ interface and have added some code to the wxWidgets binding to >>> capture mouse events and pass them back to the user easily. >>> >>> Are you happy for me to commit these changes? >> Sure. There won't be a freeze on such merges to master for quite some >> time so go ahead. Please also include a test that exercises your >> changes. Would examples/c++/wxPLplotDemo.cpp be suitable for such a >> test? >> >> 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 >> __________________________ |
From: Phil R. <p.d...@gm...> - 2016-01-11 17:54:13
|
Hi Laurent I am unfortunately so far unable to reproduce your error. I have tried checking out the same commit that you have and still I do not see the same error I can only think that this must be something to do with the new version of wxWidgets. I will try to look into it further, but I am not sure exactly when I will be able to upgrade to that version. Hopefully later this week. However, later on the 22nd Dec - the same day you checked out your version of PLPlot, I changed the destructor of wxPLplotwindow to virtual, which it should have been all the time, because wxWidgets is probably deleting it via a wxWindow * pointer. There is a chance this may have fixed your issue. Can you please check out the latest version of from the git repo and let me know if you still have the same problem. If the problem persists can I just confirm that you are getting the second stack trace twice identically? If you are then that is very strange as it means that plend() is getting called twice somehow. Also it is worth noting that I have just made some commits that fix some not quite correct aspect ratio problems that the wxWidgets driver was having (although I'm not sure if they existed when you pass a wxDC in, maybe just when run from non-wxWidgets apps). Phil On 9 January 2016 at 09:11, Phil Rosenberg <p.d...@gm...> wrote: > Hi Laurent > I am working with wxWidgets 3.0.2. Perhaps there have been some changes. > > However, looking at your two stack traces I think there is a plplot problem. > It looks like the wxPlplotwindow destructor is being called twice, once by > plplot and once by wxWidgets. > > I will look at this today and get back to you asap. > > Phil > ________________________________ > From: Laurent Berger > Sent: 08/01/2016 21:35 > To: Phil Rosenberg > Subject: Re: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 > > Hi phil > > i use git from git://git.code.sf.net/p/plplot/plplot > Using git log I have got this : > commit b90635d9fcba816f5bdd75c547c18bfe25d67ec0 > Author: Phil Rosenberg <p.d...@gm...> > Date: Tue Dec 22 11:52:17 2015 +0000 > I'm working too with windows 10 > > my wxWidgets is 3.1.0 with last commit from 8 jan 2016 > > Le 08/01/2016 22:24, Phil Rosenberg a écrit : > > Hi Laurent > Are you using the latest development version or the latest release version? > > I have also just swapped to VS2015 and the current development version I > working for me on Windows 10. > ________________________________ > From: Laurent Berger > Sent: 08/01/2016 20:23 > To: plp...@li... > Subject: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 > > Hi, > > I want to use VS2015 now with wxwidgets and plplot. When I wxPlplotDemo > It works fine until I press close box. An exception occurs at line 273 > wxWidgets-3.1.0/src/common/dcgraph.cpp stack. When I set a breakpoint at > line 273 in dcgraph.cpp stack trace for first call >> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ > [Code externe] > wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ > wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ > [Code externe] > wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() > Ligne 110 C++ > [Code externe] > wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne > 637 C++ > wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ > wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ > wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ > wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ > wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ > wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ > wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ > wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ > wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne > 503 C++ > wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne > 181 C++ > wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * > __formal, char * __formal, int nCmdShow) Ligne 290 C++ > wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * > hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ > [Code externe] > > If i go on debugging I reach break point twice with this statck trace > >> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ > [Code externe] > wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ > wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ > [Code externe] > wxPLplotDemo.exe!wxPLDevice::~wxPLDevice() Ligne 543 C++ > [Code externe] > wxPLplotDemo.exe!plD_tidy_wxwidgets(PLStream * pls) Ligne 383 C++ > wxPLplotDemo.exe!plP_tidy() Ligne 235 C > wxPLplotDemo.exe!c_plend1() Ligne 2528 C > wxPLplotDemo.exe!plstream::~plstream() Ligne 347 C++ > wxPLplotDemo.exe!wxPLplotstream::~wxPLplotstream() Ligne 91 C++ > wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() > Ligne 111 C++ > [Code externe] > wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne > 637 C++ > wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ > wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ > wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ > wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ > wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ > wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ > wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ > wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ > wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne > 503 C++ > wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne > 181 C++ > wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * > __formal, char * __formal, int nCmdShow) Ligne 290 C++ > wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * > hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ > [Code externe] > > An if press step exception occurs this->m_graphicContexthas been > 0xFFFFFFFFFFF7... > > With VS 2013 there is no problem and setting breakpoint at same point > this breakpoint is reach only once. > I have build plplot with static lib and shared lib using release or > debug mode and that's change nothing. > > Have you got an idea to help me solving this problem? > > Thanks in advance > > > > > > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > > |
From: Laurent B. <lau...@un...> - 2016-01-13 09:34:10
|
Hi, I need to resume before further insvestigations on my computer VS2013 wx3.1.0(commit 25-nov 2015) plplot (commit 22 dec 2015) ==> no problem VS2015 wx3.1.0(commit 25-nov 2015) plplot (commit 22 dec 2015) ==> bug in closing window on your computer VS2013 wx3.0.2 plplot (commit 22 dec 2015) ==> no problem VS2015 wx3.0.2 plplot (commit 22 dec 2015) ==> no problem I think VS 2015 compiler is not like vs2013 compiler I have comment line 2527 of plcore.c : plPTidy() and there is no exception. Of course it is not an answer to this problem but i think it helps to localize this problem. As you are not able to reproduce my error may be something is wrong in my configuration. I can stay with VS 2013 Laurent Le 11/01/2016 18:54, Phil Rosenberg a écrit : > Hi Laurent > I am unfortunately so far unable to reproduce your error. I have tried > checking out the same commit that you have and still I do not see the > same error > > I can only think that this must be something to do with the new > version of wxWidgets. I will try to look into it further, but I am not > sure exactly when I will be able to upgrade to that version. Hopefully > later this week. > > However, later on the 22nd Dec - the same day you checked out your > version of PLPlot, I changed the destructor of wxPLplotwindow to > virtual, which it should have been all the time, because wxWidgets is > probably deleting it via a wxWindow * pointer. There is a chance this > may have fixed your issue. Can you please check out the latest version > of from the git repo and let me know if you still have the same > problem. > > If the problem persists can I just confirm that you are getting the > second stack trace twice identically? If you are then that is very > strange as it means that plend() is getting called twice somehow. > > Also it is worth noting that I have just made some commits that fix > some not quite correct aspect ratio problems that the wxWidgets driver > was having (although I'm not sure if they existed when you pass a wxDC > in, maybe just when run from non-wxWidgets apps). > > Phil > > On 9 January 2016 at 09:11, Phil Rosenberg <p.d...@gm...> wrote: >> Hi Laurent >> I am working with wxWidgets 3.0.2. Perhaps there have been some changes. >> >> However, looking at your two stack traces I think there is a plplot problem. >> It looks like the wxPlplotwindow destructor is being called twice, once by >> plplot and once by wxWidgets. >> >> I will look at this today and get back to you asap. >> >> Phil >> ________________________________ >> From: Laurent Berger >> Sent: 08/01/2016 21:35 >> To: Phil Rosenberg >> Subject: Re: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 >> >> Hi phil >> >> i use git from git://git.code.sf.net/p/plplot/plplot >> Using git log I have got this : >> commit b90635d9fcba816f5bdd75c547c18bfe25d67ec0 >> Author: Phil Rosenberg <p.d...@gm...> >> Date: Tue Dec 22 11:52:17 2015 +0000 >> I'm working too with windows 10 >> >> my wxWidgets is 3.1.0 with last commit from 8 jan 2016 >> >> Le 08/01/2016 22:24, Phil Rosenberg a écrit : >> >> Hi Laurent >> Are you using the latest development version or the latest release version? >> >> I have also just swapped to VS2015 and the current development version I >> working for me on Windows 10. >> ________________________________ >> From: Laurent Berger >> Sent: 08/01/2016 20:23 >> To: plp...@li... >> Subject: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 >> >> Hi, >> >> I want to use VS2015 now with wxwidgets and plplot. When I wxPlplotDemo >> It works fine until I press close box. An exception occurs at line 273 >> wxWidgets-3.1.0/src/common/dcgraph.cpp stack. When I set a breakpoint at >> line 273 in dcgraph.cpp stack trace for first call >>> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ >> [Code externe] >> wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ >> wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ >> [Code externe] >> wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() >> Ligne 110 C++ >> [Code externe] >> wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne >> 637 C++ >> wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ >> wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ >> wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ >> wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ >> wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ >> wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ >> wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ >> wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ >> wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne >> 503 C++ >> wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne >> 181 C++ >> wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * >> __formal, char * __formal, int nCmdShow) Ligne 290 C++ >> wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * >> hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ >> [Code externe] >> >> If i go on debugging I reach break point twice with this statck trace >> >>> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ >> [Code externe] >> wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ >> wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ >> [Code externe] >> wxPLplotDemo.exe!wxPLDevice::~wxPLDevice() Ligne 543 C++ >> [Code externe] >> wxPLplotDemo.exe!plD_tidy_wxwidgets(PLStream * pls) Ligne 383 C++ >> wxPLplotDemo.exe!plP_tidy() Ligne 235 C >> wxPLplotDemo.exe!c_plend1() Ligne 2528 C >> wxPLplotDemo.exe!plstream::~plstream() Ligne 347 C++ >> wxPLplotDemo.exe!wxPLplotstream::~wxPLplotstream() Ligne 91 C++ >> wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() >> Ligne 111 C++ >> [Code externe] >> wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne >> 637 C++ >> wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ >> wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ >> wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ >> wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ >> wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ >> wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ >> wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ >> wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ >> wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne >> 503 C++ >> wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne >> 181 C++ >> wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * >> __formal, char * __formal, int nCmdShow) Ligne 290 C++ >> wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * >> hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ >> [Code externe] >> >> An if press step exception occurs this->m_graphicContexthas been >> 0xFFFFFFFFFFF7... >> >> With VS 2013 there is no problem and setting breakpoint at same point >> this breakpoint is reach only once. >> I have build plplot with static lib and shared lib using release or >> debug mode and that's change nothing. >> >> Have you got an idea to help me solving this problem? >> >> Thanks in advance >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Site24x7 APM Insight: Get Deep Visibility into Application Performance >> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month >> Monitor end-to-end web transactions and take corrective actions now >> Troubleshoot faster and improve end-user experience. Signup Now! >> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> >> |
From: Phil R. <p.d...@gm...> - 2016-01-13 10:36:18
|
Hi Laurent I have never used VS2013, I upgraded directly form 2012. My best guess is that something is being deleted twice, by removing that line of code it may be that some things are not deleted at all, so you may end up with memory leaks. As I mentioned before, the destructor was modified after the commit you last checked out, which may have fixed the problem. The next check should be to check out the latest version of PLPlot to see if that helps. You are correct that VS2015 seems to be quite different and is binary incompatible with previous versions. I had a number of problems when I upgraded too. Phil On 13 January 2016 at 09:33, Laurent Berger <lau...@un...> wrote: > Hi, > > I need to resume before further insvestigations > on my computer > VS2013 wx3.1.0(commit 25-nov 2015) plplot (commit 22 dec 2015) ==> no > problem > VS2015 wx3.1.0(commit 25-nov 2015) plplot (commit 22 dec 2015) ==> bug in > closing window > > on your computer > VS2013 wx3.0.2 plplot (commit 22 dec 2015) ==> no problem > VS2015 wx3.0.2 plplot (commit 22 dec 2015) ==> no problem > > I think VS 2015 compiler is not like vs2013 compiler > > I have comment line 2527 of plcore.c : plPTidy() and there is no exception. > Of course it is not an answer to this problem but i think it helps to > localize this problem. > > As you are not able to reproduce my error may be something is wrong in my > configuration. I can stay with VS 2013 > > Laurent > > > > > Le 11/01/2016 18:54, Phil Rosenberg a écrit : >> >> Hi Laurent >> I am unfortunately so far unable to reproduce your error. I have tried >> checking out the same commit that you have and still I do not see the >> same error >> >> I can only think that this must be something to do with the new >> version of wxWidgets. I will try to look into it further, but I am not >> sure exactly when I will be able to upgrade to that version. Hopefully >> later this week. >> >> However, later on the 22nd Dec - the same day you checked out your >> version of PLPlot, I changed the destructor of wxPLplotwindow to >> virtual, which it should have been all the time, because wxWidgets is >> probably deleting it via a wxWindow * pointer. There is a chance this >> may have fixed your issue. Can you please check out the latest version >> of from the git repo and let me know if you still have the same >> problem. >> >> If the problem persists can I just confirm that you are getting the >> second stack trace twice identically? If you are then that is very >> strange as it means that plend() is getting called twice somehow. >> >> Also it is worth noting that I have just made some commits that fix >> some not quite correct aspect ratio problems that the wxWidgets driver >> was having (although I'm not sure if they existed when you pass a wxDC >> in, maybe just when run from non-wxWidgets apps). >> >> Phil >> >> On 9 January 2016 at 09:11, Phil Rosenberg <p.d...@gm...> >> wrote: >>> >>> Hi Laurent >>> I am working with wxWidgets 3.0.2. Perhaps there have been some changes. >>> >>> However, looking at your two stack traces I think there is a plplot >>> problem. >>> It looks like the wxPlplotwindow destructor is being called twice, once >>> by >>> plplot and once by wxWidgets. >>> >>> I will look at this today and get back to you asap. >>> >>> Phil >>> ________________________________ >>> From: Laurent Berger >>> Sent: 08/01/2016 21:35 >>> To: Phil Rosenberg >>> Subject: Re: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 >>> >>> Hi phil >>> >>> i use git from git://git.code.sf.net/p/plplot/plplot >>> Using git log I have got this : >>> commit b90635d9fcba816f5bdd75c547c18bfe25d67ec0 >>> Author: Phil Rosenberg <p.d...@gm...> >>> Date: Tue Dec 22 11:52:17 2015 +0000 >>> I'm working too with windows 10 >>> >>> my wxWidgets is 3.1.0 with last commit from 8 jan 2016 >>> >>> Le 08/01/2016 22:24, Phil Rosenberg a écrit : >>> >>> Hi Laurent >>> Are you using the latest development version or the latest release >>> version? >>> >>> I have also just swapped to VS2015 and the current development version I >>> working for me on Windows 10. >>> ________________________________ >>> From: Laurent Berger >>> Sent: 08/01/2016 20:23 >>> To: plp...@li... >>> Subject: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 >>> >>> Hi, >>> >>> I want to use VS2015 now with wxwidgets and plplot. When I wxPlplotDemo >>> It works fine until I press close box. An exception occurs at line 273 >>> wxWidgets-3.1.0/src/common/dcgraph.cpp stack. When I set a breakpoint at >>> line 273 in dcgraph.cpp stack trace for first call >>>> >>>> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ >>> >>> [Code externe] >>> wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ >>> wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ >>> [Code externe] >>> wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() >>> Ligne 110 C++ >>> [Code externe] >>> wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne >>> 637 C++ >>> wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ >>> wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ >>> wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ >>> wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ >>> wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ >>> wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ >>> wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ >>> wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ >>> wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne >>> 503 C++ >>> wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne >>> 181 C++ >>> wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * >>> __formal, char * __formal, int nCmdShow) Ligne 290 C++ >>> wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * >>> hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ >>> [Code externe] >>> >>> If i go on debugging I reach break point twice with this statck trace >>> >>>> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ >>> >>> [Code externe] >>> wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ >>> wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ >>> [Code externe] >>> wxPLplotDemo.exe!wxPLDevice::~wxPLDevice() Ligne 543 C++ >>> [Code externe] >>> wxPLplotDemo.exe!plD_tidy_wxwidgets(PLStream * pls) Ligne 383 >>> C++ >>> wxPLplotDemo.exe!plP_tidy() Ligne 235 C >>> wxPLplotDemo.exe!c_plend1() Ligne 2528 C >>> wxPLplotDemo.exe!plstream::~plstream() Ligne 347 C++ >>> wxPLplotDemo.exe!wxPLplotstream::~wxPLplotstream() Ligne 91 C++ >>> wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() >>> Ligne 111 C++ >>> [Code externe] >>> wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne >>> 637 C++ >>> wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ >>> wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ >>> wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ >>> wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ >>> wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ >>> wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ >>> wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ >>> wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ >>> wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne >>> 503 C++ >>> wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne >>> 181 C++ >>> wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * >>> __formal, char * __formal, int nCmdShow) Ligne 290 C++ >>> wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * >>> hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ >>> [Code externe] >>> >>> An if press step exception occurs this->m_graphicContexthas been >>> 0xFFFFFFFFFFF7... >>> >>> With VS 2013 there is no problem and setting breakpoint at same point >>> this breakpoint is reach only once. >>> I have build plplot with static lib and shared lib using release or >>> debug mode and that's change nothing. >>> >>> Have you got an idea to help me solving this problem? >>> >>> Thanks in advance >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Site24x7 APM Insight: Get Deep Visibility into Application Performance >>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month >>> Monitor end-to-end web transactions and take corrective actions now >>> Troubleshoot faster and improve end-user experience. Signup Now! >>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 >>> _______________________________________________ >>> Plplot-devel mailing list >>> Plp...@li... >>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>> >>> > |
From: Phil R. <p.d...@gm...> - 2016-01-13 11:18:03
|
Hi Laurent I just looked into seeing if I could swap to using wxWidgets 3.1 from their Git repo. I had already downloaded it for some other reason. However, when I checked I am already using this version checked out at the following commit commit 24580198b8c6ad6cc8d52689f89efc96407e30bb Author: JulianSmart <ju...@an...> Date: Mon Dec 14 23:16:21 2015 +0000 I don't know how different that commit is to yours, but our systems are now even closer than we thought. Phil On 13 January 2016 at 10:36, Phil Rosenberg <p.d...@gm...> wrote: > Hi Laurent > I have never used VS2013, I upgraded directly form 2012. > > My best guess is that something is being deleted twice, by removing > that line of code it may be that some things are not deleted at all, > so you may end up with memory leaks. > > As I mentioned before, the destructor was modified after the commit > you last checked out, which may have fixed the problem. The next check > should be to check out the latest version of PLPlot to see if that > helps. > > You are correct that VS2015 seems to be quite different and is binary > incompatible with previous versions. I had a number of problems when I > upgraded too. > > Phil > > On 13 January 2016 at 09:33, Laurent Berger > <lau...@un...> wrote: >> Hi, >> >> I need to resume before further insvestigations >> on my computer >> VS2013 wx3.1.0(commit 25-nov 2015) plplot (commit 22 dec 2015) ==> no >> problem >> VS2015 wx3.1.0(commit 25-nov 2015) plplot (commit 22 dec 2015) ==> bug in >> closing window >> >> on your computer >> VS2013 wx3.0.2 plplot (commit 22 dec 2015) ==> no problem >> VS2015 wx3.0.2 plplot (commit 22 dec 2015) ==> no problem >> >> I think VS 2015 compiler is not like vs2013 compiler >> >> I have comment line 2527 of plcore.c : plPTidy() and there is no exception. >> Of course it is not an answer to this problem but i think it helps to >> localize this problem. >> >> As you are not able to reproduce my error may be something is wrong in my >> configuration. I can stay with VS 2013 >> >> Laurent >> >> >> >> >> Le 11/01/2016 18:54, Phil Rosenberg a écrit : >>> >>> Hi Laurent >>> I am unfortunately so far unable to reproduce your error. I have tried >>> checking out the same commit that you have and still I do not see the >>> same error >>> >>> I can only think that this must be something to do with the new >>> version of wxWidgets. I will try to look into it further, but I am not >>> sure exactly when I will be able to upgrade to that version. Hopefully >>> later this week. >>> >>> However, later on the 22nd Dec - the same day you checked out your >>> version of PLPlot, I changed the destructor of wxPLplotwindow to >>> virtual, which it should have been all the time, because wxWidgets is >>> probably deleting it via a wxWindow * pointer. There is a chance this >>> may have fixed your issue. Can you please check out the latest version >>> of from the git repo and let me know if you still have the same >>> problem. >>> >>> If the problem persists can I just confirm that you are getting the >>> second stack trace twice identically? If you are then that is very >>> strange as it means that plend() is getting called twice somehow. >>> >>> Also it is worth noting that I have just made some commits that fix >>> some not quite correct aspect ratio problems that the wxWidgets driver >>> was having (although I'm not sure if they existed when you pass a wxDC >>> in, maybe just when run from non-wxWidgets apps). >>> >>> Phil >>> >>> On 9 January 2016 at 09:11, Phil Rosenberg <p.d...@gm...> >>> wrote: >>>> >>>> Hi Laurent >>>> I am working with wxWidgets 3.0.2. Perhaps there have been some changes. >>>> >>>> However, looking at your two stack traces I think there is a plplot >>>> problem. >>>> It looks like the wxPlplotwindow destructor is being called twice, once >>>> by >>>> plplot and once by wxWidgets. >>>> >>>> I will look at this today and get back to you asap. >>>> >>>> Phil >>>> ________________________________ >>>> From: Laurent Berger >>>> Sent: 08/01/2016 21:35 >>>> To: Phil Rosenberg >>>> Subject: Re: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 >>>> >>>> Hi phil >>>> >>>> i use git from git://git.code.sf.net/p/plplot/plplot >>>> Using git log I have got this : >>>> commit b90635d9fcba816f5bdd75c547c18bfe25d67ec0 >>>> Author: Phil Rosenberg <p.d...@gm...> >>>> Date: Tue Dec 22 11:52:17 2015 +0000 >>>> I'm working too with windows 10 >>>> >>>> my wxWidgets is 3.1.0 with last commit from 8 jan 2016 >>>> >>>> Le 08/01/2016 22:24, Phil Rosenberg a écrit : >>>> >>>> Hi Laurent >>>> Are you using the latest development version or the latest release >>>> version? >>>> >>>> I have also just swapped to VS2015 and the current development version I >>>> working for me on Windows 10. >>>> ________________________________ >>>> From: Laurent Berger >>>> Sent: 08/01/2016 20:23 >>>> To: plp...@li... >>>> Subject: [Plplot-devel] Uisng plplot with wxwidgets and vs 2015 >>>> >>>> Hi, >>>> >>>> I want to use VS2015 now with wxwidgets and plplot. When I wxPlplotDemo >>>> It works fine until I press close box. An exception occurs at line 273 >>>> wxWidgets-3.1.0/src/common/dcgraph.cpp stack. When I set a breakpoint at >>>> line 273 in dcgraph.cpp stack trace for first call >>>>> >>>>> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ >>>> >>>> [Code externe] >>>> wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ >>>> wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ >>>> [Code externe] >>>> wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() >>>> Ligne 110 C++ >>>> [Code externe] >>>> wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne >>>> 637 C++ >>>> wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ >>>> wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ >>>> wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ >>>> wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ >>>> wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ >>>> wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ >>>> wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ >>>> wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ >>>> wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne >>>> 503 C++ >>>> wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne >>>> 181 C++ >>>> wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * >>>> __formal, char * __formal, int nCmdShow) Ligne 290 C++ >>>> wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * >>>> hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ >>>> [Code externe] >>>> >>>> If i go on debugging I reach break point twice with this statck trace >>>> >>>>> wxPLplotDemo.exe!wxGCDCImpl::~wxGCDCImpl() Ligne 273 C++ >>>> >>>> [Code externe] >>>> wxPLplotDemo.exe!wxDC::~wxDC() Ligne 742 C++ >>>> wxPLplotDemo.exe!wxGCDC::~wxGCDC() Ligne 122 C++ >>>> [Code externe] >>>> wxPLplotDemo.exe!wxPLDevice::~wxPLDevice() Ligne 543 C++ >>>> [Code externe] >>>> wxPLplotDemo.exe!plD_tidy_wxwidgets(PLStream * pls) Ligne 383 >>>> C++ >>>> wxPLplotDemo.exe!plP_tidy() Ligne 235 C >>>> wxPLplotDemo.exe!c_plend1() Ligne 2528 C >>>> wxPLplotDemo.exe!plstream::~plstream() Ligne 347 C++ >>>> wxPLplotDemo.exe!wxPLplotstream::~wxPLplotstream() Ligne 91 C++ >>>> wxPLplotDemo.exe!wxPLplotwindow<wxFrame>::~wxPLplotwindow<wxFrame>() >>>> Ligne 111 C++ >>>> [Code externe] >>>> wxPLplotDemo.exe!wxAppConsoleBase::DeletePendingObjects() Ligne >>>> 637 C++ >>>> wxPLplotDemo.exe!wxAppConsoleBase::ProcessIdle() Ligne 445 C++ >>>> wxPLplotDemo.exe!wxAppBase::ProcessIdle() Ligne 373 C++ >>>> wxPLplotDemo.exe!wxEventLoopBase::ProcessIdle() Ligne 98 C++ >>>> wxPLplotDemo.exe!wxEventLoopManual::DoRun() Ligne 263 C++ >>>> wxPLplotDemo.exe!wxEventLoopBase::Run() Ligne 76 C++ >>>> wxPLplotDemo.exe!wxAppConsoleBase::MainLoop() Ligne 380 C++ >>>> wxPLplotDemo.exe!wxAppConsoleBase::OnRun() Ligne 302 C++ >>>> wxPLplotDemo.exe!wxAppBase::OnRun() Ligne 312 C++ >>>> wxPLplotDemo.exe!wxEntryReal(int & argc, wchar_t * * argv) Ligne >>>> 503 C++ >>>> wxPLplotDemo.exe!wxEntry(int & argc, wchar_t * * argv) Ligne >>>> 181 C++ >>>> wxPLplotDemo.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * >>>> __formal, char * __formal, int nCmdShow) Ligne 290 C++ >>>> wxPLplotDemo.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * >>>> hPrevInstance, char * __formal, int nCmdShow) Ligne 129 C++ >>>> [Code externe] >>>> >>>> An if press step exception occurs this->m_graphicContexthas been >>>> 0xFFFFFFFFFFF7... >>>> >>>> With VS 2013 there is no problem and setting breakpoint at same point >>>> this breakpoint is reach only once. >>>> I have build plplot with static lib and shared lib using release or >>>> debug mode and that's change nothing. >>>> >>>> Have you got an idea to help me solving this problem? >>>> >>>> Thanks in advance >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance >>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month >>>> Monitor end-to-end web transactions and take corrective actions now >>>> Troubleshoot faster and improve end-user experience. Signup Now! >>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 >>>> _______________________________________________ >>>> Plplot-devel mailing list >>>> Plp...@li... >>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>> >>>> >> |