[gtk/clipboard-test: 2/2] contentserializer: Don't write to a closed stream
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/clipboard-test: 2/2] contentserializer: Don't write to a closed stream
- Date: Mon, 26 Apr 2021 23:29:35 +0000 (UTC)
commit 13d3ecb486c68ba1245303e98275cf749f89d792
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Apr 26 19:08:40 2021 -0400
contentserializer: Don't write to a closed stream
It doesn't work. We didn't notice because our
error checking did not work either :(
This makes text/uri-list transfers work,
at least on X11 and under weston.
gdk/gdkcontentdeserializer.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gdk/gdkcontentdeserializer.c b/gdk/gdkcontentdeserializer.c
index 42f77c0078..08b102201f 100644
--- a/gdk/gdkcontentdeserializer.c
+++ b/gdk/gdkcontentdeserializer.c
@@ -731,7 +731,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;
@@ -771,7 +772,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,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]