summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Fl_win32.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 6ba193f3c..509f76767 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -1398,6 +1398,11 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
break;
case WM_SETFOCUS:
+ if (Fl::grab() && (Fl::grab() != window) && Fl::grab()->menu_window()) {
+ // simulate click at remote location (see issue #1166)
+ mouse_event(Fl::grab(), 0, 1, MK_LBUTTON, MAKELPARAM(100000, 0));
+ return 0;
+ }
if ((Fl::modal_) && (Fl::modal_ != window)) {
SetFocus(fl_xid(Fl::modal_));
return 0;