From: Gerhard Sittig Date: Mon, 2 Oct 2023 16:33:08 +0000 (+0200) Subject: bindings/python: rephrase for Python 3.9 deprecation (call API) X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=5bc8174531df86991ba8aa6d12942923925d9e72 bindings/python: rephrase for Python 3.9 deprecation (call API) The PyEval_CallObject() routine was deprecated in Python 3.9, use PyObject_CallObject() instead which has existed since at least 3.0. There are also PyEval_InitThreads() deprecation warnings, but these originate from SWIG generated code and are outside of our control. Requires SWIG version 4.1 to silence these. Tested-By: Sascha Silbe --- diff --git a/bindings/python/sigrok/core/classes.i b/bindings/python/sigrok/core/classes.i index 8bccae1d..d22db1c1 100644 --- a/bindings/python/sigrok/core/classes.i +++ b/bindings/python/sigrok/core/classes.i @@ -134,7 +134,7 @@ typedef guint pyg_flags_type; auto arglist = Py_BuildValue("(OO)", log_obj, string_obj); - auto result = PyEval_CallObject($input, arglist); + auto result = PyObject_CallObject($input, arglist); Py_XDECREF(arglist); Py_XDECREF(log_obj); @@ -177,7 +177,7 @@ typedef guint pyg_flags_type; $1 = [=] () { const auto gstate = PyGILState_Ensure(); - const auto result = PyEval_CallObject($input, nullptr); + const auto result = PyObject_CallObject($input, nullptr); const bool completed = !PyErr_Occurred(); const bool valid_result = (completed && result == Py_None); @@ -221,7 +221,7 @@ typedef guint pyg_flags_type; auto arglist = Py_BuildValue("(OO)", device_obj, packet_obj); - auto result = PyEval_CallObject($input, arglist); + auto result = PyObject_CallObject($input, arglist); Py_XDECREF(arglist); Py_XDECREF(device_obj);