diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 92f96197b2..6bedef05ad 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,11 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2007-06-28 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/source/rtl/gttrm/gttrm.c + * disable ternminal signals at startup + * redraw screen after __RUN() + 2007-06-28 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c ! fixed possible GPF and some other problems in HB_TRANSLATE() diff --git a/harbour/source/rtl/gttrm/gttrm.c b/harbour/source/rtl/gttrm/gttrm.c index 7c4a801fb6..01e8ee00d9 100644 --- a/harbour/source/rtl/gttrm/gttrm.c +++ b/harbour/source/rtl/gttrm/gttrm.c @@ -2654,10 +2654,16 @@ static void hb_gt_trm_Init( FHANDLE hFilenoStdin, FHANDLE hFilenoStdout, FHANDLE tcgetattr( hFilenoStdin, &s_termState.saved_TIO ); memcpy( &s_termState.curr_TIO, &s_termState.saved_TIO, sizeof( struct termios ) ); /* atexit( restore_input_mode ); */ - s_termState.curr_TIO.c_lflag &= ~( ICANON | ECHO ); - s_termState.curr_TIO.c_iflag &= ~ICRNL; - s_termState.curr_TIO.c_cc[ VMIN ] = 0; - s_termState.curr_TIO.c_cc[ VTIME ] = 0; + s_termState.curr_TIO.c_lflag &= ~( ECHO | ECHONL | ICANON | ISIG | IEXTEN ); + s_termState.curr_TIO.c_lflag |= NOFLSH; + s_termState.curr_TIO.c_cflag &= ~( CSIZE | PARENB ); + s_termState.curr_TIO.c_cflag |= CS8 | CREAD; + s_termState.curr_TIO.c_iflag &= ~( IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON ); + s_termState.curr_TIO.c_oflag &= ~OPOST; + /* s_termState.curr_TIO.c_oflag |= ONLCR | OPOST; */ + memset( s_termState.curr_TIO.c_cc, 0, NCCS ); + /* s_termState.curr_TIO.c_cc[ VMIN ] = 0; */ + /* s_termState.curr_TIO.c_cc[ VTIME ] = 0; */ tcsetattr( hFilenoStdin, TCSAFLUSH, &s_termState.curr_TIO ); act.sa_handler = SIG_DFL; @@ -2862,6 +2868,8 @@ static BOOL hb_gt_trm_Suspend( void ) static BOOL hb_gt_trm_Resume( void ) { + int iHeight, iWidth; + HB_TRACE( HB_TR_DEBUG, ( "hb_gt_trm_Resume()" ) ); #if defined( OS_UNIX_COMPATIBLE ) @@ -2872,6 +2880,9 @@ static BOOL hb_gt_trm_Resume( void ) #endif s_termState.Init(); + hb_gt_GetSize( &iHeight, &iWidth ); + hb_gt_ExposeArea( 0, 0, iHeight, iWidth ); + return TRUE; }