13
13
14
14
#include "pdcwin.h"
15
15
16
- RCSID ("$Id: pdcscrn.c,v 1.81 2007/04/18 02:26:19 wmcbrine Exp $" );
16
+ RCSID ("$Id: pdcscrn.c,v 1.82 2007/05/02 01:31:38 wmcbrine Exp $" );
17
17
18
18
enum { PDC_RESTORE_NONE , PDC_RESTORE_BUFFER , PDC_RESTORE_WINDOW };
19
19
@@ -222,10 +222,7 @@ void PDC_scr_close(void)
222
222
223
223
PDC_LOG (("PDC_scr_close() - called\n" ));
224
224
225
- SetConsoleScreenBufferSize (pdc_con_out , orig_scr .dwSize );
226
- SetConsoleWindowInfo (pdc_con_out , TRUE, & orig_scr .srWindow );
227
- SetConsoleScreenBufferSize (pdc_con_out , orig_scr .dwSize );
228
- SetConsoleWindowInfo (pdc_con_out , TRUE, & orig_scr .srWindow );
225
+ PDC_reset_shell_mode ();
229
226
230
227
if (SP -> _restore != PDC_RESTORE_NONE )
231
228
{
@@ -250,9 +247,6 @@ void PDC_scr_close(void)
250
247
return ;
251
248
}
252
249
253
- SetConsoleActiveScreenBuffer (pdc_con_out );
254
- SetConsoleMode (pdc_con_in , old_console_mode );
255
-
256
250
if (SP -> visibility != 1 )
257
251
curs_set (1 );
258
252
@@ -528,6 +522,15 @@ void PDC_reset_shell_mode(void)
528
522
{
529
523
PDC_LOG (("PDC_reset_shell_mode() - called.\n" ));
530
524
525
+ if (is_nt )
526
+ {
527
+ SetConsoleScreenBufferSize (pdc_con_out , orig_scr .dwSize );
528
+ SetConsoleWindowInfo (pdc_con_out , TRUE, & orig_scr .srWindow );
529
+ SetConsoleScreenBufferSize (pdc_con_out , orig_scr .dwSize );
530
+ SetConsoleWindowInfo (pdc_con_out , TRUE, & orig_scr .srWindow );
531
+ SetConsoleActiveScreenBuffer (pdc_con_out );
532
+ }
533
+
531
534
SetConsoleMode (pdc_con_in , old_console_mode );
532
535
}
533
536
0 commit comments