From ee0a0817f9761643f92bd0bb40860b039301a04e Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 21 Oct 2022 10:23:53 +0200 Subject: [PATCH] Sketcher: fix possible crash when closing the sketcher For more details see the forum thread: https://forum.freecadweb.org/viewtopic.php?f=13&t=72774 --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 43f7e2734c..bf9da57b16 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -3166,6 +3166,7 @@ void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer) auto dataPtr = static_cast(cameraSensor.getData()); dataPtr->attached = false; delete dataPtr; + cameraSensor.setData(nullptr); cameraSensor.detach(); viewer->removeGraphicsItem(rubberband.get()); @@ -3177,7 +3178,7 @@ void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer) void ViewProviderSketch::camSensCB(void *data, SoSensor *) { VPRender *proxyVPrdr = static_cast(data); - if (!proxyVPrdr->attached) + if (!proxyVPrdr || !proxyVPrdr->attached) return; auto vp = proxyVPrdr->vp;