From fbfce31889c33e782d14ad595c49e7f7529d9603 Mon Sep 17 00:00:00 2001 From: Ek Kato Date: Sat, 27 Jul 2013 13:55:39 -0700 Subject: [PATCH] Bug 701332 - Patch for minor glitch in NSTextInput (cherry picked from commit 43ed68aa33b8e5efde01f7ef10d081b979cd451f) --- gdk/quartz/GdkQuartzView.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c index cd25efc029..0254ee319e 100644 --- a/gdk/quartz/GdkQuartzView.c +++ b/gdk/quartz/GdkQuartzView.c @@ -122,14 +122,20 @@ -(void)unmarkText { GDK_NOTE (EVENTS, g_print ("unmarkText\n")); + gchar *prev_str; markedRange = selectedRange = NSMakeRange (NSNotFound, 0); + + prev_str = g_object_get_data (G_OBJECT (gdk_window), TIC_MARKED_TEXT); + if (prev_str) + g_free (prev_str); + g_object_set_data (G_OBJECT (gdk_window), TIC_MARKED_TEXT, NULL); } -(void)setMarkedText: (id)aString selectedRange: (NSRange)newSelection replacementRange: (NSRange)replacementRange { GDK_NOTE (EVENTS, g_print ("setMarkedText\n")); const char *str; - char *prev_str; + gchar *prev_str; if (replacementRange.location == NSNotFound) { @@ -173,7 +179,7 @@ { GDK_NOTE (EVENTS, g_print ("insertText\n")); const char *str; - char *prev_str; + gchar *prev_str; if ([self hasMarkedText]) [self unmarkText];