summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2021-04-26 21:32:00 +0200
committerBenjamin Otte <otte@redhat.com>2021-04-26 21:32:57 +0200
commit1be899459c3900be746bd35e49c72f5616443b68 (patch)
treefcd39a549a21f6a62661805870409721d31ae0b1
parentf34e3c573ba1e18a52f5007d85a8bfc27c2e4f90 (diff)
downloadgtk+-1be899459c3900be746bd35e49c72f5616443b68.tar.gz
clipboard: Fix reading of files
Make sure writing a terminating null byte actually works and we don't just ignore the error message.
-rw-r--r--gdk/gdkcontentdeserializer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdk/gdkcontentdeserializer.c b/gdk/gdkcontentdeserializer.c
index e03df87d0f..39ebed9fd2 100644
--- a/gdk/gdkcontentdeserializer.c
+++ b/gdk/gdkcontentdeserializer.c
@@ -740,7 +740,8 @@ file_uri_deserializer_finish (GObject *source,
}
/* write terminating NULL */
- if (!g_output_stream_write (stream, "", 1, NULL, &error))
+ if (g_output_stream_write (stream, "", 1, NULL, &error) < 0 ||
+ !g_output_stream_close (stream, NULL, &error))
{
gdk_content_deserializer_return_error (deserializer, error);
return;
@@ -780,7 +781,7 @@ file_uri_deserializer (GdkContentDeserializer *deserializer)
g_output_stream_splice_async (output,
gdk_content_deserializer_get_input_stream (deserializer),
- G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
+ G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE,
gdk_content_deserializer_get_priority (deserializer),
gdk_content_deserializer_get_cancellable (deserializer),
file_uri_deserializer_finish,