diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 851d8608e2..3d15485d97 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,11 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-07-30 03:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * source/rtl/memoedit.prg + ! Fixed to never popup "Abort (Y/N)" when pressing + in case a user function is used with MemoEdit(). + 2008-07-30 01:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed recent MSVC warning. Please test on WinCE/pre-1200 diff --git a/harbour/source/rtl/memoedit.prg b/harbour/source/rtl/memoedit.prg index 34b3ab8b0c..ed5f781253 100644 --- a/harbour/source/rtl/memoedit.prg +++ b/harbour/source/rtl/memoedit.prg @@ -147,31 +147,30 @@ METHOD KeyboardHook( nKey ) CLASS HBMemoEditor LOCAL nRow LOCAL nCol - IF nKey == K_ESC - - IF ::lDirty .AND. Set( _SET_SCOREBOARD ) - cBackScr := SaveScreen( ::nTop, ::nRight - 18, ::nTop, ::nRight ) - - nRow := Row() - nCol := Col() - @ ::nTop, ::nRight - 18 SAY "Abort Edit? (Y/N)" - - nYesNoKey := Inkey( 0 ) - - RestScreen( ::nTop, ::nRight - 18, ::nTop, ::nRight, cBackScr ) - SetPos( nRow, nCol ) - - IF Upper( Chr( nYesNoKey ) ) == "Y" - ::lSaved := .F. - ::lExitEdit := .T. - ENDIF - ELSE - ::lExitEdit := .T. - ENDIF - ENDIF - IF ISCHARACTER( ::xUserFunction ) ::HandleUserKey( nKey, ::xDo( iif( ::lDirty, ME_UNKEYX, ME_UNKEY ) ) ) + ELSE + IF nKey == K_ESC + IF ::lDirty .AND. Set( _SET_SCOREBOARD ) + cBackScr := SaveScreen( ::nTop, ::nRight - 18, ::nTop, ::nRight ) + + nRow := Row() + nCol := Col() + @ ::nTop, ::nRight - 18 SAY "Abort Edit? (Y/N)" + + nYesNoKey := Inkey( 0 ) + + RestScreen( ::nTop, ::nRight - 18, ::nTop, ::nRight, cBackScr ) + SetPos( nRow, nCol ) + + IF Upper( Chr( nYesNoKey ) ) == "Y" + ::lSaved := .F. + ::lExitEdit := .T. + ENDIF + ELSE + ::lExitEdit := .T. + ENDIF + ENDIF ENDIF RETURN Self