]> git.lizzy.rs Git - minetest.git/commitdiff
Fix revoke debug privs not reliably turn off stuff (#11409)
authorWuzzy <wuzzy2@mail.ru>
Mon, 12 Jul 2021 18:32:18 +0000 (18:32 +0000)
committerGitHub <noreply@github.com>
Mon, 12 Jul 2021 18:32:18 +0000 (20:32 +0200)
src/client/game.cpp

index 134c74d5d80ae825bca17c219639fd9193ece3cb..85dd8f4bbd9d5f90c9def68cd792bd349375a789 100644 (file)
@@ -677,7 +677,7 @@ class Game {
        bool handleCallbacks();
        void processQueues();
        void updateProfilers(const RunStats &stats, const FpsControl &draw_times, f32 dtime);
-       void updateBasicDebugState();
+       void updateDebugState();
        void updateStats(RunStats *stats, const FpsControl &draw_times, f32 dtime);
        void updateProfilerGraphs(ProfilerGraph *graph);
 
@@ -1123,7 +1123,7 @@ void Game::run()
                updatePlayerControl(cam_view);
                step(&dtime);
                processClientEvents(&cam_view_target);
-               updateBasicDebugState();
+               updateDebugState();
                updateCamera(draw_times.busy_time, dtime);
                updateSound(dtime);
                processPlayerInteraction(dtime, m_game_ui->m_flags.show_hud,
@@ -1728,18 +1728,24 @@ void Game::processQueues()
        shader_src->processQueue();
 }
 
-void Game::updateBasicDebugState()
+void Game::updateDebugState()
 {
+       bool has_basic_debug = client->checkPrivilege("basic_debug");
+       bool has_debug = client->checkPrivilege("debug");
+
        if (m_game_ui->m_flags.show_basic_debug) {
-               if (!client->checkPrivilege("basic_debug")) {
+               if (!has_basic_debug) {
                        m_game_ui->m_flags.show_basic_debug = false;
-                       hud->disableBlockBounds();
                }
        } else if (m_game_ui->m_flags.show_minimal_debug) {
-               if (client->checkPrivilege("basic_debug")) {
+               if (has_basic_debug) {
                        m_game_ui->m_flags.show_basic_debug = true;
                }
        }
+       if (!has_basic_debug)
+               hud->disableBlockBounds();
+       if (!has_debug)
+               draw_control->show_wireframe = false;
 }
 
 void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times,