[gtk/wip/baedert/for-master: 14/19] textbuffer: Don't try to inset NULL text from clipboard
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/baedert/for-master: 14/19] textbuffer: Don't try to inset NULL text from clipboard
- Date: Thu, 24 Sep 2020 17:08:32 +0000 (UTC)
commit 12cc178756b285fd3c5922d3436b45ffe72793bb
Author: Timm Bäder <mail baedert org>
Date: Sat Sep 19 18:41:10 2020 +0200
textbuffer: Don't try to inset NULL text from clipboard
That used to generate a critical error message.
Also free() the data.
gtk/gtktextbuffer.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
---
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index 854799d8a8..18861d301c 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -310,6 +310,7 @@ gtk_text_buffer_deserialize_text_plain_finish (GObject *source,
GtkTextIter start, end;
GError *error = NULL;
gssize written;
+ char *data;
written = g_output_stream_splice_finish (stream, result, &error);
if (written < 0)
@@ -318,15 +319,19 @@ gtk_text_buffer_deserialize_text_plain_finish (GObject *source,
return;
}
- buffer = g_value_get_object (gdk_content_deserializer_get_value (deserializer));
- gtk_text_buffer_get_end_iter (buffer, &end);
- gtk_text_buffer_insert (buffer,
- &end,
- g_memory_output_stream_steal_data (G_MEMORY_OUTPUT_STREAM (
- g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (stream)))),
- -1);
- gtk_text_buffer_get_bounds (buffer, &start, &end);
- gtk_text_buffer_select_range (buffer, &start, &end);
+ data = g_memory_output_stream_steal_data (G_MEMORY_OUTPUT_STREAM (
+ g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (stream))));
+
+ if (data)
+ {
+ buffer = g_value_get_object (gdk_content_deserializer_get_value (deserializer));
+ gtk_text_buffer_get_end_iter (buffer, &end);
+ gtk_text_buffer_insert (buffer, &end, data, -1);
+ gtk_text_buffer_get_bounds (buffer, &start, &end);
+ gtk_text_buffer_select_range (buffer, &start, &end);
+
+ g_free (data);
+ }
gdk_content_deserializer_return_success (deserializer);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]