summaryrefslogtreecommitdiff
path: root/gdk/gdkcontentdeserializer.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2017-11-24 06:07:09 +0100
committerBenjamin Otte <otte@redhat.com>2017-12-03 05:46:47 +0100
commit3023d254ddfc1e2d11038a098366782b15d909af (patch)
tree436564848e46804d7aecde122d6900b885a8176f /gdk/gdkcontentdeserializer.c
parent9b78d76873c075aaac0e5d62382bfb1cd1ba065e (diff)
downloadgtk+-3023d254ddfc1e2d11038a098366782b15d909af.tar.gz
clipboard: Make value getters set the passed in value
Don't return a const GValue, that's ugly API. Instead require people to pass in a preinitialized GValue and set that one.
Diffstat (limited to 'gdk/gdkcontentdeserializer.c')
-rw-r--r--gdk/gdkcontentdeserializer.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gdk/gdkcontentdeserializer.c b/gdk/gdkcontentdeserializer.c
index bcfc11e7e1..6c931e0978 100644
--- a/gdk/gdkcontentdeserializer.c
+++ b/gdk/gdkcontentdeserializer.c
@@ -380,25 +380,27 @@ gdk_content_deserialize_async (GInputStream *stream,
user_data);
}
-const GValue *
+gboolean
gdk_content_deserialize_finish (GAsyncResult *result,
+ GValue *value,
GError **error)
{
GdkContentDeserializer *deserializer;
- g_return_val_if_fail (GDK_IS_CONTENT_DESERIALIZER (result), NULL);
- g_return_val_if_fail (error == NULL || *error == NULL, NULL);
-
+ g_return_val_if_fail (GDK_IS_CONTENT_DESERIALIZER (result), FALSE);
+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
deserializer = GDK_CONTENT_DESERIALIZER (result);
+ g_return_val_if_fail (G_VALUE_HOLDS (value, G_VALUE_TYPE (&deserializer->value)), FALSE);
if (deserializer->error)
{
if (error)
*error = g_error_copy (deserializer->error);
- return NULL;
+ return FALSE;
}
- return &deserializer->value;
+ g_value_copy (&deserializer->value, value);
+ return TRUE;
}
/*** DESERIALIZERS ***/