From 81a21e6ce040e7740de86340c8ea4dba30e69bc3 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Thu, 16 Jan 2025 01:57:37 -0500 Subject: New upstream version 3.4.13+dfsg. --- Plugins/ScriptingPython/scriptingpython.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'Plugins/ScriptingPython/scriptingpython.cpp') diff --git a/Plugins/ScriptingPython/scriptingpython.cpp b/Plugins/ScriptingPython/scriptingpython.cpp index 1dedb5c..a8de694 100644 --- a/Plugins/ScriptingPython/scriptingpython.cpp +++ b/Plugins/ScriptingPython/scriptingpython.cpp @@ -582,15 +582,25 @@ SqlQueryPtr ScriptingPython::dbCommonEval(PyObject* sqlArg, const char* fnName) QVariant ScriptingPython::getVariable(const QString& name) { PyThreadState* state = PyThreadState_Get(); - if (!state->frame) +#if PY_VERSION_HEX < 0x030a0000 + PyFrameObject* frame = state->frame; +#else + PyFrameObject* frame = PyThreadState_GetFrame(state); +#endif + if (!frame) return QVariant(); const char* varName = name.toUtf8().constData(); PyObject* obj = nullptr; - PyFrame_FastToLocals(state->frame); - PyObject* locals = state->frame->f_locals; - PyObject* globals = state->frame->f_globals; + PyFrame_FastToLocals(frame); +#if PY_VERSION_HEX < 0x030b0000 + PyObject* locals = frame->f_locals; + PyObject* globals = frame->f_globals; +#else + PyObject* locals = PyFrame_GetLocals(frame); + PyObject* globals = PyFrame_GetGlobals(frame); +#endif if (PyMapping_Check(locals)) obj = PyMapping_GetItemString(locals, varName); else if (PyDict_Check(globals)) -- cgit v1.2.3