Core: Add missing Python interpreter locks

This commit is contained in:
Pieter Hijma
2024-07-10 17:02:09 +02:00
committed by wwmayer
parent b56e7221fc
commit 851f72ee72
2 changed files with 3 additions and 0 deletions

View File

@@ -83,6 +83,7 @@ recompute path. Also, it enables more complicated dependencies beyond trees.
#include <QCoreApplication>
#include <App/DocumentPy.h>
#include <Base/Interpreter.h>
#include <Base/Console.h>
#include <Base/Exception.h>
#include <Base/FileInfo.h>
@@ -793,6 +794,7 @@ Document::Document(const char* documentName)
// Remark: We force the document Python object to own the DocumentPy instance, thus we don't
// have to care about ref counting any more.
d = new DocumentP;
Base::PyGILStateLocker lock;
d->DocumentPythonObject = Py::Object(new DocumentPy(this), true);
#ifdef FC_LOGUPDATECHAIN

View File

@@ -220,6 +220,7 @@ Document::Document(App::Document* pcDocument,Application * app)
// pointer to the python class
// NOTE: As this Python object doesn't get returned to the interpreter we
// mustn't increment it (Werner Jan-12-2006)
Base::PyGILStateLocker lock;
_pcDocPy = new Gui::DocumentPy(this);
ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Document");