anchor.diff:  
   function TATTabs._IsDrag: boolean;
   begin
  -  Result:= Dragging;
  +  Result:= Dragging and FMouseDragBegins;
   end;
   
   procedure TATTabs.GetTabXProps(AIndex: integer; const ARect: TRect;
  
positive.code:     if PtInRect(RectTab, Pnt) then
      begin
        Result:= i;
        APressedX:= PtInRect(GetTabRect_X(RectTab), Pnt);
        Exit;
      end;
    end;
  
negative.code: procedure TATTabs.DragOver(Source: TObject; X, Y: integer; State: TDragState;
    var Accept: Boolean);
  var
    IsX: Boolean;
    Limit: integer;
  begin
    //this is workaround for too early painted drop-mark (vertical red line)
    if not FMouseDragBegins then
    begin
      Limit:= Mouse.DragThreshold;
      FMouseDragBegins:= (Abs(X-FMouseDownPnt.X)>=Limit) or (Abs(Y-FMouseDownPnt.Y)>=Limit);
    end;
  
    if Source is TATTabs then
    begin
      Accept:=
  