diff --git a/src/utils/name_generator_factory.cpp b/src/utils/name_generator_factory.cpp index cdd813fb013d..b00c016b6f2f 100644 --- a/src/utils/name_generator_factory.cpp +++ b/src/utils/name_generator_factory.cpp @@ -39,6 +39,7 @@ void name_generator_factory::add_name_generator_from_config(const config& config if(config.has_attribute(cfg_name)) { try { name_generators_[id] = std::shared_ptr(new context_free_grammar_generator(config[cfg_name])); + return; } catch (const name_generator_invalid_exception& ex) { lg::wml_error() << ex.what() << '\n'; diff --git a/src/utils/name_generator_factory.hpp b/src/utils/name_generator_factory.hpp index 0ff93b275e91..84c57072c844 100644 --- a/src/utils/name_generator_factory.hpp +++ b/src/utils/name_generator_factory.hpp @@ -48,7 +48,8 @@ class name_generator_factory std::map> name_generators_; /** - * Determines a name generator from WML data + * Determines a name generator from WML data. Tries first to load a context-free generator, + * then falls back to Markov. * @param config the WML data to be parsed for name generators * @param the prefix to look for * @returns a name generator or nullptr if not found