rnd-19990220-1-src
[rocksndiamonds.git] / src / buttons.c
index db43b201cccc4aa7321638c95b29a850f94a5311..78e28d168a762814388b2d08c988bd2d721ac4ac 100644 (file)
@@ -510,6 +510,10 @@ static void HandleGadgetTags(struct GadgetInfo *gi, int first_tag, va_list ap)
        gi->custom_id = va_arg(ap, int);
        break;
 
+      case GDI_CUSTOM_TYPE_ID:
+       gi->custom_type_id = va_arg(ap, int);
+       break;
+
       case GDI_INFO_TEXT:
        {
          int max_textsize = MAX_INFO_TEXTSIZE - 1;
@@ -895,7 +899,8 @@ static void MultiMapGadgets(int mode)
   {
     if ((mode & MULTIMAP_PLAYFIELD && gi->x < SX + SXSIZE) ||
        (mode & MULTIMAP_DOOR_1 && gi->x >= DX && gi->y < DY + DYSIZE) ||
-       (mode & MULTIMAP_DOOR_1 && gi->x >= DX && gi->y > DY + DYSIZE))
+       (mode & MULTIMAP_DOOR_2 && gi->x >= DX && gi->y > DY + DYSIZE) ||
+       (mode & MULTIMAP_ALL) == MULTIMAP_ALL)
     {
       if (mode & MULTIMAP_UNMAP)
       {
@@ -1179,6 +1184,8 @@ void HandleGadgets(int mx, int my, int button)
 
   if (gadget_pressed_repeated)
   {
+    gi->event.type = GD_EVENT_PRESSED;
+
     if (gi->event_mask & GD_EVENT_REPEATED &&
        DelayReached(&pressed_delay, GADGET_FRAME_DELAY))
       gi->callback_action(gi);