anchor.diff:  
     if (Button = mbLeft) and (gGameCursor.Mode = cmNone) then
     begin
  -    Obj := gMySpectator.HitTestCursor;
  -    if Obj <> nil then
  +    obj := gMySpectator.HitTestCursor;
  +    if obj <> nil then
       begin
         UpdateSelection;
  -      fDragObject := Obj;
  -      if Obj is TKMHouse then
  -        fDragHouseOffset := KMPointSubtract(TKMHouse(Obj).Entrance, gGameCursor.Cell); //Save drag point adjustement to house position
  +      fDragObject := obj;
  +      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;
  
positive.code: 
  procedure TKMapEdInterface.KeyDown(Key: Word; Shift: TShiftState; var aHandled: Boolean);
  var
    KeyHandled, KeyPassedToModal: Boolean;
  begin
    aHandled := True; // assume we handle all keys here
  
  
negative.code: 
  procedure TKMapEdInterface.MouseDown(Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
  var
    obj: TObject;
    keyHandled: Boolean;
  begin
    fMyControls.MouseDown(X,Y,Shift,Button);
  