aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/ScriptingPython/scriptingpython.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-01-16 01:58:22 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-01-16 01:58:22 -0500
commita5ae79be08125b31bb6b8d9703090a98c6fd2e30 (patch)
tree569ee612c9de85b2bb423efa485688ef1d43852e /Plugins/ScriptingPython/scriptingpython.cpp
parent21966b4f924b0a1933d9662e75ff253bd154fdb7 (diff)
parent81a21e6ce040e7740de86340c8ea4dba30e69bc3 (diff)
Update upstream source from tag 'upstream/3.4.13+dfsg'
Update to upstream version '3.4.13+dfsg' with Debian dir bf81ee0219cb8e4562a4751df17d75814772d2d6
Diffstat (limited to 'Plugins/ScriptingPython/scriptingpython.cpp')
-rw-r--r--Plugins/ScriptingPython/scriptingpython.cpp18
1 files changed, 14 insertions, 4 deletions
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))