anchor.diff:    Registry, SearchForms, SynEditTextBuffer, GotoForms, mneClasses,
     mneResources, MsgBox, GUIMsgBox;
   
  -var
  -  FIsEngineStart: Boolean = False;
  -  FIsEngineShutdown: Boolean  = False;
  +type
  +  TEngineLife  = (engnNone, engnStarting, engnStarted, engnShutdowning, engnShutdowned);
  +
  +var
  +  FEngineLife: TEngineLife  = engnNone;
     FEngine: TEditorEngine = nil;
   
   function Engine: TEditorEngine;
   begin
  -  if FIsEngineShutdown then
  +  if FEngineLife = engnShutdowned  then
       raise Exception.Create('Engine in shutdown?');
     if FEngine = nil then
       FEngine := TEditorEngine.Create;
  
positive.code: destructor TEditorEngine.Destroy;
  begin
    SetNotifyEngine(nil);
    if not FIsEngineShutdown then
      Shutdown;
    FreeAndNil(FDebugLink);
    FreeAndNil(FFiles);
  
negative.code: 
  procedure TEditorEngine.Startup;
  begin
    FEngineLife := engnStarted;
    Groups.Sort(@SortGroupsByTitle);
    DefaultProject.FileName := WorkSpace + 'mne-default-project.xml';
    LoadOptions;
    //here we will autoopen last project
    DefaultProject.LoadFromFile(DefaultProject.FileName);
    Session.Project := DefaultProject;
  end;
  
  