diff --git a/src/App/Application.cpp b/src/App/Application.cpp index 40a621bd09..a2c9b41b25 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -315,7 +315,7 @@ Application::Application(std::map &mConfig) PyModule_AddObject(pAppModule, "Console", pConsoleModule); // Translate module - PyObject* pTranslateModule = (new Base::Translate)->module().ptr(); + PyObject* pTranslateModule = Base::Interpreter().addModule(new Base::Translate); Py_INCREF(pTranslateModule); PyModule_AddObject(pAppModule, "Qt", pTranslateModule); diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 7398057791..330b54e0c1 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -409,8 +409,7 @@ Application::Application(bool GUIenabled) PyResource::init_type(); // PySide additions - PySideUicModule* pySide = new PySideUicModule(); - PyModule_AddObject(module, "PySideUic", pySide->module().ptr()); + PyModule_AddObject(module, "PySideUic", Base::Interpreter().addModule(new PySideUicModule)); ExpressionBindingPy::init_type(); Base::Interpreter().addType(ExpressionBindingPy::type_object(), diff --git a/src/Gui/PythonDebugger.cpp b/src/Gui/PythonDebugger.cpp index f3bda7865f..fd772cb865 100644 --- a/src/Gui/PythonDebugger.cpp +++ b/src/Gui/PythonDebugger.cpp @@ -103,8 +103,7 @@ void PythonDebugModule::init_module(void) PythonDebugStdout::init_type(); PythonDebugStderr::init_type(); PythonDebugExcept::init_type(); - static PythonDebugModule* mod = new PythonDebugModule(); - Q_UNUSED(mod); + Base::Interpreter().addModule(new PythonDebugModule); } PythonDebugModule::PythonDebugModule() @@ -130,6 +129,9 @@ PythonDebugModule::PythonDebugModule() PythonDebugModule::~PythonDebugModule() { + Py::Dict d(moduleDictionary()); + d["StdOut"] = Py::None(); + d["StdErr"] = Py::None(); } Py::Object PythonDebugModule::getFunctionCallCount(const Py::Tuple &) diff --git a/src/Mod/Cloud/App/AppCloud.h b/src/Mod/Cloud/App/AppCloud.h index f0cd36163b..84202e2a32 100644 --- a/src/Mod/Cloud/App/AppCloud.h +++ b/src/Mod/Cloud/App/AppCloud.h @@ -20,6 +20,7 @@ * * ***************************************************************************/ +#include #include #include #include @@ -176,7 +177,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } diff --git a/src/Mod/Cloud/Gui/AppCloudGui.cpp b/src/Mod/Cloud/Gui/AppCloudGui.cpp index f14b070103..7f8d18e228 100644 --- a/src/Mod/Cloud/Gui/AppCloudGui.cpp +++ b/src/Mod/Cloud/Gui/AppCloudGui.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include @@ -55,7 +56,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace CloudGui diff --git a/src/Mod/Draft/App/AppDraftUtilsPy.cpp b/src/Mod/Draft/App/AppDraftUtilsPy.cpp index 09865d6661..a0c8020945 100644 --- a/src/Mod/Draft/App/AppDraftUtilsPy.cpp +++ b/src/Mod/Draft/App/AppDraftUtilsPy.cpp @@ -94,7 +94,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace DraftUtils diff --git a/src/Mod/Drawing/App/AppDrawingPy.cpp b/src/Mod/Drawing/App/AppDrawingPy.cpp index c6819204ba..1860566b31 100644 --- a/src/Mod/Drawing/App/AppDrawingPy.cpp +++ b/src/Mod/Drawing/App/AppDrawingPy.cpp @@ -323,7 +323,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Drawing diff --git a/src/Mod/Drawing/Gui/AppDrawingGuiPy.cpp b/src/Mod/Drawing/Gui/AppDrawingGuiPy.cpp index 0dcb093e69..2450f5754a 100644 --- a/src/Mod/Drawing/Gui/AppDrawingGuiPy.cpp +++ b/src/Mod/Drawing/Gui/AppDrawingGuiPy.cpp @@ -217,7 +217,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace DrawingGui diff --git a/src/Mod/Fem/App/AppFemPy.cpp b/src/Mod/Fem/App/AppFemPy.cpp index 27dcddc41e..bfe49b15e8 100644 --- a/src/Mod/Fem/App/AppFemPy.cpp +++ b/src/Mod/Fem/App/AppFemPy.cpp @@ -317,7 +317,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Fem diff --git a/src/Mod/Fem/Gui/AppFemGuiPy.cpp b/src/Mod/Fem/Gui/AppFemGuiPy.cpp index f49f81242b..401685e7e6 100755 --- a/src/Mod/Fem/Gui/AppFemGuiPy.cpp +++ b/src/Mod/Fem/Gui/AppFemGuiPy.cpp @@ -153,7 +153,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace FemGui diff --git a/src/Mod/Image/App/AppImage.cpp b/src/Mod/Image/App/AppImage.cpp index 404f62816f..d1ead645c8 100644 --- a/src/Mod/Image/App/AppImage.cpp +++ b/src/Mod/Image/App/AppImage.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include "ImagePlane.h" @@ -38,7 +39,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Image diff --git a/src/Mod/Image/Gui/AppImageGuiPy.cpp b/src/Mod/Image/Gui/AppImageGuiPy.cpp index 1ef7e7f3fe..f60fd706d5 100644 --- a/src/Mod/Image/Gui/AppImageGuiPy.cpp +++ b/src/Mod/Image/Gui/AppImageGuiPy.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -106,7 +107,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace ImageGui diff --git a/src/Mod/Import/App/AppImportPy.cpp b/src/Mod/Import/App/AppImportPy.cpp index 88e7f2be6e..c5edf0367a 100644 --- a/src/Mod/Import/App/AppImportPy.cpp +++ b/src/Mod/Import/App/AppImportPy.cpp @@ -780,7 +780,7 @@ static PyObject * importAssembly(PyObject *self, PyObject *args) PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Import diff --git a/src/Mod/Import/Gui/AppImportGuiPy.cpp b/src/Mod/Import/Gui/AppImportGuiPy.cpp index 8f855a3a32..884fc2698a 100644 --- a/src/Mod/Import/Gui/AppImportGuiPy.cpp +++ b/src/Mod/Import/Gui/AppImportGuiPy.cpp @@ -827,7 +827,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace ImportGui diff --git a/src/Mod/Inspection/App/AppInspection.cpp b/src/Mod/Inspection/App/AppInspection.cpp index 18b17bc657..a2d0f4aea6 100644 --- a/src/Mod/Inspection/App/AppInspection.cpp +++ b/src/Mod/Inspection/App/AppInspection.cpp @@ -50,7 +50,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Inspection diff --git a/src/Mod/Inspection/Gui/AppInspectionGui.cpp b/src/Mod/Inspection/Gui/AppInspectionGui.cpp index 7624e77b6b..a0780cbd65 100644 --- a/src/Mod/Inspection/Gui/AppInspectionGui.cpp +++ b/src/Mod/Inspection/Gui/AppInspectionGui.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -56,7 +57,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace InspectionGui diff --git a/src/Mod/Measure/App/AppMeasure.cpp b/src/Mod/Measure/App/AppMeasure.cpp index 993e016eb9..b94ca5e72d 100644 --- a/src/Mod/Measure/App/AppMeasure.cpp +++ b/src/Mod/Measure/App/AppMeasure.cpp @@ -48,7 +48,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Measure diff --git a/src/Mod/Mesh/App/AppMeshPy.cpp b/src/Mod/Mesh/App/AppMeshPy.cpp index ccc80fe665..bb21717a31 100644 --- a/src/Mod/Mesh/App/AppMeshPy.cpp +++ b/src/Mod/Mesh/App/AppMeshPy.cpp @@ -592,7 +592,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Mesh diff --git a/src/Mod/Mesh/Gui/AppMeshGui.cpp b/src/Mod/Mesh/Gui/AppMeshGui.cpp index d32a183aeb..d06e3d6f0a 100644 --- a/src/Mod/Mesh/Gui/AppMeshGui.cpp +++ b/src/Mod/Mesh/Gui/AppMeshGui.cpp @@ -118,7 +118,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace MeshGui diff --git a/src/Mod/MeshPart/App/AppMeshPartPy.cpp b/src/Mod/MeshPart/App/AppMeshPartPy.cpp index 9992b6b980..e3766ef08c 100644 --- a/src/Mod/MeshPart/App/AppMeshPartPy.cpp +++ b/src/Mod/MeshPart/App/AppMeshPartPy.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -637,7 +638,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace MeshPart diff --git a/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp b/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp index ed41f742af..1e815814b3 100644 --- a/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp +++ b/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -62,7 +63,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace MeshPartGui diff --git a/src/Mod/Part/App/AppPartPy.cpp b/src/Mod/Part/App/AppPartPy.cpp index 0c001a9451..3652159b57 100644 --- a/src/Mod/Part/App/AppPartPy.cpp +++ b/src/Mod/Part/App/AppPartPy.cpp @@ -2264,7 +2264,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Part diff --git a/src/Mod/Part/Gui/AppPartGui.cpp b/src/Mod/Part/Gui/AppPartGui.cpp index bca7e39503..0c5d4892ae 100644 --- a/src/Mod/Part/Gui/AppPartGui.cpp +++ b/src/Mod/Part/Gui/AppPartGui.cpp @@ -92,7 +92,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module);; } } // namespace PartGui diff --git a/src/Mod/PartDesign/App/AppPartDesignPy.cpp b/src/Mod/PartDesign/App/AppPartDesignPy.cpp index 8beae3af88..056f99343a 100644 --- a/src/Mod/PartDesign/App/AppPartDesignPy.cpp +++ b/src/Mod/PartDesign/App/AppPartDesignPy.cpp @@ -28,6 +28,7 @@ #endif #include +#include #include #include @@ -113,7 +114,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace PartDesign diff --git a/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp b/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp index e829595278..d7cfb272d5 100644 --- a/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp +++ b/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp @@ -94,7 +94,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace PartDesignGui diff --git a/src/Mod/Path/App/AppPathPy.cpp b/src/Mod/Path/App/AppPathPy.cpp index ce912b4474..4ab9e4dd37 100644 --- a/src/Mod/Path/App/AppPathPy.cpp +++ b/src/Mod/Path/App/AppPathPy.cpp @@ -430,7 +430,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Path diff --git a/src/Mod/Path/Gui/AppPathGuiPy.cpp b/src/Mod/Path/Gui/AppPathGuiPy.cpp index 062da3a069..8cf6f6f116 100644 --- a/src/Mod/Path/Gui/AppPathGuiPy.cpp +++ b/src/Mod/Path/Gui/AppPathGuiPy.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -287,7 +288,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace PathGui diff --git a/src/Mod/Path/PathSimulator/App/AppPathSimulator.cpp b/src/Mod/Path/PathSimulator/App/AppPathSimulator.cpp index c2e24aa78b..ef43a2d783 100644 --- a/src/Mod/Path/PathSimulator/App/AppPathSimulator.cpp +++ b/src/Mod/Path/PathSimulator/App/AppPathSimulator.cpp @@ -53,7 +53,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } diff --git a/src/Mod/Points/App/AppPointsPy.cpp b/src/Mod/Points/App/AppPointsPy.cpp index aad75621fb..22fa85c128 100644 --- a/src/Mod/Points/App/AppPointsPy.cpp +++ b/src/Mod/Points/App/AppPointsPy.cpp @@ -414,7 +414,7 @@ private: PyObject* initModule() { - return (new Module())->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Points diff --git a/src/Mod/Points/Gui/AppPointsGui.cpp b/src/Mod/Points/Gui/AppPointsGui.cpp index ef62f742b8..d55bdaa2ac 100644 --- a/src/Mod/Points/Gui/AppPointsGui.cpp +++ b/src/Mod/Points/Gui/AppPointsGui.cpp @@ -64,7 +64,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace PointsGui diff --git a/src/Mod/Raytracing/App/AppRaytracingPy.cpp b/src/Mod/Raytracing/App/AppRaytracingPy.cpp index dc6a528415..bac31d99f7 100644 --- a/src/Mod/Raytracing/App/AppRaytracingPy.cpp +++ b/src/Mod/Raytracing/App/AppRaytracingPy.cpp @@ -31,6 +31,7 @@ #include #include +#include #include "PovTools.h" #include "LuxTools.h" // automatically generated..... @@ -244,7 +245,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Raytracing diff --git a/src/Mod/Raytracing/Gui/AppRaytracingGuiPy.cpp b/src/Mod/Raytracing/Gui/AppRaytracingGuiPy.cpp index 68bb263293..6ef5ef0d0c 100644 --- a/src/Mod/Raytracing/Gui/AppRaytracingGuiPy.cpp +++ b/src/Mod/Raytracing/Gui/AppRaytracingGuiPy.cpp @@ -249,7 +249,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace RaytracingGui diff --git a/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp b/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp index 92bfe076e1..a11eedb24e 100644 --- a/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp +++ b/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp @@ -824,7 +824,7 @@ Points.show(np) PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Reen diff --git a/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp b/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp index b5ad5bad23..1bde1eeb9c 100644 --- a/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp +++ b/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp @@ -62,7 +62,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace ReverseEngineeringGui diff --git a/src/Mod/Robot/App/AppRobot.cpp b/src/Mod/Robot/App/AppRobot.cpp index 383277235f..c699fb131b 100644 --- a/src/Mod/Robot/App/AppRobot.cpp +++ b/src/Mod/Robot/App/AppRobot.cpp @@ -88,7 +88,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Robot @@ -106,7 +106,7 @@ PyMOD_INIT_FUNC(Robot) PyMOD_Return(0); } - PyObject* robotModule = (new Robot::Module())->module().ptr(); + PyObject* robotModule = Robot::initModule(); Base::Console().Log("Loading Robot module... done\n"); // Add Types to module diff --git a/src/Mod/Robot/Gui/AppRobotGui.cpp b/src/Mod/Robot/Gui/AppRobotGui.cpp index 96ade4ef97..71f1563062 100644 --- a/src/Mod/Robot/Gui/AppRobotGui.cpp +++ b/src/Mod/Robot/Gui/AppRobotGui.cpp @@ -70,7 +70,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace RobotGui diff --git a/src/Mod/Sketcher/App/AppSketcherPy.cpp b/src/Mod/Sketcher/App/AppSketcherPy.cpp index e4b7cd0f98..bc80dbfa25 100644 --- a/src/Mod/Sketcher/App/AppSketcherPy.cpp +++ b/src/Mod/Sketcher/App/AppSketcherPy.cpp @@ -122,7 +122,7 @@ private: /// @cond DOXERR PyObject* initModule() { - return (new Module())->module().ptr(); + return Base::Interpreter().addModule(new Module); } /// @endcond diff --git a/src/Mod/Sketcher/Gui/AppSketcherGui.cpp b/src/Mod/Sketcher/Gui/AppSketcherGui.cpp index 678c46ab71..6006721efc 100644 --- a/src/Mod/Sketcher/Gui/AppSketcherGui.cpp +++ b/src/Mod/Sketcher/Gui/AppSketcherGui.cpp @@ -79,7 +79,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace SketcherGui diff --git a/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp b/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp index b6eb587da7..430c124dd2 100644 --- a/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp +++ b/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include "Sheet.h" @@ -38,7 +39,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Spreadsheet diff --git a/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp b/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp index 14888ed014..a6202f2a7c 100644 --- a/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp +++ b/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -101,7 +102,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace SpreadsheetGui diff --git a/src/Mod/Start/App/AppStart.cpp b/src/Mod/Start/App/AppStart.cpp index 4e0287be3f..34a2bcdf6f 100644 --- a/src/Mod/Start/App/AppStart.cpp +++ b/src/Mod/Start/App/AppStart.cpp @@ -50,7 +50,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Start diff --git a/src/Mod/Start/Gui/AppStartGui.cpp b/src/Mod/Start/Gui/AppStartGui.cpp index f1df14bab2..78aa7fc0f0 100644 --- a/src/Mod/Start/Gui/AppStartGui.cpp +++ b/src/Mod/Start/Gui/AppStartGui.cpp @@ -68,7 +68,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace StartGui diff --git a/src/Mod/Surface/App/AppSurface.cpp b/src/Mod/Surface/App/AppSurface.cpp index 7b1e064bcb..f7815eb686 100644 --- a/src/Mod/Surface/App/AppSurface.cpp +++ b/src/Mod/Surface/App/AppSurface.cpp @@ -55,7 +55,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Surface diff --git a/src/Mod/Surface/Gui/AppSurfaceGui.cpp b/src/Mod/Surface/Gui/AppSurfaceGui.cpp index b425cc5688..08c3df68aa 100644 --- a/src/Mod/Surface/Gui/AppSurfaceGui.cpp +++ b/src/Mod/Surface/Gui/AppSurfaceGui.cpp @@ -59,7 +59,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace SurfaceGui diff --git a/src/Mod/TechDraw/App/AppTechDrawPy.cpp b/src/Mod/TechDraw/App/AppTechDrawPy.cpp index 8a783aa3b3..7cf65a4fdb 100644 --- a/src/Mod/TechDraw/App/AppTechDrawPy.cpp +++ b/src/Mod/TechDraw/App/AppTechDrawPy.cpp @@ -1228,7 +1228,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace TechDraw diff --git a/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp b/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp index 93836655b0..e470151c36 100644 --- a/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp +++ b/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp @@ -365,7 +365,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace TechDrawGui diff --git a/src/Mod/Test/Gui/AppTestGui.cpp b/src/Mod/Test/Gui/AppTestGui.cpp index e81d680399..aaceaecf56 100644 --- a/src/Mod/Test/Gui/AppTestGui.cpp +++ b/src/Mod/Test/Gui/AppTestGui.cpp @@ -31,6 +31,7 @@ #include #include +#include namespace TestGui { class Module : public Py::ExtensionModule @@ -85,7 +86,7 @@ private: PyObject* initModule() { - return (new Module())->module().ptr(); + return Base::Interpreter().addModule(new Module); } } diff --git a/src/Mod/Web/App/AppWeb.cpp b/src/Mod/Web/App/AppWeb.cpp index 8518801dd8..4192fb0cff 100644 --- a/src/Mod/Web/App/AppWeb.cpp +++ b/src/Mod/Web/App/AppWeb.cpp @@ -171,7 +171,7 @@ private: PyObject* initModule() { - return (new Module())->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace Web diff --git a/src/Mod/Web/Gui/AppWebGui.cpp b/src/Mod/Web/Gui/AppWebGui.cpp index fdb3e4b39d..23fb455289 100644 --- a/src/Mod/Web/Gui/AppWebGui.cpp +++ b/src/Mod/Web/Gui/AppWebGui.cpp @@ -152,7 +152,7 @@ private: PyObject* initModule() { - return (new Module())->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace WebGui diff --git a/src/Tools/_TEMPLATE_/App/App_TEMPLATE_.cpp b/src/Tools/_TEMPLATE_/App/App_TEMPLATE_.cpp index 1babbf973e..279d875514 100644 --- a/src/Tools/_TEMPLATE_/App/App_TEMPLATE_.cpp +++ b/src/Tools/_TEMPLATE_/App/App_TEMPLATE_.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include @@ -49,7 +50,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } diff --git a/src/Tools/_TEMPLATE_/Gui/App_TEMPLATE_Gui.cpp b/src/Tools/_TEMPLATE_/Gui/App_TEMPLATE_Gui.cpp index e7019bcadc..a36affc848 100644 --- a/src/Tools/_TEMPLATE_/Gui/App_TEMPLATE_Gui.cpp +++ b/src/Tools/_TEMPLATE_/Gui/App_TEMPLATE_Gui.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include @@ -55,7 +56,7 @@ private: PyObject* initModule() { - return (new Module)->module().ptr(); + return Base::Interpreter().addModule(new Module); } } // namespace _TEMPLATE_Gui