From de1ade02c32f3c824ee786569ac95254254a31f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Thu, 12 Jul 2018 19:27:37 +0200 Subject: [PATCH] python: fix crash when loading a script with Python >= 3.7 (closes #1219) --- ChangeLog.adoc | 1 + src/plugins/python/weechat-python.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 1be0bc4ba..230682e5d 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -58,6 +58,7 @@ Bug fixes:: * guile: fix memory leak in 7 functions returning allocated strings * php: fix return code of functions config_write_option and config_write_line * php: fix memory leak in 72 functions returning allocated strings + * python: fix crash when loading a script with Python >= 3.7 (issue #1219) * relay: fix socket creation for relay server on OpenBSD (issue #1213) * ruby: fix memory leak in 7 functions returning allocated strings * script: fix memory leak in case of invalid XML content in list of scripts diff --git a/src/plugins/python/weechat-python.c b/src/plugins/python/weechat-python.c index bbb10e95f..8ae89da93 100644 --- a/src/plugins/python/weechat-python.c +++ b/src/plugins/python/weechat-python.c @@ -1561,7 +1561,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[]) /* PyEval_InitThreads(); */ /* python_mainThreadState = PyThreadState_Swap(NULL); */ +#if PY_VERSION_HEX >= 0x03070000 + python_mainThreadState = PyThreadState_Get(); +#else python_mainThreadState = PyEval_SaveThread(); +#endif /* PyEval_ReleaseLock (); */ if (!python_mainThreadState)