From 09a52d1bcdc36d7286ec3a3b2b94bff31e6f95b6 Mon Sep 17 00:00:00 2001 From: codereader Date: Sun, 26 Sep 2021 20:21:23 +0200 Subject: [PATCH] #5746: Fix TexTool::forceRedraw() not immediately repainting. --- radiant/textool/TexTool.cpp | 16 ++-------------- radiant/textool/TexTool.h | 1 - 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/radiant/textool/TexTool.cpp b/radiant/textool/TexTool.cpp index 30fe90a75a..08aa58f983 100644 --- a/radiant/textool/TexTool.cpp +++ b/radiant/textool/TexTool.cpp @@ -52,7 +52,6 @@ TexTool::TexTool() : _glWidget(new wxutil::GLWidget(this, std::bind(&TexTool::onGLDraw, this), "TexTool")), _grid(GRID_DEFAULT), _gridActive(registry::getValue(RKEY_GRID_STATE)), - _updateNeeded(false), _selectionRescanNeeded(false), _manipulatorModeToggleRequestHandler(std::numeric_limits::max()), _componentSelectionModeToggleRequestHandler(std::numeric_limits::max()), @@ -368,19 +367,13 @@ void TexTool::onIdle(wxIdleEvent& ev) { _selectionRescanNeeded = false; update(); - _updateNeeded = true; + queueDraw(); } - - if (_updateNeeded) - { - _updateNeeded = false; - draw(); - } } void TexTool::queueDraw() { - _updateNeeded = true; + _glWidget->Refresh(); } void TexTool::scrollByPixels(int x, int y) @@ -702,11 +695,6 @@ void TexTool::updateProjection() bool TexTool::onGLDraw() { - if (_updateNeeded) - { - return false; // stop here, wait for the next idle event to refresh - } - // Initialise the viewport glViewport(0, 0, _windowDims[0], _windowDims[1]); glMatrixMode(GL_PROJECTION); diff --git a/radiant/textool/TexTool.h b/radiant/textool/TexTool.h index cc96291bc6..edb32dcb64 100644 --- a/radiant/textool/TexTool.h +++ b/radiant/textool/TexTool.h @@ -70,7 +70,6 @@ class TexTool : bool _gridActive; // For idle callbacks - bool _updateNeeded; bool _selectionRescanNeeded; sigc::connection _sceneSelectionChanged;