X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=7eb432119ef905c6acbbb24f8e78c0a8474034cd;hb=fa1cf5ef4a93a5e1202a4a4af019af2477708906;hp=2157ef740c812d23b87ba6cb453781c2eec7b877;hpb=767b12942c5c43449b74e647cd113535d74cfd24;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 2157ef74..7eb43211 100644 --- a/src/tools.c +++ b/src/tools.c @@ -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); + } } } @@ -4804,6 +4811,8 @@ boolean Request(char *text, unsigned int req_state) boolean overlay_enabled = GetOverlayEnabled(); boolean result; + game.request_active_or_moving = TRUE; + SetOverlayEnabled(FALSE); if (global.use_envelope_request) @@ -4813,6 +4822,8 @@ boolean Request(char *text, unsigned int req_state) SetOverlayEnabled(overlay_enabled); + game.request_active_or_moving = FALSE; + return result; }