Bringing over this fix from 1.3 current to the porting branch.

Fixes STR #3306; const version of bound_key_function().
Also affects patches in STR #3305, which will be applied in next commit.




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Greg Ercolano 2016-07-19 20:12:21 +00:00
parent 8850c5c822
commit dc8a00fbba
2 changed files with 17 additions and 1 deletions

View File

@ -78,10 +78,19 @@ class FL_EXPORT Fl_Text_Editor : public Fl_Text_Display {
/** Removes all of the key bindings associated with the text editor or list. */
void remove_all_key_bindings() { remove_all_key_bindings(&key_bindings); }
void add_default_key_bindings(Key_Binding** list);
#if FLTK_ABI_VERSION < 10304
// OLD: non-const
Key_Func bound_key_function(int key, int state, Key_Binding* list);
/** Returns the function associated with a key binding. */
Key_Func bound_key_function(int key, int state)
{ return bound_key_function(key, state, key_bindings); }
#else
// NEW: const (STR#3306)
Key_Func bound_key_function(int key, int state, Key_Binding* list) const;
/** Returns the function associated with a key binding. */
Key_Func bound_key_function(int key, int state) const
{ return bound_key_function(key, state, key_bindings); }
#endif
/** Sets the default key function for unassigned keys. */
void default_key_function(Key_Func f) { default_key_function_ = f; }

View File

@ -163,7 +163,14 @@ void Fl_Text_Editor::add_default_key_bindings(Key_Binding** list) {
}
/** Returns the function associated with a key binding.*/
Fl_Text_Editor::Key_Func Fl_Text_Editor::bound_key_function(int key, int state, Key_Binding* list) {
#if FLTK_ABI_VERSION < 10304
// OLD - non-const
Fl_Text_Editor::Key_Func Fl_Text_Editor::bound_key_function(int key, int state, Key_Binding* list)
#else
// NEW - const (STR#3306)
Fl_Text_Editor::Key_Func Fl_Text_Editor::bound_key_function(int key, int state, Key_Binding* list) const
#endif
{
Key_Binding* cur;
for (cur = list; cur; cur = cur->next)
if (cur->key == key)