diff options
author | Benjamin Otte <otte@redhat.com> | 2021-08-23 07:06:37 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2021-08-30 06:02:16 +0200 |
commit | 119458f13e6110e470d794b038a9bfdad8b28dd7 (patch) | |
tree | ca638eb187ca06179745664d89eed29cd2f988f5 | |
parent | 2863095f063c7ac153e6f30e0ad579566ab53648 (diff) | |
download | gtk+-119458f13e6110e470d794b038a9bfdad8b28dd7.tar.gz |
contentdeserializer: Fix some API awkwardness
Allow uninitialized GValues to be passed. Makes life easier for the
inspector code I'm writing.
-rw-r--r-- | gdk/gdkcontentdeserializer.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gdk/gdkcontentdeserializer.c b/gdk/gdkcontentdeserializer.c index f245b4c350..4959b5af4d 100644 --- a/gdk/gdkcontentdeserializer.c +++ b/gdk/gdkcontentdeserializer.c @@ -553,6 +553,8 @@ gdk_content_deserialize_async (GInputStream *stream, Deserializer *deserializer; g_return_if_fail (G_IS_INPUT_STREAM (stream)); + g_return_if_fail (mime_type != NULL); + g_return_if_fail (G_TYPE_IS_VALUE_TYPE (type)); g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); g_return_if_fail (callback != NULL); @@ -591,7 +593,10 @@ gdk_content_deserialize_finish (GAsyncResult *result, 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 (G_VALUE_TYPE (value) == 0) + g_value_init (value, G_VALUE_TYPE (&deserializer->value)); + else + g_return_val_if_fail (G_VALUE_HOLDS (value, G_VALUE_TYPE (&deserializer->value)), FALSE); if (deserializer->error) { |