[libpeas] Fix implementing interface vfuncs on 64bit



commit bf38bb977d61c41cb90aeffff41bafb669f47510
Author: Garrett Regier <alias301 gmail com>
Date:   Tue Jan 25 02:58:02 2011 -0800

    Fix implementing interface vfuncs on 64bit

 libpeas/peas-extension-subclasses.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/libpeas/peas-extension-subclasses.c b/libpeas/peas-extension-subclasses.c
index e193c53..1b79c08 100644
--- a/libpeas/peas-extension-subclasses.c
+++ b/libpeas/peas-extension-subclasses.c
@@ -77,7 +77,10 @@ handle_method_impl (ffi_cif  *cif,
       g_callable_info_load_arg (impl->info, i, &arg_info);
       g_arg_info_load_type (&arg_info, &type_info);
 
-      peas_gi_pointer_to_argument (&type_info, args[i], &arguments[i-1]);
+      if (g_arg_info_get_direction (&arg_info) == GI_DIRECTION_IN)
+        peas_gi_pointer_to_argument (&type_info, args[i], &arguments[i-1]);
+      else
+        arguments[i-1].v_pointer = *((gpointer **) args[i]);
     }
 
   peas_extension_callv (instance, impl->method_name, arguments, &return_value);



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