summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--src/Fl_x.cxx8
2 files changed, 7 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 51dd758dc..493257a7d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
CHANGES IN FLTK 1.1.5rc1
+ - Fixed the X11 CTRL + "-" detection code to properly
+ track the state of the CTRL key (STR #264)
- Fl_File_Icon::load_system_icons() didn't support KDE
3.x (STR #299)
- WIN32's scandir() emulation did not allocate enough
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index 968e9b336..d999d6de4 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_x.cxx,v 1.24.2.24.2.31 2004/02/26 03:06:41 easysw Exp $"
+// "$Id: Fl_x.cxx,v 1.24.2.24.2.32 2004/02/29 22:16:11 easysw Exp $"
//
// X specific code for the Fast Light Tool Kit (FLTK).
//
@@ -756,7 +756,9 @@ int fl_handle(const XEvent& thisevent)
// easier to program shortcuts and is Windoze-compatable:
keysym = XKeycodeToKeysym(fl_display, keycode, 0);
}
- if (Fl::event_state(FL_CTRL) && keysym == '-') buffer[0] = 0x1f; // ^_
+ // MRS: Can't use Fl::event_state(FL_CTRL) since the state is not
+ // set until set_event_xy() is called later...
+ if ((xevent.xkey.state & ControlMask) && keysym == '-') buffer[0] = 0x1f; // ^_
buffer[len] = 0;
Fl::e_text = buffer;
Fl::e_length = len;
@@ -1268,5 +1270,5 @@ void Fl_Window::make_current() {
#endif
//
-// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.31 2004/02/26 03:06:41 easysw Exp $".
+// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.32 2004/02/29 22:16:11 easysw Exp $".
//