From 3fd5f62e00805879f6e459806712e4553e9bbe96 Mon Sep 17 00:00:00 2001 From: Ihar Hubchyk Date: Mon, 14 Sep 2026 22:03:21 +0800 Subject: [PATCH] Hide Editor's system message if the game's language has been changed (#10973) --- src/fheroes2/editor/editor_interface.h | 5 +++++ src/fheroes2/editor/editor_options.cpp | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/fheroes2/editor/editor_interface.h b/src/fheroes2/editor/editor_interface.h index e2afae180..76a4afb25 100644 --- a/src/fheroes2/editor/editor_interface.h +++ b/src/fheroes2/editor/editor_interface.h @@ -119,6 +119,11 @@ namespace Interface static fheroes2::Rect getObjectOccupiedArea( const Maps::ObjectGroup group, const int32_t objectType ); + void clearWarningMessage() + { + _warningMessage.reset( {} ); + } + private: class WarningMessage final { diff --git a/src/fheroes2/editor/editor_options.cpp b/src/fheroes2/editor/editor_options.cpp index 96fcec107..57486db3a 100644 --- a/src/fheroes2/editor/editor_options.cpp +++ b/src/fheroes2/editor/editor_options.cpp @@ -271,7 +271,14 @@ namespace Editor const std::vector supportedLanguages = fheroes2::getSupportedLanguages(); if ( supportedLanguages.size() > 1 ) { - selectLanguage( supportedLanguages, fheroes2::getLanguageFromAbbreviation( conf.getGameLanguage() ), true ); + const fheroes2::SupportedLanguage languageBefore = fheroes2::getLanguageFromAbbreviation( conf.getGameLanguage() ); + const fheroes2::SupportedLanguage languageAfter = selectLanguage( supportedLanguages, languageBefore, true ); + + if ( languageAfter != languageBefore ) { + Interface::EditorInterface::Get().clearWarningMessage(); + redrawEditor(); + saveConfiguration = true; + } } else { assert( supportedLanguages.front() == fheroes2::SupportedLanguage::English ); @@ -282,8 +289,6 @@ namespace Editor Dialog::OK ); } - redrawEditor(); - saveConfiguration = true; action = DialogAction::Configuration; break; }