summaryrefslogtreecommitdiff
path: root/src/Fl_Text_Editor.cxx
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-01-07 16:34:44 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-01-07 16:34:54 +0100
commit5bab46940c9dc6ad272e4cbf7970a7261aaff210 (patch)
tree1e47a2b99a54a1e479094be43207c25a7f61fdc6 /src/Fl_Text_Editor.cxx
parent27c175dad8470229a512540edaae24787c65c3b7 (diff)
Re-organize cross-platform support for text input methods.
FLTK 1.3 supports complex text input methods (TIMs) for the 3 platforms (X11, Windows, macOS). This support has an interface with FLTK that is common for X11 and Windows, via (undocumented) functions fl_set_spot(), fl_set_status() and fl_reset_spot(). In contrast, and because it's been developed independently, the interface between the macOS TIM and FLTK 1.3 is completely different : static functions FL::insertion_point_location() and Fl::reset_marked_text(). The present change implements a single TIM/FLTK interface used by all platforms based on functions fl_set_spot() and fl_reset_spot(). The previous macOS-specific functions FL::insertion_point_location() and Fl::reset_marked_text() are maintained only for compatibility with 1.3 and deprecated.
Diffstat (limited to 'src/Fl_Text_Editor.cxx')
-rw-r--r--src/Fl_Text_Editor.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Fl_Text_Editor.cxx b/src/Fl_Text_Editor.cxx
index eaab6f39e..a786ac498 100644
--- a/src/Fl_Text_Editor.cxx
+++ b/src/Fl_Text_Editor.cxx
@@ -670,9 +670,10 @@ int Fl_Text_Editor::handle(int event) {
if (Fl::screen_driver()->has_marked_text() && buffer()->selected() && Fl::compose_state) {
int pos = insert_position();
buffer()->select(pos, pos);
- Fl::reset_marked_text();
+ fl_reset_spot();
}
if (buffer()->selected()) redraw(); // Redraw selections...
+ // FALLTHROUGH
case FL_HIDE:
if (when() & FL_WHEN_RELEASE) maybe_do_callback();
return 1;