diff options
author | Benjamin Otte <otte@redhat.com> | 2017-11-24 06:07:09 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2017-12-03 05:46:47 +0100 |
commit | 3023d254ddfc1e2d11038a098366782b15d909af (patch) | |
tree | 436564848e46804d7aecde122d6900b885a8176f /gdk/gdkcontentdeserializer.c | |
parent | 9b78d76873c075aaac0e5d62382bfb1cd1ba065e (diff) | |
download | gtk+-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.c | 14 |
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 ***/ |