changed only handling pointer-style animations clicks in request dialogs
[rocksndiamonds.git] / src / tools.c
index a3aa3c34a9cbe12bf06beeb3c58395e6ae420019..3f551d63a01b630d6b195716c5d056307bae15eb 100644 (file)
@@ -3056,6 +3056,8 @@ static void PrepareEnvelopeRequestToScreen(Bitmap *bitmap, int sx, int sy,
   SDLFreeBitmapTextures(request.bitmap);
   SDLCreateBitmapTextures(request.bitmap);
 
+  ResetBitmapAlpha(request.bitmap);
+
   // set envelope request run-time values
   request.sx = sx;
   request.sy = sy;
@@ -3069,7 +3071,11 @@ void DrawEnvelopeRequestToScreen(int drawing_target)
       game.request_active &&
       drawing_target == DRAW_TO_SCREEN)
   {
-    if (graphic_info[IMG_BACKGROUND_REQUEST].draw_masked)
+    struct GraphicInfo *g = &graphic_info[IMG_BACKGROUND_REQUEST];
+
+    SetBitmapAlphaNextBlit(request.bitmap, g->alpha);
+
+    if (g->draw_masked)
       BlitToScreenMasked(request.bitmap, 0, 0, request.xsize, request.ysize,
                         request.sx, request.sy);
     else
@@ -4602,11 +4608,12 @@ static int RequestHandleEvents(unsigned int req_state, int draw_buffer_game)
                break;
 
              default:
-               // only check clickable animations if no request gadget clicked
-               HandleGlobalAnimClicks(mx, my, button_status, FALSE);
                break;
            }
 
+           // only needed to handle clickable pointer animations here
+           HandleGlobalAnimClicks(mx, my, button_status, FALSE);
+
            break;
          }