[pygobject] pygi: Fix girepository deprecation warnings



commit fc776c2058e11da5c3a4cebeea7f313057bc079f
Author: Nirbheek Chauhan <nirbheek centricular com>
Date:   Sat Jul 30 02:21:22 2022 +0530

    pygi: Fix girepository deprecation warnings
    
    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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]