[perl-Glib-Object-Introspection] Correctly handle in arguments after out arguments



commit 02461c5382e624394b25b7448cc712f6cb3a4a0d
Author: Torsten Schönfeld <kaffeetisch gmx de>
Date:   Tue Nov 9 21:29:19 2010 +0100

    Correctly handle in arguments after out arguments

 GObjectIntrospection.xs |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/GObjectIntrospection.xs b/GObjectIntrospection.xs
index e708b8e..91b3c1f 100644
--- a/GObjectIntrospection.xs
+++ b/GObjectIntrospection.xs
@@ -1788,6 +1788,9 @@ PPCODE:
 			arg_types[i + method_offset] = &ffi_type_pointer;
 			args[i + method_offset] = &out_args[n_out_args];
 			n_out_args++;
+			/* Adjust the dynamic stack offset so that this out
+			 * argument doesn't inadvertedly eat up an in argument. */
+			invocation_info.dynamic_stack_offset--;
 			break;
 		    case GI_DIRECTION_INOUT:
 		    {



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