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>
Fri, 18 Dec 2020 01:12:55 +0000 (02:12 +0100)
src/tools.c

index 1cab72eab5a5ed9c8a0e853480fda53dc1cfec04..68ec63e915fa22e3ac77b9da29a0dfef29130544 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);
+       }
       }
     }