From 7cb0f5b92866f9a8c70d26ac0cd6f6fd0412d7b6 Mon Sep 17 00:00:00 2001 From: JaMiT Date: Tue, 25 Feb 2014 22:33:43 -0600 Subject: [PATCH] Split event names before filing handlers by name. Fixes bug #21577. --- changelog | 1 + src/game_events/handlers.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/changelog b/changelog index bb19d36cbc6d..1cd8c48fc6fe 100644 --- a/changelog +++ b/changelog @@ -9,6 +9,7 @@ Version 1.11.10+dev: * WML engine: * Bug #21643: Removing fog from a single hex no longer makes the hex ugly. * WML files whose names contain spaces are ignored. + * Bug #21722: Event handlers with multiple names never fired. * User interface: * Non-team labels no longer remove team labels that were present in the same hex. diff --git a/src/game_events/handlers.cpp b/src/game_events/handlers.cpp index 8f16d7b76675..b23aa258ce9e 100644 --- a/src/game_events/handlers.cpp +++ b/src/game_events/handlers.cpp @@ -191,8 +191,11 @@ namespace { // Types // File by name. if ( utils::might_contain_variables(name) ) dynamic_.push_back(new_handler); - else - by_name_[standardize_name(name)].push_back(new_handler); + else { + std::vector name_list = utils::split(name); + BOOST_FOREACH( const std::string & single_name, name_list ) + by_name_[standardize_name(single_name)].push_back(new_handler); + } // File by ID. if ( !id.empty() ) id_map_[id] = new_handler;