From 12f1d4752faa520ddcc9deb95f306fe0d8fb0e11 Mon Sep 17 00:00:00 2001 From: KMJ Date: Tue, 2 Mar 2004 03:55:07 +0000 Subject: [PATCH] Fixed issue with escape button skipping past messages ... ...where the user must make a choice. --- src/game_events.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/game_events.cpp b/src/game_events.cpp index 9468a9e8c8a..6935f269438 100644 --- a/src/game_events.cpp +++ b/src/game_events.cpp @@ -804,20 +804,22 @@ void event_handler::handle_event(const queued_event& event_info, const config* c cfg = cfg_; bool skip_messages = false; - for(config::all_children_iterator i = cfg->ordered_begin(); i != cfg->ordered_end(); ++i) { + for(config::all_children_iterator i = cfg->ordered_begin(); + i != cfg->ordered_end(); ++i) { const std::pair item = *i; + // If the user pressed escape, we skip any message that doesn't + // require them to make a choice. if ((skip_messages) && (*item.first == "message")) { - std::cerr << "message skipped!\n"; - continue; + if ((item.second)->get_children("option").size() == 0) { + continue; + } } if (!handle_event_command(event_info,*item.first,*item.second)) { - std::cerr << "skipping messages!\n"; skip_messages = true; } else { - std::cerr << "not skipping messages!\n"; skip_messages = false; } }