mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Fix black font and menu header when game exits in background (#16131)
This commit is contained in:
parent
5f06885ffa
commit
959a8b5b8b
3 changed files with 15 additions and 4 deletions
|
@ -367,9 +367,6 @@ Client::~Client()
|
|||
for (auto &csp : m_sounds_client_to_server)
|
||||
m_sound->freeId(csp.first);
|
||||
m_sounds_client_to_server.clear();
|
||||
|
||||
// Go back to our mainmenu fonts
|
||||
g_fontengine->clearMediaFonts();
|
||||
}
|
||||
|
||||
void Client::connect(const Address &address, const std::string &address_name)
|
||||
|
|
|
@ -531,6 +531,16 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
|
|||
{
|
||||
bool *kill = porting::signal_handler_killstatus();
|
||||
video::IVideoDriver *driver = m_rendering_engine->get_video_driver();
|
||||
auto *device = m_rendering_engine->get_raw_device();
|
||||
|
||||
// Wait until app is in foreground because of #15883
|
||||
infostream << "Waiting for app to be in foreground" << std::endl;
|
||||
while (m_rendering_engine->run() && !*kill) {
|
||||
if (device->isWindowVisible())
|
||||
break;
|
||||
sleep_ms(25);
|
||||
}
|
||||
infostream << "Waited for app to be in foreground" << std::endl;
|
||||
|
||||
infostream << "Waiting for other menus" << std::endl;
|
||||
auto framemarker = FrameMarker("ClientLauncher::main_menu()-wait-frame").started();
|
||||
|
@ -548,7 +558,7 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
|
|||
framemarker.end();
|
||||
infostream << "Waited for other menus" << std::endl;
|
||||
|
||||
auto *cur_control = m_rendering_engine->get_raw_device()->getCursorControl();
|
||||
auto *cur_control = device->getCursorControl();
|
||||
if (cur_control) {
|
||||
// Cursor can be non-visible when coming from the game
|
||||
cur_control->setVisible(true);
|
||||
|
|
|
@ -117,6 +117,10 @@ GUIEngine::GUIEngine(JoystickController *joystick,
|
|||
m_data(data),
|
||||
m_kill(kill)
|
||||
{
|
||||
// Go back to our mainmenu fonts
|
||||
// Delayed until mainmenu initialization because of #15883
|
||||
g_fontengine->clearMediaFonts();
|
||||
|
||||
// initialize texture pointers
|
||||
for (image_definition &texture : m_textures) {
|
||||
texture.texture = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue