[gjs/cairo] [gi/arg] Only allow override for interface types
- From: Johan Dahlin <johan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs/cairo] [gi/arg] Only allow override for interface types
- Date: Thu, 18 Feb 2010 08:07:00 +0000 (UTC)
commit a232f7e126a6b3a9cbbfe0f842b49611a662b2f1
Author: Johan Dahlin <johan gnome org>
Date: Thu Feb 18 05:18:28 2010 -0200
[gi/arg] Only allow override for interface types
It makes no sense to override basic types as they
are already handled perfectly well by gjs itself.
This also avoids the performance penalty since we don't have
to check all argument types.
gi/arg.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/gi/arg.c b/gi/arg.c
index 626f04e..43a6d36 100644
--- a/gi/arg.c
+++ b/gi/arg.c
@@ -595,9 +595,6 @@ gjs_value_to_g_argument(JSContext *context,
"Converting jsval to GArgument %s",
g_type_tag_to_string(type_tag));
- if (gjs_arg_override_convert_to_g_argument(context, type_info, value, arg))
- return JS_TRUE;
-
nullable_type = FALSE;
wrong = FALSE; /* return JS_FALSE */
out_of_range = FALSE;
@@ -751,6 +748,9 @@ gjs_value_to_g_argument(JSContext *context,
GIInfoType interface_type;
GType gtype;
+ if (gjs_arg_override_convert_to_g_argument(context, type_info, value, arg))
+ return JS_TRUE;
+
interface_info = g_type_info_get_interface(type_info);
g_assert(interface_info != NULL);
@@ -1304,9 +1304,6 @@ gjs_value_from_g_argument (JSContext *context,
*value_p = JSVAL_NULL;
- if (gjs_arg_override_convert_from_g_argument(context, type_info, value_p, arg))
- return JS_TRUE;
-
switch (type_tag) {
case GI_TYPE_TAG_VOID:
*value_p = JSVAL_VOID; /* or JSVAL_NULL ? */
@@ -1377,6 +1374,9 @@ gjs_value_from_g_argument (JSContext *context,
GIInfoType interface_type;
GType gtype;
+ if (gjs_arg_override_convert_from_g_argument(context, type_info, value_p, arg))
+ return JS_TRUE;
+
interface_info = g_type_info_get_interface(type_info);
g_assert(interface_info != NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]