X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fbuttons.c;h=f8d181e497dc4f618b952451a1233c252c481354;hb=240269d614d12d0612cc0764589e6798378e2b8c;hp=228072e03f0c1c04a2ae02896151a8bf6b917e7b;hpb=3f3ea56ee7a6b0818aa916a44afd5127d99d4f42;p=rocksndiamonds.git diff --git a/src/buttons.c b/src/buttons.c index 228072e0..f8d181e4 100644 --- a/src/buttons.c +++ b/src/buttons.c @@ -1582,8 +1582,13 @@ struct GadgetInfo *CreateGadget(int first_tag, ...) new_gadget->custom_id = va_arg(ap, int); break; - case GDI_DESCRIPTION_TEXT: - new_gadget->description_text = va_arg(ap, char *); + case GDI_INFO_TEXT: + { + int max_textsize = MAX_INFO_TEXTSIZE; + + strncpy(new_gadget->info_text, va_arg(ap, char *), max_textsize); + new_gadget->info_text[max_textsize] = '\0'; + } break; case GDI_X: @@ -2179,7 +2184,7 @@ void HandleGadgets(int mx, int my, int button) gadget_pressed_repeated = (button != 0 && last_gi != NULL && new_gi == last_gi); - gadget_released = (button == 0 && last_gi != NULL); + gadget_released = (release_event && last_gi != NULL); gadget_released_inside = (gadget_released && new_gi == last_gi); gadget_released_off_borders = (gadget_released && new_gi != last_gi); @@ -2331,8 +2336,7 @@ void HandleGadgets(int mx, int my, int button) gi->event.off_borders = FALSE; /* initialize delay counter */ - pressed_delay = 0; - DelayReached(&pressed_delay, GADGET_FRAME_DELAY); + DelayReached(&pressed_delay, 0); if (gi->event_mask & GD_EVENT_PRESSED) gi->callback_action(gi);