mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-02 16:38:41 +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)
|
for (auto &csp : m_sounds_client_to_server)
|
||||||
m_sound->freeId(csp.first);
|
m_sound->freeId(csp.first);
|
||||||
m_sounds_client_to_server.clear();
|
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)
|
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();
|
bool *kill = porting::signal_handler_killstatus();
|
||||||
video::IVideoDriver *driver = m_rendering_engine->get_video_driver();
|
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;
|
infostream << "Waiting for other menus" << std::endl;
|
||||||
auto framemarker = FrameMarker("ClientLauncher::main_menu()-wait-frame").started();
|
auto framemarker = FrameMarker("ClientLauncher::main_menu()-wait-frame").started();
|
||||||
|
@ -548,7 +558,7 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
|
||||||
framemarker.end();
|
framemarker.end();
|
||||||
infostream << "Waited for other menus" << std::endl;
|
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) {
|
if (cur_control) {
|
||||||
// Cursor can be non-visible when coming from the game
|
// Cursor can be non-visible when coming from the game
|
||||||
cur_control->setVisible(true);
|
cur_control->setVisible(true);
|
||||||
|
|
|
@ -117,6 +117,10 @@ GUIEngine::GUIEngine(JoystickController *joystick,
|
||||||
m_data(data),
|
m_data(data),
|
||||||
m_kill(kill)
|
m_kill(kill)
|
||||||
{
|
{
|
||||||
|
// Go back to our mainmenu fonts
|
||||||
|
// Delayed until mainmenu initialization because of #15883
|
||||||
|
g_fontengine->clearMediaFonts();
|
||||||
|
|
||||||
// initialize texture pointers
|
// initialize texture pointers
|
||||||
for (image_definition &texture : m_textures) {
|
for (image_definition &texture : m_textures) {
|
||||||
texture.texture = NULL;
|
texture.texture = NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue