added variable to store if request dialog event was processed
authorHolger Schemel <info@artsoft.org>
Fri, 18 Dec 2020 01:12:55 +0000 (02:12 +0100)
committerHolger Schemel <info@artsoft.org>
Mon, 21 Dec 2020 22:53:06 +0000 (23:53 +0100)
src/tools.c

index 8a2d895a8d65d5778a2e0bc9310c141a070ef2af..7eb432119ef905c6acbbb24f8e78c0a8474034cd 100644 (file)
@@ -4238,6 +4238,8 @@ static int RequestHandleEvents(unsigned int req_state)
 
   while (result < 0)
   {
+    boolean event_handled = FALSE;
+
     if (game_just_ended)
     {
       SetDrawtoField(draw_buffer_last);
@@ -4259,6 +4261,8 @@ static int RequestHandleEvents(unsigned int req_state)
 
       while (NextValidEvent(&event))
       {
+       event_handled = TRUE;
+
        switch (event.type)
        {
          case EVENT_BUTTONPRESS:
@@ -4513,12 +4517,15 @@ static int RequestHandleEvents(unsigned int req_state)
       }
     }
 
-    if (game_just_ended)
+    if (event_handled)
     {
-      if (global.use_envelope_request)
+      if (game_just_ended)
       {
-       // copy back current state of pressed buttons inside request area
-       BlitBitmap(drawto, bitmap_db_store_2, sx, sy, width, height, sx, sy);
+       if (global.use_envelope_request)
+       {
+         // copy back current state of pressed buttons inside request area
+         BlitBitmap(drawto, bitmap_db_store_2, sx, sy, width, height, sx, sy);
+       }
       }
     }