22 lines
805 B
Diff
22 lines
805 B
Diff
diff --git a/src/plugins/python_api.c b/src/plugins/python_api.c
|
|
index 0b91cf70..091b3b4a 100644
|
|
--- a/src/plugins/python_api.c
|
|
+++ b/src/plugins/python_api.c
|
|
@@ -1619,8 +1619,16 @@ static char*
|
|
_python_plugin_name(void)
|
|
{
|
|
PyThreadState* ts = PyThreadState_Get();
|
|
+#if PY_VERSION_HEX >= 0x030B0000
|
|
+ PyFrameObject* frame = PyThreadState_GetFrame(ts);
|
|
+ PyCodeObject* code = PyFrame_GetCode(frame);
|
|
+ char* filename = python_str_or_unicode_to_string(code->co_filename);
|
|
+ Py_DECREF(code);
|
|
+ Py_DECREF(frame);
|
|
+#else
|
|
PyFrameObject* frame = ts->frame;
|
|
char* filename = python_str_or_unicode_to_string(frame->f_code->co_filename);
|
|
+#endif
|
|
gchar** split = g_strsplit(filename, "/", 0);
|
|
free(filename);
|
|
char* plugin_name = strdup(split[g_strv_length(split) - 1]);
|