I am running programs that use PLplot (plplot-5.12.0) under Cygwin 64 (CYGWIN_NT-10.0) on Winows 10 (64-bit) using the gcc and gfortran compilers and the wingcc driver for interactive display. A program performs
plspause( 0 );
and it is then found that if the PLplot graphics window is minimised and restored when the program is paused, for example awaiting terminal input, then the graphics window freezes.
Attached C program demonstrates this behaviour. Equivalent Fortran program (which is where I discovered the problem) behaves the same.
I appologise if this has been raised and/or addressed in the past but searches for "freeze" mostly brought up items concerning code version freezing.
Graham Foster, Bedford, UK
I will try to take a look this weekend and come up with a fix. Out of curiousity, are you able to test the wingdi driver?
This bug is a bit more involved than I initially thought-- the bug manifests
itself even without the plspause(0) call and in both the wingdi and wingcc
drivers. I think I know where the problem is (the windows message handler)
but I need to commune with the Windows API documentation to figure out the
correct solution.
I want to make sure I understand the use case you have in mind and the
behavior that you observed:
between pages (hence the plspause(0)) because you want to control the pause
between pages.
that is sufficiently lengthy that the user could minimize the window.
then later restore the window the plot window does not update.
From: James Dishaw [mailto:jamesd47@users.sf.net]
Sent: Wednesday, June 14, 2017 11:29 PM
To: [plplot:support-requests] 44@support-requests.plplot.p.re.sf.net
Subject: [plplot:support-requests] #44 PLplot wingcc window freezes after
minimise/restore window
I will try to take a look this weekend and come up with a fix. Out of
curiousity, are you able to test the wingdi driver?
[support-requests:#44]
https://sourceforge.net/p/plplot/support-requests/44/ PLplot wingcc
window freezes after minimise/restore window
Status: open
Group:
Created: Mon Jun 12, 2017 11:24 PM UTC by Graham Foster
Last Updated: Mon Jun 12, 2017 11:24 PM UTC
Owner: nobody
Attachments:
https://sourceforge.net/p/plplot/support-requests/44/attachment/x02c_augmen ted.c (4.2 kB; application/octet-stream)
I am running programs that use PLplot (plplot-5.12.0) under Cygwin 64
(CYGWIN_NT-10.0) on Winows 10 (64-bit) using the gcc and gfortran compilers
and the wingcc driver for interactive display. A program performs
plspause( 0 );
and it is then found that if the PLplot graphics window is minimised and
restored when the program is paused, for example awaiting terminal input,
then the graphics window freezes.
Attached C program demonstrates this behaviour. Equivalent Fortran program
(which is where I discovered the problem) behaves the same.
I appologise if this has been raised and/or addressed in the past but
searches for "freeze" mostly brought up items concerning code version
freezing.
Graham Foster, Bedford, UK
Sent from sourceforge.net because you indicated interest in
https://sourceforge.net/p/plplot/support-requests/44/
To unsubscribe from further messages, please visit
https://sourceforge.net/auth/subscriptions/
I've just downloaded wingdi.c and I will attempt to get it working with my test program.
Thanks for your help
I have not forgotten about tracking down this bug. I am working on finding
a fix. Sorry for the delay.
From: Graham Foster [mailto:zach-foster@users.sf.net]
Sent: Thursday, June 15, 2017 5:23 PM
To: [plplot:support-requests] 44@support-requests.plplot.p.re.sf.net
Subject: [plplot:support-requests] #44 PLplot wingcc window freezes after
minimise/restore window
I've just downloaded wingdi.c and I will attempt to get it working with my
test program.
Thanks for your help
[support-requests:#44]
https://sourceforge.net/p/plplot/support-requests/44/ PLplot wingcc
window freezes after minimise/restore window
Status: open
Group:
Created: Mon Jun 12, 2017 11:24 PM UTC by Graham Foster
Last Updated: Thu Jun 15, 2017 03:28 AM UTC
Owner: nobody
Attachments:
https://sourceforge.net/p/plplot/support-requests/44/attachment/x02c_augmen ted.c (4.2 kB; application/octet-stream)
I am running programs that use PLplot (plplot-5.12.0) under Cygwin 64
(CYGWIN_NT-10.0) on Winows 10 (64-bit) using the gcc and gfortran compilers
and the wingcc driver for interactive display. A program performs
plspause( 0 );
and it is then found that if the PLplot graphics window is minimised and
restored when the program is paused, for example awaiting terminal input,
then the graphics window freezes.
Attached C program demonstrates this behaviour. Equivalent Fortran program
(which is where I discovered the problem) behaves the same.
I appologise if this has been raised and/or addressed in the past but
searches for "freeze" mostly brought up items concerning code version
freezing.
Graham Foster, Bedford, UK
Sent from sourceforge.net because you indicated interest in
https://sourceforge.net/p/plplot/support-requests/44/
To unsubscribe from further messages, please visit
https://sourceforge.net/auth/subscriptions/
I haven't yet managed to 'jump through all the hoops' to build the wingdi driver on my cygwin system.
However, I have noticed that the problem of freezing with the wingcc driver is not limited to just minimising & restoring the plot window. Any interaction with the plot window freezes it, such clicking to bring it to the front, or even just moving an overlying window from over it.
This now seems to have some resemblance to a query raised by John Duffy in 2014 https://sourceforge.net/p/plplot/mailman/message/32102568/ . There was no further correspondence for this query.
Thanks for your time.
Graham Foster, Bedford, UK
Your points 1., 2. and 3.summarise the bug as I originally observed it. However, as I noted in a follow-up message, the freeze occurs if any interation with the plot window takes place, not just minimise & restore . The attached two screen shots show x02c+.exe being run twice from a terminal window. In the first case <RTN> was hit 3 times, while in the second the terminal window (which overlapped the plot window slightly) was resized after the 2nd <RTN>. The plot window does not then update at the 3rd <RTN>.
Graham Foster, Bedford, UK
James,
Is this problem likely to be fixed?
At present a program using PLplot has to be started from a window that is small enough not to overlap the graphics window once it opens, and then no other programs can be used if there is any chance their window(s) might overlap the graphics window. Essentially only the one program can be run at a time - a bit like going back to the 1970s!
If the problem is not going to be fixed, then I will have to resume looking at other graphics packages.
Thanks
Graham Foster, Bedford, UK
Graham,
Attached is a new version of wingdi.c (which needs to go into the drivers
directory) and pldebug.h (which needs to go into the include directory).
Let me know if they work and I will push to the repository.
I was able to find a simpler fix than I thought (at least for wingdi).
Depending on your feedback, I will try to patch wingcc.
From: Graham Foster [mailto:zach-foster@users.sf.net]
Sent: Friday, July 14, 2017 8:12 AM
To: [plplot:support-requests] 44@support-requests.plplot.p.re.sf.net
Subject: [plplot:support-requests] #44 PLplot wingcc window freezes after
minimise/restore window
James,
Is this problem likely to be fixed?
At present a program using PLplot has to be started from a window that is
small enough not to overlap the graphics window once it opens, and then no
other programs can be used if there is any chance their window(s) might
overlap the graphics window. Essentially only the one program can be run at
a time - a bit like going back to the 1970s!
If the problem is not going to be fixed, then I will have to resume looking
at other graphics packages.
Thanks
Graham Foster, Bedford, UK
[support-requests:#44]
https://sourceforge.net/p/plplot/support-requests/44/ PLplot wingcc
window freezes after minimise/restore window
Status: open
Group:
Created: Mon Jun 12, 2017 11:24 PM UTC by Graham Foster
Last Updated: Sun Jun 25, 2017 12:40 AM UTC
Owner: nobody
Attachments:
https://sourceforge.net/p/plplot/support-requests/44/attachment/x02c_augmen ted.c (4.2 kB; application/octet-stream)
I am running programs that use PLplot (plplot-5.12.0) under Cygwin 64
(CYGWIN_NT-10.0) on Winows 10 (64-bit) using the gcc and gfortran compilers
and the wingcc driver for interactive display. A program performs
plspause( 0 );
and it is then found that if the PLplot graphics window is minimised and
restored when the program is paused, for example awaiting terminal input,
then the graphics window freezes.
Attached C program demonstrates this behaviour. Equivalent Fortran program
(which is where I discovered the problem) behaves the same.
I appologise if this has been raised and/or addressed in the past but
searches for "freeze" mostly brought up items concerning code version
freezing.
Graham Foster, Bedford, UK
Sent from sourceforge.net because you indicated interest in
https://sourceforge.net/p/plplot/support-requests/44/
To unsubscribe from further messages, please visit
https://sourceforge.net/auth/subscriptions/
When I try to cmake plplot under cygwin after including your wingdi driver, I get
:
[ 25%] Linking C shared library ../dll/cygplplot-14.dll
CMakeFiles/plplot.dir//drivers/wingdi.c.o:wingdi.c:(.text+0x1fe0): undefined reference to
__imp_InitCommonControlsEx' CMakeFiles/plplot.dir/__/drivers/wingdi.c.o:wingdi.c:(.text+0x1fe0): relocation truncated to fit: R_X86_64_PC32 against undefined symbol
imp_InitCommonControlsEx'collect2: error: ld returned 1 exit status
:
which probably arises from line 1161 in wingdi.c
if ( !InitCommonControlsEx( &init_controls ) )
Graham Foster, Bedford, UK
This is on Windows 10 using Cygwin with GNU toolchain? I will update the source code to use the older (and deprecated) Windows API calls. I’m not building using cygwin, so it is not a configuration that I have tested.
I'm afraid that I just downloaded the source code for plplot-5.12.0, then built and accessed the library by following the instructions that I found amongst the PLplot documentation. It all seemed to work OK; somewhat to my surprise, I must admit!
Having received no update to your wingdi driver that avoids the use of
InitCommonControlsEx
I reviewed our correspondence on the matter. I realised that my message dated 2017-07-20 could be misinterpreted. I was only trying to explain that I had downloaded, compiled & utilised plplot-5.12.0 by following the supplied instructions without looking at the methods & libraries utilised by the build process, and this worked. I have not managed to compile and implement youir wingdi driver that uses InitCommonControlsEx, so I can not judge whether it overcomes the graphic window freezing problem.
Graham Foster, Bedford, UK
Ticket moved from /p/plplot/support-requests/44/
Moving to bug reports since this is a bug report rather than a support request. Also changed owner to James.
Jim, can you please finish off dealing with this bug report?
Graham, can you try again with the PLplot version (5.15.0) that was just released? I am pretty sure you will find exactly the same problem, but it would be good to get that verified.
I encountered the same issue. It occurs any time there is any interaction with the plot widow. only occurs on MSW. the same code works perfectly in linux.
I can confirm that the issue persists 5.15.0.
I was not able to replicate this bug with 5.15.0 or the current master. Would you provide details on your build environment? Thanks
I'm using MSYS2 mingw64 compiler on windows 10.