From 5743ce4681bb2d6e8c3c8d4a994d18954a0b964b Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 21 Sep 2023 14:45:41 +0200 Subject: [PATCH] Gui: fix possible memory leak if inappropriate view provider is created Example code: doc = App.newDocument() doc.addObject(type = "Part::Feature", viewType = "MeshGui::ViewProviderMesh") --- src/Gui/Document.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 69a78a07c7..ad4f66bd66 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -673,10 +673,11 @@ void Document::slotNewObject(const App::DocumentObject& Obj) } else if (cName!=Obj.getViewProviderName() && !pcProvider->allowOverride(Obj)) { FC_WARN("View provider type '" << cName << "' does not support " << Obj.getFullName()); + delete pcProvider; pcProvider = nullptr; cName = Obj.getViewProviderName(); } - else { + else { break; } }