From 05d20db147c80ff80f03d6674d0ffaeddb1cecd0 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sat, 15 Dec 2012 22:03:55 +0000 Subject: Mac OS text input: Fl::compose_state is a number of bytes (not of characters). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9757 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Text_Editor.cxx | 5 +++-- src/Fl_cocoa.mm | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Fl_Text_Editor.cxx b/src/Fl_Text_Editor.cxx index 723f2bac7..d13fd7139 100644 --- a/src/Fl_Text_Editor.cxx +++ b/src/Fl_Text_Editor.cxx @@ -514,8 +514,9 @@ int Fl_Text_Editor::handle_key() { int del = 0; if (Fl::compose(del)) { if (del) { - int dp = insert_position(), di = del; - while (di--) dp = buffer()->prev_char_clipped(dp); + // del is a number of bytes + int dp = insert_position() - del; + if ( dp < 0 ) dp = 0; buffer()->select(dp, insert_position()); } kill_selection(this); diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index bb2ab9662..9bd0cbfa4 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -1958,7 +1958,7 @@ static void q_set_window_title(NSWindow *nsw, const char * name, const char *mi received, newSelection.location, newSelection.length, Fl::e_length, Fl::compose_state, [received length]);*/ Fl_Window *target = [(FLWindow*)[self window] getFl_Window]; Fl::handle(FL_KEYBOARD, target); - Fl::compose_state = [received length]; + Fl::compose_state = Fl::e_length; fl_unlock_function(); } -- cgit v1.2.3