summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl.cxx14
-rw-r--r--src/Fl_win32.cxx12
2 files changed, 12 insertions, 14 deletions
diff --git a/src/Fl.cxx b/src/Fl.cxx
index f45038c28..7d8cb4a73 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl.cxx,v 1.20 1999/02/26 07:07:55 bill Exp $"
+// "$Id: Fl.cxx,v 1.21 1999/03/03 07:40:17 bill Exp $"
//
// Main event handling code for the Fast Light Tool Kit (FLTK).
//
@@ -418,7 +418,6 @@ int Fl::handle(int event, Fl_Window* window)
case FL_DRAG:
// this should not happen if enter/leave events were reported
// correctly by the system, but just in case:
- fl_xmousewin = window;
if (pushed()) {
w = pushed();
event = FL_DRAG;
@@ -427,7 +426,10 @@ int Fl::handle(int event, Fl_Window* window)
} else if (modal() && w != modal()) {
w = 0;
}
- if (grab()) w = grab();
+ if (grab())
+ w = grab();
+ else
+ fl_xmousewin = window;
break;
case FL_RELEASE: {
@@ -490,11 +492,11 @@ int Fl::handle(int event, Fl_Window* window)
return 0;
case FL_ENTER:
- fl_xmousewin = window; fl_fix_focus();
+ if (!grab()) {fl_xmousewin = window; fl_fix_focus();}
return 1;
case FL_LEAVE:
- if (window == fl_xmousewin) {fl_xmousewin = 0; fl_fix_focus();}
+ if (!grab() && window == fl_xmousewin) {fl_xmousewin = 0; fl_fix_focus();}
return 1;
default:
@@ -681,5 +683,5 @@ int fl_old_shortcut(const char* s) {
}
//
-// End of "$Id: Fl.cxx,v 1.20 1999/02/26 07:07:55 bill Exp $".
+// End of "$Id: Fl.cxx,v 1.21 1999/03/03 07:40:17 bill Exp $".
//
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 2d08091cb..5bc268324 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_win32.cxx,v 1.29 1999/02/19 15:34:09 mike Exp $"
+// "$Id: Fl_win32.cxx,v 1.30 1999/03/03 07:40:18 bill Exp $"
//
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
//
@@ -197,12 +197,6 @@ void Fl::get_mouse(int &x, int &y) {
////////////////////////////////////////////////////////////////
-extern Fl_Window *fl_xfocus; // in Fl.C
-extern Fl_Window *fl_xmousewin; // in Fl.C
-void fl_fix_focus(); // in Fl.C
-
-////////////////////////////////////////////////////////////////
-
HWND fl_capture;
static int mouse_event(Fl_Window *window, int what, int button,
@@ -599,6 +593,8 @@ void Fl_Window::resize(int X,int Y,int W,int H) {
////////////////////////////////////////////////////////////////
+void fl_fix_focus(); // in Fl.C
+
char fl_show_iconic; // hack for Fl_Window::iconic()
// int fl_background_pixel = -1; // color to use for background
HCURSOR fl_default_cursor;
@@ -895,5 +891,5 @@ void Fl_Window::make_current() {
}
//
-// End of "$Id: Fl_win32.cxx,v 1.29 1999/02/19 15:34:09 mike Exp $".
+// End of "$Id: Fl_win32.cxx,v 1.30 1999/03/03 07:40:18 bill Exp $".
//