[perl-Glib-Object-Introspection] Fix the GList → SV conversion



commit 95e7dcf6aa735a6558b35809ee4461a0d1446089
Author: Torsten Schönfeld <kaffeetisch gmx de>
Date:   Mon May 3 22:20:41 2010 +0200

    Fix the GList â?? SV conversion
    
    interface_to_sv expects a GArgument*, and arg->v_pointer is apparently
    not necessarily equal to arg, so simply passing a raw pointer doesn't
    always work.  So construct a temporary GArgument and pass that on.

 GObjectIntrospection.xs |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/GObjectIntrospection.xs b/GObjectIntrospection.xs
index 3c8ed92..5b816c4 100644
--- a/GObjectIntrospection.xs
+++ b/GObjectIntrospection.xs
@@ -545,7 +545,9 @@ glist_to_sv (GITypeInfo* info,
 
 	for (i = pointer; i; i = i->next) {
 		dwarn ("      converting pointer %p\n", i->data);
-		value = interface_to_sv (param_info, i->data,
+		GArgument arg = {0,};
+		arg.v_pointer = i->data;
+		value = interface_to_sv (param_info, &arg,
 		                         transfer == GI_TRANSFER_EVERYTHING);
 		if (value)
 			av_push (av, value);



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