fixed handling clickable global animations during request dialog
[rocksndiamonds.git] / src / tools.c
index 47c4b4f8536a52c4a6d10a51bdcc95a6e62cb4a4..0817e3d864e656b081d0a6658a5ed4774402dd47 100644 (file)
@@ -1064,7 +1064,8 @@ void FadeIn(int fade_mask)
 void FadeOut(int fade_mask)
 {
   // update screen if areas covered by "fade_mask" and "redraw_mask" differ
-  if (!equalRedrawMasks(fade_mask, redraw_mask))
+  if (!equalRedrawMasks(fade_mask, redraw_mask) &&
+      fade_type_skip != FADE_MODE_SKIP_FADE_OUT)
     BackToFront();
 
   SetScreenStates_BeforeFadingOut();
@@ -2845,7 +2846,7 @@ void ShowEnvelope(int envelope_nr)
   AnimateEnvelope(envelope_nr, main_anim_mode, ACTION_OPENING);
 
   if (tape.playing)
-    Delay(wait_delay_value);
+    Delay_WithScreenUpdates(wait_delay_value);
   else
     WaitForEventToContinue();
 
@@ -4361,6 +4362,8 @@ static int RequestHandleEvents(unsigned int req_state)
                break;
 
              default:
+               // only check clickable animations if no request gadget clicked
+               HandleGlobalAnimClicks(mx, my, button_status, FALSE);
                break;
            }