[gtk/matthiasc/for-main] textbuffer: Try harder to fix pasting



commit 3e7618fef7858fe90dfffee9db951d30009dedf8
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Nov 30 21:42:19 2021 -0500

    textbuffer: Try harder to fix pasting
    
    It turns out we can't just use the size returned
    by the memory stream as-is, since it may contain
    unfilled garbage at the end, which utf8 validation
    will choke on. So, cut it off at the first '\0'
    we find.

 gtk/gtktextbuffer.c | 2 ++
 1 file changed, 2 insertions(+)
---
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index a99b25a940..c2cd148868 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -327,6 +327,8 @@ gtk_text_buffer_deserialize_text_plain_finish (GObject      *source,
 
   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, size);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]