[pygobject/invoke-rewrite] [gi] don't clean up arguments that weren't yet processed during in arg failure



commit 6e8dc28cb261cafbfed40fc0797a0dd5f91f497b
Author: John (J5) Palmieri <johnp redhat com>
Date:   Wed Jun 15 12:46:03 2011 -0400

    [gi] don't clean up arguments that weren't yet processed during in arg failure

 gi/pygi-marshal-cleanup.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gi/pygi-marshal-cleanup.c b/gi/pygi-marshal-cleanup.c
index 001889f..6a0b6a6 100644
--- a/gi/pygi-marshal-cleanup.c
+++ b/gi/pygi-marshal-cleanup.c
@@ -133,7 +133,7 @@ pygi_marshal_cleanup_args_in_parameter_fail (PyGIInvokeState   *state,
 
     state->failed = TRUE;
 
-    for (i = 0; i < cache->n_args; i++) {
+    for (i = 0; i < cache->n_args  && i <= failed_arg_index; i++) {
         PyGIArgCache *arg_cache = cache->args_cache[i];
         PyGIMarshalCleanupFunc cleanup_func = arg_cache->in_cleanup;
         gpointer data = state->args[i]->v_pointer;



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