[pygobject] Cleanup input args when marshaling in closures



commit 19cdbee5a89009da0eb366b9c698a860a7aa92b8
Author: Garrett Regier <Garrett Regier riftio com>
Date:   Fri Aug 8 10:08:23 2014 -0400

    Cleanup input args when marshaling in closures
    
    The cleanup must happen before setting the out args otherwise
    the args that cleanup would free are the just set args, not the
    original ones.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=727004

 gi/pygi-closure.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gi/pygi-closure.c b/gi/pygi-closure.c
index 3b642a1..6976120 100644
--- a/gi/pygi-closure.c
+++ b/gi/pygi-closure.c
@@ -582,8 +582,8 @@ _pygi_closure_handle (ffi_cif *cif,
         goto end;
     }
 
+    pygi_marshal_cleanup_args_to_py_marshal_success (&state, closure->cache);
     success = _pygi_closure_set_out_arguments (&state, closure->cache, retval, result);
-    /*pygi_marshal_cleanup_args_to_py_marshal_success (&state, closure->cache);*/
 
     if (!success) {
         pygi_marshal_cleanup_args_from_py_marshal_success (&state, closure->cache);


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