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:   PopUp_ObjectsPalette.Width := PopUp_ObjectsPalette.MasterParent.Width - 50;
    PopUp_ObjectsPalette.Height := PopUp_ObjectsPalette.MasterParent.Height - 50;
  
    RowsCnt := (PopUp_ObjectsPalette.Height - 80) div (OBJ_CELL_H + 1);
    ColsCnt := Min(OBJECTS_PALETTE_MAX_COLS_CNT, (PopUp_ObjectsPalette.Width) div (OBJ_CELL_W + 1)); // Calc cols count without Scroll first
    Scroll_ObjectsPalette.Visible := RowsCnt*ColsCnt < fCountCompact;
    ColsCnt := Min(OBJECTS_PALETTE_MAX_COLS_CNT, (PopUp_ObjectsPalette.Width - 25*Byte(Scroll_ObjectsPalette.Visible)) div (OBJ_CELL_W + 1)); // Recalc ColsCount considering possible scroll width
  
    fObjPaletteTableSize := KMPoint(ColsCnt, RowsCnt);
  
  