SynEdit: Cursor would disappear while application was running (Running via F9, needs SynEdit.KeyPressed/CommandProcessor to be re-entrant; so they must be executed before SynEdit locks everything down)

git-svn-id: trunk@17548 -
This commit is contained in:
martin 2008-11-23 15:19:38 +00:00
parent 89df2435c2
commit a3e24a5bec

View File

@ -7285,35 +7285,31 @@ begin
,' AChar=',AChar,' Data=',DbgS(Data)]);
DumpStack;
{$ENDIF}
{$IFDEF SYN_LAZARUS}
try
BeginUndoBlock;
{$ENDIF}
// first the program event handler gets a chance to process the command
DoOnProcessCommand(Command, AChar, Data);
if Command <> ecNone then begin
// notify hooked command handlers before the command is executed inside of
// the class
NotifyHookedCommandHandlers(FALSE, Command, AChar, Data);
// internal command handler
if (Command <> ecNone) and (Command < ecUserFirst) then
ExecuteCommand(Command, AChar, Data);
// notify hooked command handlers after the command was executed inside of
// the class
try
BeginUndoBlock;
if Command <> ecNone then begin
// notify hooked command handlers before the command is executed inside of
// the class
NotifyHookedCommandHandlers(FALSE, Command, AChar, Data);
// internal command handler
if (Command <> ecNone) and (Command < ecUserFirst) then
ExecuteCommand(Command, AChar, Data);
// notify hooked command handlers after the command was executed inside of
// the class
{$IFDEF SYN_LAZARUS}
if Command <> ecNone then
{$ENDIF}
NotifyHookedCommandHandlers(TRUE, Command, AChar, Data);
end;
{$IFDEF SYN_LAZARUS}
if Command <> ecNone then
{$ENDIF}
NotifyHookedCommandHandlers(TRUE, Command, AChar, Data);
end;
{$IFDEF SYN_LAZARUS}
if Command <> ecNone then
{$ENDIF}
DoOnCommandProcessed(Command, AChar, Data);
{$IFDEF SYN_LAZARUS}
finally
EndUndoBlock;
end;
{$ENDIF}
end;
procedure TCustomSynEdit.ExecuteCommand(Command: TSynEditorCommand;