Skip to content

Commit

Permalink
Revert "Get rid of guiroot"
Browse files Browse the repository at this point in the history
This reverts commit 45e7a80.
  • Loading branch information
Desour committed Aug 24, 2023
1 parent 7e4dccb commit f47b004
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 12 deletions.
12 changes: 10 additions & 2 deletions src/client/clientlauncher.cpp
Expand Up @@ -42,6 +42,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* mainmenumanager.h
*/
gui::IGUIEnvironment *guienv = nullptr;
gui::IGUIStaticText *guiroot = nullptr;
MainMenuManager g_menumgr;

bool isMenuActive()
Expand Down Expand Up @@ -217,6 +218,14 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args)

m_rendering_engine->get_gui_env()->clear();

/*
We need some kind of a root node to be able to add
custom gui elements directly on the screen.
Otherwise they won't be automatically drawn.
*/
guiroot = m_rendering_engine->get_gui_env()->addStaticText(L"",
core::rect<s32>(0, 0, 10000, 10000));

bool game_has_run = launch_game(error_message, reconnect_requested,
start_data, cmd_args);

Expand Down Expand Up @@ -547,8 +556,7 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
#endif

/* show main menu */
GUIEngine mymenu(&input->joystick, m_rendering_engine->get_gui_env()->getRootGUIElement(),
m_rendering_engine, &g_menumgr, menudata, *kill);
GUIEngine mymenu(&input->joystick, guiroot, m_rendering_engine, &g_menumgr, menudata, *kill);

/* leave scene manager in a clean state */
m_rendering_engine->get_scene_manager()->clear();
Expand Down
8 changes: 4 additions & 4 deletions src/client/game.cpp
Expand Up @@ -1806,19 +1806,19 @@ inline bool Game::handleCallbacks()
}

if (g_gamecallback->changepassword_requested) {
(new GUIPasswordChange(guienv, guienv->getRootGUIElement(), -1,
(new GUIPasswordChange(guienv, guiroot, -1,
&g_menumgr, client, texture_src))->drop();
g_gamecallback->changepassword_requested = false;
}

if (g_gamecallback->changevolume_requested) {
(new GUIVolumeChange(guienv, guienv->getRootGUIElement(), -1,
(new GUIVolumeChange(guienv, guiroot, -1,
&g_menumgr, texture_src))->drop();
g_gamecallback->changevolume_requested = false;
}

if (g_gamecallback->keyconfig_requested) {
(new GUIKeyChangeMenu(guienv, guienv->getRootGUIElement(), -1,
(new GUIKeyChangeMenu(guienv, guiroot, -1,
&g_menumgr, texture_src))->drop();
g_gamecallback->keyconfig_requested = false;
}
Expand Down Expand Up @@ -4150,7 +4150,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
}

if (isMenuActive())
m_rendering_engine->get_gui_env()->getRootGUIElement()->bringToFront(formspec);
guiroot->bringToFront(formspec);
} while (false);

/*
Expand Down
2 changes: 0 additions & 2 deletions src/client/gameui.cpp
Expand Up @@ -53,8 +53,6 @@ GameUI::GameUI()
}
void GameUI::init()
{
IGUIElement *guiroot = guienv->getRootGUIElement();

// First line of debug text
m_guitext = gui::StaticText::add(guienv, utf8_to_wide(PROJECT_NAME_C).c_str(),
core::rect<s32>(0, 0, 0, 0), false, true, guiroot);
Expand Down
6 changes: 3 additions & 3 deletions src/gui/guiFormSpecMenu.cpp
Expand Up @@ -139,9 +139,9 @@ void GUIFormSpecMenu::create(GUIFormSpecMenu *&cur_formspec, Client *client,
TextDest *txt_dest, const std::string &formspecPrepend, ISoundManager *sound_manager)
{
if (cur_formspec == nullptr) {
cur_formspec = new GUIFormSpecMenu(joystick, guienv->getRootGUIElement(),
-1, &g_menumgr, client, guienv, client->getTextureSource(), sound_manager,
fs_src, txt_dest, formspecPrepend);
cur_formspec = new GUIFormSpecMenu(joystick, guiroot, -1, &g_menumgr,
client, guienv, client->getTextureSource(), sound_manager, fs_src,
txt_dest, formspecPrepend);
cur_formspec->doPause = false;

/*
Expand Down
2 changes: 1 addition & 1 deletion src/gui/mainmenumanager.h
Expand Up @@ -38,8 +38,8 @@ class IGameCallback
virtual void signalKeyConfigChange() = 0;
};

// FIXME: do we really need this global variable?
extern gui::IGUIEnvironment *guienv;
extern gui::IGUIStaticText *guiroot;

// Handler for the modal menus

Expand Down

0 comments on commit f47b004

Please sign in to comment.