From 271cdcb19eff8b9af77cdb8c700f69f9ea37d8f9 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 18 Aug 2018 11:32:32 +0200 Subject: [PATCH] clear selection node when destroying viewer --- src/Gui/View3DInventorViewer.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp index 1e0924e400..dc2a4d4115 100644 --- a/src/Gui/View3DInventorViewer.cpp +++ b/src/Gui/View3DInventorViewer.cpp @@ -553,6 +553,11 @@ View3DInventorViewer::~View3DInventorViewer() setSceneGraph(0); this->pEventCallback->unref(); this->pEventCallback = 0; + // Note: It can happen that there is still someone who references + // the root node but isn't destroyed when closing this viewer so + // that it prevents all children from being deleted. To reduce this + // likelihood we explicitly remove all child nodes now. + this->pcViewProviderRoot->removeAllChildren(); this->pcViewProviderRoot->unref(); this->pcViewProviderRoot = 0; this->backlight->unref();