diff --git a/src/gui/dialogs/multiplayer/mp_create_game.cpp b/src/gui/dialogs/multiplayer/mp_create_game.cpp index b34502bad3b5..2af6541d8c9b 100644 --- a/src/gui/dialogs/multiplayer/mp_create_game.cpp +++ b/src/gui/dialogs/multiplayer/mp_create_game.cpp @@ -607,10 +607,6 @@ void mp_create_game::display_games_of_type(window& window, ng::level::TYPE type, list.clear(); for(const auto& game : create_engine_.get_levels_by_type_unfiltered(type)) { - if(!game->can_launch_game()) { - continue; - } - std::map data; string_map item; @@ -840,6 +836,16 @@ bool mp_create_game::dialog_exit_hook(window& /*window*/) return false; } + if(!create_engine_.current_level().can_launch_game()) { + std::stringstream msg; + // TRANSLATORS: This sentence will be followed by some details of the error, most likely the "Map could not be loaded" message from create_engine.cpp + msg << _("The selected game can not be created."); + msg << "\n\n"; + msg << create_engine_.current_level().description(); + gui2::show_transient_error_message(msg.str()); + return false; + } + if(!create_engine_.is_campaign()) { return true; }