diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index 6ba193f3cbab93dc4e9762e0b72bda07cc2c0da7..509f76767c004dd7f1eb79db5f01f5d9ba4e14e6 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;