forked from AuroraMiddleware/gtk
Merge branch 'matthiasc/for-main' into 'main'
textbuffer: Fix pasting text Closes #4357 See merge request GNOME/gtk!4205
This commit is contained in:
commit
2611a996ff
@ -310,6 +310,7 @@ gtk_text_buffer_deserialize_text_plain_finish (GObject *source,
|
||||
GtkTextIter start, end;
|
||||
GError *error = NULL;
|
||||
gssize written;
|
||||
gsize size;
|
||||
char *data;
|
||||
|
||||
written = g_output_stream_splice_finish (stream, result, &error);
|
||||
@ -319,14 +320,18 @@ gtk_text_buffer_deserialize_text_plain_finish (GObject *source,
|
||||
return;
|
||||
}
|
||||
|
||||
size = g_memory_output_stream_get_size (G_MEMORY_OUTPUT_STREAM (
|
||||
g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (stream))));
|
||||
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)
|
||||
{
|
||||
if (memchr (data, '\0', size))
|
||||
size = -1;
|
||||
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_insert (buffer, &end, data, size);
|
||||
gtk_text_buffer_get_bounds (buffer, &start, &end);
|
||||
gtk_text_buffer_select_range (buffer, &start, &end);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user