Disallow formspec debug if the player does not have the debug privilege (#14753)

This commit is contained in:
l-koehler 2024-06-17 13:59:49 +00:00 committed by GitHub
parent fac9aac821
commit fe6da3a16b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 2 deletions

@ -1914,6 +1914,10 @@ void Game::updateDebugState()
if (!has_debug) { if (!has_debug) {
draw_control->show_wireframe = false; draw_control->show_wireframe = false;
m_flags.disable_camera_update = false; m_flags.disable_camera_update = false;
auto formspec = m_game_ui->getFormspecGUI();
if (formspec) {
formspec->setDebugView(false);
}
} }
// noclip // noclip

@ -4184,8 +4184,10 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
m_client->makeScreenshot(); m_client->makeScreenshot();
} }
if (event.KeyInput.PressedDown && kp == getKeySetting("keymap_toggle_debug")) if (event.KeyInput.PressedDown && kp == getKeySetting("keymap_toggle_debug")) {
m_show_debug = !m_show_debug; if (!m_client || m_client->checkPrivilege("debug"))
m_show_debug = !m_show_debug;
}
if (event.KeyInput.PressedDown && if (event.KeyInput.PressedDown &&
(event.KeyInput.Key==KEY_RETURN || (event.KeyInput.Key==KEY_RETURN ||

@ -223,6 +223,11 @@ class GUIFormSpecMenu : public GUIModalMenu
m_allowclose = value; m_allowclose = value;
} }
void setDebugView(bool value)
{
m_show_debug = value;
}
void lockSize(bool lock,v2u32 basescreensize=v2u32(0,0)) void lockSize(bool lock,v2u32 basescreensize=v2u32(0,0))
{ {
m_lock = lock; m_lock = lock;