From ef1aad01bfb11f7389f6d4289214bf87a8d309f4 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 30 Apr 2019 11:16:01 -0700 Subject: [PATCH] Python plugin: Call EndInterpreter when deinit'ing the plugin This fixes https://github.com/hexchat/hexchat/issues/2237 , a commonly-encountered bug when using Hexchat 2.14 on Python 3.7. Thanks to @ncoghlan for the fix. Signed-off-by: Adam Williamson --- plugins/python/python.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/python/python.c b/plugins/python/python.c index 4403474d..475756ba 100644 --- a/plugins/python/python.c +++ b/plugins/python/python.c @@ -2806,6 +2806,9 @@ hexchat_plugin_deinit(void) xchatout_buffer = NULL; if (interp_plugin) { + PyThreadState *tstate = ((PluginObject*)interp_plugin)->tstate; + PyThreadState_Swap(tstate); + Py_EndInterpreter(tstate); Py_DECREF(interp_plugin); interp_plugin = NULL; }