anchor.diff:      PopUp_ObjectsPalette.Hide;
       ObjIndex := TKMButtonFlat(Sender).Tag;
       ObjectsUpdate(ObjIndex);
  -    UpdateObjectsScrollPosToIndex(ObjIndex);
  +
  +    if (Sender <> Button_ObjPaletteErase)
  +      and (Sender <> Button_ObjPaletteBlock) then
  +      UpdateObjectsScrollPosToIndex(ObjIndex);
     end;
   end;
   
  
positive.code:       K := (I + Scroll_ObjectsPalette.Position)*fObjPaletteTableSize.X + J;
        if K < fCountCompact then
        begin
          ObjectsPaletteTable[K].Left := J*65 + LeftAdj;
          ObjectsPaletteTable[K].Top := 25 + I*85 + TopAdj;
          ObjectsPaletteTable[K].TexID := gMapElements[fCompactToMapElem[K]].Anim.Step[1] + 1;
          ObjectsPaletteTable[K].Caption := IntToStr(fCompactToMapElem[K]);
          ObjectsPaletteTable[K].Visible := True;
  
negative.code: 
      Label_ObjectsPalette := TKMLabel.Create(PopUp_ObjectsPalette, PopUp_ObjectsPalette.Center.X, 0, gResTexts[TX_MAPED_TERRAIN_OBJECTS_PALETTE], fnt_Outline, taCenter);
  
      Button_ObjPaletteErase := TKMButtonFlat.Create(PopUp_ObjectsPalette, 0, 0, OBJ_CELL_W, 32, 340);
      Button_ObjPaletteErase.Hint := gResTexts[TX_MAPED_TERRAIN_OBJECTS_REMOVE];
      Button_ObjPaletteErase.Tag := 255; //no object
      Button_ObjPaletteErase.OnClickShift := ObjPalette_ClickShift;
  
      Button_ObjPaletteBlock := TKMButtonFlat.Create(PopUp_ObjectsPalette, 0, 0, OBJ_CELL_W, 32, 254, rxTrees);
      Button_ObjPaletteBlock.Hint := gResTexts[TX_MAPED_TERRAIN_OBJECTS_BLOCK];
      Button_ObjPaletteBlock.Tag := 61; //no object
      Button_ObjPaletteBlock.OnClickShift := ObjPalette_ClickShift;
  
      Button_ClosePalette  := TKMButton.Create(PopUp_ObjectsPalette, PopUp_ObjectsPalette.Center.X - 100, PopUp_ObjectsPalette.Bottom - 50,
                                               200, 30, gResTexts[TX_MAPED_TERRAIN_CLOSE_PALETTE], bsGame);
      Button_ClosePalette.Anchors := [anLeft,anBottom];
  