Browse Source

#862: Fixes Fl_Shortut to swallow all FL_SHORCUT events if hot.

pull/865/head
Matthias Melcher 2 years ago
parent
commit
81a9cb74c3
  1. 4
      src/Fl_Shortcut_Button.cxx

4
src/Fl_Shortcut_Button.cxx

@ -213,6 +213,7 @@ int Fl_Shortcut_Button::handle(int e) {
if (hot_) { if (hot_) {
// Note: we can't really handle non-Latin shortcuts in the Fl_Shortcut // Note: we can't really handle non-Latin shortcuts in the Fl_Shortcut
// type, so we don't handle them here either // type, so we don't handle them here either
// Todo: use fl_utf_tolower and fl_utf_toupper
int v = fl_utf8decode(Fl::event_text(), 0, 0); int v = fl_utf8decode(Fl::event_text(), 0, 0);
if ( (v > 32 && v < 0x7f) || (v > 0xa0 && v <= 0xff) ) { if ( (v > 32 && v < 0x7f) || (v > 0xa0 && v <= 0xff) ) {
if (isupper(v)) { if (isupper(v)) {
@ -251,6 +252,9 @@ int Fl_Shortcut_Button::handle(int e) {
} }
} }
break; break;
case FL_SHORTCUT:
if (hot_) return 1;
break;
} }
return Fl_Button::handle(e); return Fl_Button::handle(e);
} }

Loading…
Cancel
Save