From d402744c43820f132b4ffb775c77ee1d93c2c9f2 Mon Sep 17 00:00:00 2001 From: Oscmoar07 <108773152+XINJIANGMO@users.noreply.github.com> Date: Sat, 6 Sep 2025 00:45:21 +0800 Subject: [PATCH] Fix crash when setting debug visualization mode while gi is disabled (#3059) Signed-off-by: momo <2438833481@qq.com> Co-authored-by: Ian Chen (cherry picked from commit 019e38c12cfcf1843a5ee3afd6c3638cf9b2e420) --- .../GlobalIlluminationVct.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gui/plugins/global_illumination_vct/GlobalIlluminationVct.cc b/src/gui/plugins/global_illumination_vct/GlobalIlluminationVct.cc index a0644124b8..fdc03ef397 100644 --- a/src/gui/plugins/global_illumination_vct/GlobalIlluminationVct.cc +++ b/src/gui/plugins/global_illumination_vct/GlobalIlluminationVct.cc @@ -499,9 +499,21 @@ bool GlobalIlluminationVct::eventFilter(QObject *_obj, QEvent *_event) } else if (this->dataPtr->debugVisualizationDirty) { - this->dataPtr->gi->SetDebugVisualization( + if (this->dataPtr->enabled && this->dataPtr->gi->Enabled()) + { + this->dataPtr->gi->SetDebugVisualization( static_cast( - this->dataPtr->debugVisMode)); + this->dataPtr->debugVisMode)); + } + else + { + gzerr << "Trying to set debug visualization mode while GI is " + << "disabled. Please enable GI first." + << std::endl; + // Always set to none when disabled to avoid crash + this->dataPtr->gi->SetDebugVisualization( + rendering::GlobalIlluminationVct::DVM_None); + } this->dataPtr->debugVisualizationDirty = false; } }