2013-11-05 23:05 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* src/rtl/gtwin/gtwin.c
    ! do not disable console control handler when terminal is suspended.
    ! ignore HB_K_BREAK event's caught when terminal was suspended.
This commit is contained in:
Przemysław Czerpak
2013-11-05 23:05:19 +01:00
parent 8453c6c565
commit 4bd5c38361
2 changed files with 11 additions and 5 deletions

View File

@@ -10,6 +10,11 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2013-11-05 23:05 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwin/gtwin.c
! do not disable console control handler when terminal is suspended.
! ignore HB_K_BREAK event's caught when terminal was suspended.
2013-11-05 08:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbcmd.c
! added missing ; in last commit

View File

@@ -201,6 +201,7 @@ static HB_BOOL s_bSpecialKeyHandling;
static HB_BOOL s_bAltKeyHandling;
static DWORD s_dwAltGrBits; /* JC: used to verify ALT+GR on different platforms */
static HB_BOOL s_bBreak; /* Used to signal Ctrl+Break to hb_inkeyPoll() */
static HB_BOOL s_bSuspend;
static int s_iCursorStyle;
static int s_iOldCurStyle;
static int s_iCurRow;
@@ -598,7 +599,8 @@ static BOOL WINAPI hb_gt_win_CtrlHandler( DWORD dwCtrlType )
case CTRL_CLOSE_EVENT:
case CTRL_BREAK_EVENT:
s_bBreak = HB_TRUE;
if( ! s_bSuspend )
s_bBreak = HB_TRUE;
bHandled = TRUE;
break;
@@ -878,7 +880,7 @@ static void hb_gt_win_Init( PHB_GT pGT, HB_FHANDLE hFilenoStdin, HB_FHANDLE hFil
s_hStdOut = hFilenoStdout;
s_hStdErr = hFilenoStderr;
s_bBreak = HB_FALSE;
s_bBreak = s_bSuspend = HB_FALSE;
s_cNumRead = 0;
s_cNumIndex = 0;
s_iOldCurStyle = s_iCursorStyle = SC_NORMAL;
@@ -1148,11 +1150,10 @@ static HB_BOOL hb_gt_win_Suspend( PHB_GT pGT )
if( s_pCharInfoScreen )
{
SetConsoleCtrlHandler( hb_gt_win_CtrlHandler, FALSE );
SetConsoleCtrlHandler( NULL, TRUE );
SetConsoleMode( s_HOutput, s_dwomode );
SetConsoleMode( s_HInput, s_dwimode );
}
s_bSuspend = HB_TRUE;
return HB_TRUE;
}
@@ -1162,13 +1163,13 @@ static HB_BOOL hb_gt_win_Resume( PHB_GT pGT )
if( s_pCharInfoScreen )
{
SetConsoleCtrlHandler( NULL, FALSE );
SetConsoleCtrlHandler( hb_gt_win_CtrlHandler, TRUE );
SetConsoleMode( s_HOutput, s_dwomode );
SetConsoleMode( s_HInput, s_bMouseEnable ? ENABLE_MOUSE_INPUT : 0x0000 );
hb_gt_win_xInitScreenParam( pGT );
hb_gt_win_xSetCursorStyle();
}
s_bSuspend = HB_FALSE;
return HB_TRUE;
}