summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-05-15 14:59:13 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-05-15 14:59:13 +0200
commit9df6dc2aeb37682a2ef1906e04b9e0436e63a6ba (patch)
treeef290f96a5224aadcee579d04c37957e9fe62fd7 /src
parenta9085c3b114b87356ba4dd11bd76455c31616175 (diff)
Fix uses of isupper() and isprint() - STR #3436
Diffstat (limited to 'src')
-rw-r--r--src/Fl_MacOS_Sys_Menu_Bar.mm2
-rw-r--r--src/Fl_Text_Editor.cxx2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/Fl_MacOS_Sys_Menu_Bar.mm b/src/Fl_MacOS_Sys_Menu_Bar.mm
index 4cc6280d7..788f8b61e 100644
--- a/src/Fl_MacOS_Sys_Menu_Bar.mm
+++ b/src/Fl_MacOS_Sys_Menu_Bar.mm
@@ -174,7 +174,7 @@ const char *Fl_Mac_App_Menu::quit = "Quit %@";
{
NSUInteger macMod = 0;
if ( value & FL_META ) macMod = NSEventModifierFlagCommand;
- if ( value & FL_SHIFT || isupper(value) ) macMod |= NSEventModifierFlagShift;
+ if ( value & FL_SHIFT || (value > 0 && value < 127 && isupper(value)) ) macMod |= NSEventModifierFlagShift;
if ( value & FL_ALT ) macMod |= NSEventModifierFlagOption;
if ( value & FL_CTRL ) macMod |= NSEventModifierFlagControl;
[super setKeyEquivalentModifierMask:macMod];
diff --git a/src/Fl_Text_Editor.cxx b/src/Fl_Text_Editor.cxx
index 5e8f2c583..55da11cb8 100644
--- a/src/Fl_Text_Editor.cxx
+++ b/src/Fl_Text_Editor.cxx
@@ -233,7 +233,7 @@ static void kill_selection(Fl_Text_Editor* e) {
*/
int Fl_Text_Editor::kf_default(int c, Fl_Text_Editor* e) {
// FIXME: this function is a mess! Fix this!
- if (!c || (!isprint(c) && c != '\t')) return 0;
+ if (!c || (!(c > 0 && c < 127 && isprint(c)) && c != '\t')) return 0;
char s[2] = "\0";
s[0] = (char)c;
kill_selection(e);