From a289538e034cac5f8f312b2945c41dc9fcd3e1c8 Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 3 Apr 2017 18:21:49 +0200 Subject: [PATCH] fixes #1999: Tessellation data or OpenInventor data memory leak --- src/Mod/Import/App/AppImportPy.cpp | 3 +++ src/Mod/Import/Gui/AppImportGuiPy.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/Mod/Import/App/AppImportPy.cpp b/src/Mod/Import/App/AppImportPy.cpp index 5ab474385492..5f189007fe67 100644 --- a/src/Mod/Import/App/AppImportPy.cpp +++ b/src/Mod/Import/App/AppImportPy.cpp @@ -186,6 +186,7 @@ class Module : public Py::ExtensionModule xcaf.loadShapes(); #endif pcDoc->recompute(); + hApp->Close(hDoc); } catch (Standard_Failure) { Handle_Standard_Failure e = Standard_Failure::Caught(); @@ -290,6 +291,8 @@ class Module : public Py::ExtensionModule throw Py::Exception(); } } + + hApp->Close(hDoc); } catch (Standard_Failure) { Handle_Standard_Failure e = Standard_Failure::Caught(); diff --git a/src/Mod/Import/Gui/AppImportGuiPy.cpp b/src/Mod/Import/Gui/AppImportGuiPy.cpp index 2d51059da11a..9af34c2b88ff 100644 --- a/src/Mod/Import/Gui/AppImportGuiPy.cpp +++ b/src/Mod/Import/Gui/AppImportGuiPy.cpp @@ -408,6 +408,7 @@ class Module : public Py::ExtensionModule ImportOCAFExt ocaf(hDoc, pcDoc, file.fileNamePure()); ocaf.loadShapes(); pcDoc->recompute(); + hApp->Close(hDoc); } catch (Standard_Failure) { Handle_Standard_Failure e = Standard_Failure::Caught(); @@ -501,6 +502,8 @@ class Module : public Py::ExtensionModule throw Py::Exception(); } } + + hApp->Close(hDoc); } catch (Standard_Failure) { Handle_Standard_Failure e = Standard_Failure::Caught(); @@ -591,6 +594,7 @@ class Module : public Py::ExtensionModule OCAFBrowser browse(hDoc); browse.load(dlg->findChild()); + hApp->Close(hDoc); } catch (Standard_Failure) { Handle_Standard_Failure e = Standard_Failure::Caught();