anchor.diff:        FLastMaximized:= false;
         if (FLastMaximizedMonitor>=0) and (FLastMaximizedMonitor<Screen.MonitorCount) then
           BoundsRect:= Screen.Monitors[FLastMaximizedMonitor].BoundsRect;
  -      //Visible changing is to fix issue #4162
  -      Visible:= false;
  -      WindowState:= wsMaximized;
  -      Visible:= true;
  +      FNeedToMaximize:= true;
       end;
     end;
     //
  
positive.code:     FLastTooltipLine: integer;
      FLastAppActivate: QWord;
      FLastSaveSessionTick: QWord;
      FDisableTreeClearing: boolean;
      FInvalidateShortcuts: boolean;
      FInvalidateShortcutsForce: boolean;
  
negative.code: procedure TfmMain.FormActivate(Sender: TObject);
  begin
    AppActiveForm:= Sender;
  
    if FNeedToMaximize then
    begin
      FNeedToMaximize:= false;
      WindowState:= wsMaximized;
    end;
  end;
  
  procedure TfmMain.FormChangeBounds(Sender: TObject);
  