From fc776c2058e11da5c3a4cebeea7f313057bc079f Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 30 Jul 2022 02:21:22 +0530 Subject: pygi: Fix girepository deprecation warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These functions were deprecated in gobject-introspection 1.72 GI_CHECK_VERSION was added after gobject-introspection 1.58, and we require 1.56. ../gi/pygi-closure.c: In function ‘_pygi_invoke_closure_free’: ../gi/pygi-closure.c:635:5: warning: ‘g_callable_info_free_closure’ is deprecated: Use 'g_callable_info_destroy_closure' instead [-Wdeprecated-declarations] 635 | g_callable_info_free_closure (invoke_closure->info, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../gi/pygi-closure.h:22, from ../gi/pygi-closure.c:20: /usr/include/gobject-introspection-1.0/girffi.h:106:15: note: declared here 106 | void g_callable_info_free_closure (GICallableInfo *callable_info, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../gi/pygi-closure.c: In function ‘_pygi_make_native_closure’: ../gi/pygi-closure.c:674:9: warning: ‘g_callable_info_prepare_closure’ is deprecated: Use 'g_callable_info_create_closure' instead [-Wdeprecated-declarations] 674 | g_callable_info_prepare_closure (info, &closure->cif, _pygi_closure_handle, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/gobject-introspection-1.0/girffi.h:100:15: note: declared here 100 | ffi_closure * g_callable_info_prepare_closure (GICallableInfo *callable_info, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- gi/pygi-closure.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gi/pygi-closure.c b/gi/pygi-closure.c index 919365a3..5916ec99 100644 --- a/gi/pygi-closure.c +++ b/gi/pygi-closure.c @@ -24,6 +24,10 @@ #include "pygi-ccallback.h" #include "pygi-info.h" +#ifndef GI_CHECK_VERSION +#define GI_CHECK_VERSION(x,y,z) 0 +#endif + extern PyObject *_PyGIDefaultArgPlaceholder; typedef struct _PyGICallbackCache @@ -632,8 +636,13 @@ end: void _pygi_invoke_closure_free (PyGICClosure* invoke_closure) { +#if GI_CHECK_VERSION(1, 72, 0) + g_callable_info_destroy_closure (invoke_closure->info, + invoke_closure->closure); +#else g_callable_info_free_closure (invoke_closure->info, invoke_closure->closure); +#endif if (invoke_closure->info) g_base_info_unref ( (GIBaseInfo*) invoke_closure->info); @@ -671,8 +680,13 @@ _pygi_make_native_closure (GICallableInfo* info, Py_XINCREF (closure->user_data); fficlosure = +#if GI_CHECK_VERSION(1, 72, 0) + g_callable_info_create_closure (info, &closure->cif, _pygi_closure_handle, + closure); +#else g_callable_info_prepare_closure (info, &closure->cif, _pygi_closure_handle, closure); +#endif closure->closure = fficlosure; /* Give the closure the information it needs to determine when -- cgit v1.2.1