anchor.diff:  
   function TATTabs._IsDrag: boolean;
   begin
  -  Result:= Dragging;
  +  Result:= Dragging and FMouseDragBegins;
   end;
   
   procedure TATTabs.GetTabXProps(AIndex: integer; const ARect: TRect;
  
positive.code: procedure TATTabs.DragOver(Source: TObject; X, Y: integer; State: TDragState;
    var Accept: Boolean);
  var
    IsX: Boolean;  
  begin
    if Source is TATTabs then
    begin
      Accept:=
  
negative.code:   FMouseDownPnt:= Point(X, Y);
    FMouseDownButton:= Button;
    FMouseDownShift:= Shift;
    FMouseDragBegins:= false;
  
    FTabIndexOver:= GetTabAt(X, Y, IsX);
  
    //activate tab only if not X clicked
    if not IsX then
  