summaryrefslogtreecommitdiff
path: root/girepository/girffi.c
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2012-02-03 13:47:17 -0500
committerJasper St. Pierre <jstpierre@mecheye.net>2012-02-03 13:48:39 -0500
commitff9651a6de7b7c356477f11472b94d7bec05ea2c (patch)
tree25c2deb22fe3e484c1c2cbc683f5c00a4d71fcfc /girepository/girffi.c
parent0745bb43c2cbc01a6f86551ff4a28abcd6465dda (diff)
downloadgobject-introspection-ff9651a6de7b7c356477f11472b94d7bec05ea2c.tar.gz
girffi: Fix g_function_info_new_for_address to respect G_VFUNC_THROWS
Diffstat (limited to 'girepository/girffi.c')
-rw-r--r--girepository/girffi.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/girepository/girffi.c b/girepository/girffi.c
index e727beab..d4c728a5 100644
--- a/girepository/girffi.c
+++ b/girepository/girffi.c
@@ -301,8 +301,15 @@ g_function_invoker_new_for_address (gpointer addr,
throws = (flags & GI_FUNCTION_THROWS) != 0;
}
break;
- case GI_INFO_TYPE_CALLBACK:
case GI_INFO_TYPE_VFUNC:
+ {
+ GIVFuncInfoFlags flags;
+ flags = g_vfunc_info_get_flags ((GIVFuncInfo *)info);
+ throws = (flags & GI_VFUNC_THROWS) != 0;
+ }
+ is_method = FALSE;
+ break;
+ case GI_INFO_TYPE_CALLBACK:
is_method = TRUE;
throws = FALSE;
break;