fix, AV while closing doc on linux

This commit is contained in:
Basile Burg 2014-12-12 07:05:37 +01:00
parent 89cde48f5c
commit 77e6a6ef77
1 changed files with 14 additions and 6 deletions

View File

@ -749,21 +749,31 @@ begin
hasEd := fDoc <> nil; hasEd := fDoc <> nil;
if hasEd then if hasEd then
begin begin
{$IFDEF MSWINDOWS}
// Under Linux, AV if doc is being closed
actEdCopy.Enabled := fDoc.SelAvail and fDoc.Focused; actEdCopy.Enabled := fDoc.SelAvail and fDoc.Focused;
actEdCut.Enabled := fDoc.SelAvail and fDoc.Focused; actEdCut.Enabled := fDoc.SelAvail and fDoc.Focused;
actEdPaste.Enabled := fDoc.CanPaste and fDoc.Focused; actEdPaste.Enabled := fDoc.CanPaste and fDoc.Focused;
{$IFDEF MSWINDOWS}
// close file : raises a segfault on linux UndoStuff.>>fList<<.Count...
actEdUndo.Enabled := fDoc.CanUndo; actEdUndo.Enabled := fDoc.CanUndo;
actEdRedo.Enabled := fDoc.CanRedo; actEdRedo.Enabled := fDoc.CanRedo;
//
actFileCompAndRun.Enabled := fDoc.isDSource;
actFileCompAndRunWithArgs.Enabled := fDoc.isDSource;
{$ELSE}
actEdCopy.Enabled := true;
actEdCut.Enabled := true;
actEdPaste.Enabled := true;
actEdUndo.Enabled := true;
actEdRedo.Enabled := true;
//
actFileCompAndRun.Enabled := fDoc.isDSource;
actFileCompAndRunWithArgs.Enabled := fDoc.isDSource;
{$ENDIF} {$ENDIF}
actEdMacPlay.Enabled := true; actEdMacPlay.Enabled := true;
actEdMacStartStop.Enabled := true; actEdMacStartStop.Enabled := true;
actEdIndent.Enabled := true; actEdIndent.Enabled := true;
actEdUnIndent.Enabled := true; actEdUnIndent.Enabled := true;
// //
actFileCompAndRun.Enabled := fDoc.isDSource;
actFileCompAndRunWithArgs.Enabled := fDoc.isDSource;
actFileSave.Enabled := true; actFileSave.Enabled := true;
actFileSaveAs.Enabled := true; actFileSaveAs.Enabled := true;
actFileClose.Enabled := true; actFileClose.Enabled := true;
@ -775,10 +785,8 @@ begin
actEdCopy.Enabled := false; actEdCopy.Enabled := false;
actEdCut.Enabled := false ; actEdCut.Enabled := false ;
actEdPaste.Enabled := false; actEdPaste.Enabled := false;
{$IFDEF MSWINDOWS}
actEdUndo.Enabled := false; actEdUndo.Enabled := false;
actEdRedo.Enabled := false; actEdRedo.Enabled := false;
{$ENDIF}
actEdMacPlay.Enabled := false; actEdMacPlay.Enabled := false;
actEdMacStartStop.Enabled := false; actEdMacStartStop.Enabled := false;
actEdIndent.Enabled := false; actEdIndent.Enabled := false;