Hi,
when calling endwin()/doupdate() more than once and if the screen contents changes between these two calls, the screen is not correctly preserved/restored during the next call to endwin().
I have checked this with cygwin (15.25) and PDC 3.3/win32
I have set the environment variables
PDC_PRESERVE_SCREEN=1
PDC_RESTORE_SCREEN=1
I have made a patch (win32/pdcscrn.c and refresh.c) that solves the problem for me (see attachment) - however, I'm not sure about the correctness (by means of SP validity) of the patch in pdcscrn.c
You can reach me "vco (at) gmx dot net" for further questions.
Best regards
Vassili
Patch (diff -u -w)