diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp index c5cd42a055..f98b8d9710 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp @@ -185,11 +185,10 @@ void ViewProviderSheet::updateData(const App::Property* prop) PyObject *ViewProviderSheet::getPyObject() { - if (PythonObject.is(Py::_None())){ - // ref counter is set to 1 - PythonObject = Py::Object(new ViewProviderSpreadsheetPy(this), true); - } - return Py::new_reference_to(PythonObject); + if (!pyViewObject) + pyViewObject = new ViewProviderSpreadsheetPy(this); + pyViewObject->IncRef(); + return pyViewObject; } // Python feature ----------------------------------------------------------------------- diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.h b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.h index 63510cf11b..beffa9ecb1 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.h +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.h @@ -77,8 +77,6 @@ protected: void updateData(const App::Property *prop) override; private: QPointer view; - - Py::Object PythonObject; }; typedef Gui::ViewProviderPythonFeatureT ViewProviderSheetPython;