summaryrefslogtreecommitdiff
path: root/gtk/gtktypeutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtktypeutils.c')
-rw-r--r--gtk/gtktypeutils.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/gtk/gtktypeutils.c b/gtk/gtktypeutils.c
index 79e049156..fa4605d54 100644
--- a/gtk/gtktypeutils.c
+++ b/gtk/gtktypeutils.c
@@ -270,6 +270,28 @@ gtk_type_is_a (GtkType type,
}
void
+gtk_type_get_arg (GtkObject *object,
+ GtkType type,
+ GtkArg *arg,
+ guint arg_id)
+{
+ GtkTypeNode *node;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (arg != NULL);
+
+ if (initialize)
+ gtk_type_init ();
+
+ node = g_hash_table_lookup (type_hash_table, &type);
+
+ if (node && node->type_info.arg_get_func)
+ (* node->type_info.arg_get_func) (object, arg, arg_id);
+ else
+ arg->type = GTK_TYPE_INVALID;
+}
+
+void
gtk_type_set_arg (GtkObject *object,
GtkType type,
GtkArg *arg,
@@ -277,6 +299,9 @@ gtk_type_set_arg (GtkObject *object,
{
GtkTypeNode *node;
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (arg != NULL);
+
if (initialize)
gtk_type_init ();