2013-04-25 12:18 UTC+0200 Przemysław Czerpak (druzus/at/poczta.onet.pl)

* src/rtl/hbgtcore.c
    ! updated INKEYPOOL() code to respect extended key code in ALT+C and
      ALT+D detection
This commit is contained in:
Przemysław Czerpak
2013-04-25 12:17:26 +02:00
parent 3f9d9d99c1
commit b2ac52fc11
2 changed files with 45 additions and 13 deletions

View File

@@ -10,6 +10,11 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2013-04-25 12:18 UTC+0200 Przemysław Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbgtcore.c
! updated INKEYPOOL() code to respect extended key code in ALT+C and
ALT+D detection
2013-04-24 23:58 UTC+0200 Przemysław Czerpak (druzus/at/poczta.onet.pl)
- contrib/gtqtc/gtqtc.cpp
+ contrib/gtqtc/gtqtc1.cpp

View File

@@ -2806,22 +2806,49 @@ static void hb_gt_def_InkeyPollDo( PHB_GT pGT )
if( iKey )
{
switch( iKey )
if( HB_INKEY_ISEXT( iKey ) )
{
case HB_BREAK_FLAG: /* Check for Ctrl+Break */
case K_ALT_C: /* Check for normal Alt+C */
if( hb_setGetCancel() )
if( HB_INKEY_FLAGS( iKey ) & HB_KF_ALT )
{
switch( HB_INKEY_VALUE( iKey ) )
{
hb_vmRequestCancel(); /* Request cancellation */
return;
}
break;
case K_ALT_D: /* Check for Alt+D */
if( hb_setGetDebug() )
{
hb_vmRequestDebug(); /* Request the debugger */
return;
case 'C':
case 'c':
if( hb_setGetCancel() )
{
hb_vmRequestCancel(); /* Request cancellation */
return;
}
break;
case 'D':
case 'd':
if( hb_setGetDebug() )
{
hb_vmRequestDebug(); /* Request the debugger */
return;
}
}
}
}
else
{
switch( iKey )
{
case HB_BREAK_FLAG: /* Check for Ctrl+Break */
case K_ALT_C: /* Check for normal Alt+C */
if( hb_setGetCancel() )
{
hb_vmRequestCancel(); /* Request cancellation */
return;
}
break;
case K_ALT_D: /* Check for Alt+D */
if( hb_setGetDebug() )
{
hb_vmRequestDebug(); /* Request the debugger */
return;
}
}
}
HB_GTSELF_INKEYPUT( pGT, iKey );
}