From 4c6ba8ed4d3685838ad88203d2284a5fdbdda4cb Mon Sep 17 00:00:00 2001 From: 0penBrain <48731257+0penBrain@users.noreply.github.com> Date: Fri, 21 Oct 2022 14:56:30 +0200 Subject: [PATCH] Sketcher: remove unneeded flag --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 3 +-- src/Mod/Sketcher/Gui/ViewProviderSketch.h | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index bf9da57b16..afdd898b32 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -3164,7 +3164,6 @@ void ViewProviderSketch::setEditViewer(Gui::View3DInventorViewer* viewer, int Mo void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer) { auto dataPtr = static_cast(cameraSensor.getData()); - dataPtr->attached = false; delete dataPtr; cameraSensor.setData(nullptr); cameraSensor.detach(); @@ -3178,7 +3177,7 @@ void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer) void ViewProviderSketch::camSensCB(void *data, SoSensor *) { VPRender *proxyVPrdr = static_cast(data); - if (!proxyVPrdr || !proxyVPrdr->attached) + if (!proxyVPrdr) return; auto vp = proxyVPrdr->vp; diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.h b/src/Mod/Sketcher/Gui/ViewProviderSketch.h index aefd997c7c..18b44c6c9f 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.h +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.h @@ -396,10 +396,6 @@ private: struct VPRender { ViewProviderSketch* vp; SoRenderManager* renderMgr; - // we have to manage an internal flag because as sensor events are queued in Coin, - // it may happen that the callback is called while the sensor is detached, - // leading to subsequent code trying to access deleted objects (passed as sensor data) - bool attached = true; }; public: