diff options
author | Benjamin Otte <otte@redhat.com> | 2021-04-26 21:32:00 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2021-04-26 21:32:57 +0200 |
commit | 1be899459c3900be746bd35e49c72f5616443b68 (patch) | |
tree | fcd39a549a21f6a62661805870409721d31ae0b1 /gdk | |
parent | f34e3c573ba1e18a52f5007d85a8bfc27c2e4f90 (diff) | |
download | gtk+-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.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/gdkcontentdeserializer.c | 5 |
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, |