anchor.diff:        if Obj is TKMHouse then
           fDragHouseOffset := KMPointSubtract(TKMHouse(Obj).Entrance, gGameCursor.Cell); //Save drag point adjustement to house position
         fDragObjectReady := True;
  +      fDragObjMousePosStart := KMPoint(X,Y);
       end;
     end;
   
  
positive.code: 
      // Drag object feature fields
      fDragObjectReady: Boolean;   // Ready to start drag object
      fDragingObject: Boolean;     // Flag when drag object is happening
      fDragObject: TObject;        // Object to drag
      fDragHouseOffset: TKMPoint;  // Offset for house position, to let grab house with any of its points
  
negative.code: 
  
  procedure TKMapEdInterface.MouseMove(Shift: TShiftState; X,Y: Integer; var aHandled: Boolean);
  const
    DRAG_OBJECT_MOUSE_MOVE_DIST = 15; //distance in pixels, when drag object mode starts
  begin
    inherited MouseMove(Shift, X, Y, aHandled);
    if aHandled then Exit;
  
    aHandled := True;
  
    if fDragObjectReady and (KMLength(fDragObjMousePosStart, KMPoint(X,Y)) > DRAG_OBJECT_MOUSE_MOVE_DIST) then
    begin
      if not (ssLeft in Shift) then
      begin
  