fixed bugs when changing drawing area gadgets (like group elements)
authorHolger Schemel <info@artsoft.org>
Sun, 25 Jan 2015 19:15:43 +0000 (20:15 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 25 Jan 2015 19:15:43 +0000 (20:15 +0100)
ChangeLog
src/editor.c
src/libgame/gadgets.c

index a3fa618c841f0905655469789684eb44fd78e88f..fd54470deef6ff1a27fe08bbbc0ecd40252e8976 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
          no function behind it; will be used to zoom level editor playfield)
        * added key shortcuts '1' to '3' to view properties of drawing elements
        * fixed gadget display bug in editor (door 1 area) after test playing
+       * fixed bugs when changing drawing area gadgets (like group elements)
 
 2015-01-19
        * re-enabled editor palette element options in setup configuration file
index bba88fbe7e506b44f68dc552e7aee2e55219290e..5b1b756031cdc295082a09d7e0f524ddfaeffcbc 100644 (file)
@@ -7538,8 +7538,6 @@ static void AdjustDrawingAreaGadgets()
   ed_fieldy = (ed_ysize < MAX_ED_FIELDY ? ed_ysize : max_ed_fieldy);
 
   ModifyGadget(level_editor_gadget[GADGET_ID_DRAWING_LEVEL],
-              GDI_WIDTH, ed_fieldx * MINI_TILEX,
-              GDI_HEIGHT, ed_fieldy * MINI_TILEY,
               GDI_AREA_SIZE, ed_fieldx, ed_fieldy,
               GDI_END);
 
index 1c52ec5d422e5ce591426280d792a62af9871c49..9ff99690e96a1f3438a9cc1b4dca79747beb6a0b 100644 (file)
@@ -980,14 +980,12 @@ static void HandleGadgetTags(struct GadgetInfo *gi, int first_tag, va_list ap)
        gi->drawing.area_ysize = va_arg(ap, int);
 
        /* determine dependent values for drawing area gadget, if needed */
-       if (gi->width == 0 && gi->height == 0 &&
-           gi->drawing.item_xsize !=0 && gi->drawing.item_ysize !=0)
+       if (gi->drawing.item_xsize != 0 && gi->drawing.item_ysize != 0)
        {
          gi->width = gi->drawing.area_xsize * gi->drawing.item_xsize;
          gi->height = gi->drawing.area_ysize * gi->drawing.item_ysize;
        }
-       else if (gi->drawing.item_xsize == 0 && gi->drawing.item_ysize == 0 &&
-                gi->width != 0 && gi->height != 0)
+       else if (gi->width != 0 && gi->height != 0)
        {
          gi->drawing.item_xsize = gi->width / gi->drawing.area_xsize;
          gi->drawing.item_ysize = gi->height / gi->drawing.area_ysize;
@@ -1010,14 +1008,12 @@ static void HandleGadgetTags(struct GadgetInfo *gi, int first_tag, va_list ap)
        gi->drawing.item_ysize = va_arg(ap, int);
 
        /* determine dependent values for drawing area gadget, if needed */
-       if (gi->width == 0 && gi->height == 0 &&
-           gi->drawing.area_xsize !=0 && gi->drawing.area_ysize !=0)
+       if (gi->drawing.area_xsize != 0 && gi->drawing.area_ysize != 0)
        {
          gi->width = gi->drawing.area_xsize * gi->drawing.item_xsize;
          gi->height = gi->drawing.area_ysize * gi->drawing.item_ysize;
        }
-       else if (gi->drawing.area_xsize == 0 && gi->drawing.area_ysize == 0 &&
-                gi->width != 0 && gi->height != 0)
+       else if (gi->width != 0 && gi->height != 0)
        {
          gi->drawing.area_xsize = gi->width / gi->drawing.item_xsize;
          gi->drawing.area_ysize = gi->height / gi->drawing.item_ysize;