8025585: Win: Popups in JFXPanel do not receive MouseWheel events

Reviewed-by: anthony, art
This commit is contained in:
Petr Pchelko 2013-10-08 15:54:43 +04:00
parent ee806b0721
commit 419c7a7c32

@ -1516,10 +1516,19 @@ BOOL AwtToolkit::PreProcessMouseMsg(AwtComponent* p, MSG& msg)
* the mouse, not the Component with the input focus.
*/
if (msg.message == WM_MOUSEWHEEL &&
AwtToolkit::MainThread() == ::GetWindowThreadProcessId(hWndForWheel, NULL)) {
if (msg.message == WM_MOUSEWHEEL) {
//i.e. mouse is over client area for this window
msg.hwnd = hWndForWheel;
DWORD hWndForWheelProcess;
DWORD hWndForWheelThread = ::GetWindowThreadProcessId(hWndForWheel, &hWndForWheelProcess);
if (::GetCurrentProcessId() == hWndForWheelProcess) {
if (AwtToolkit::MainThread() == hWndForWheelThread) {
msg.hwnd = hWndForWheel;
} else {
// Interop mode, redispatch the event to another toolkit.
::SendMessage(hWndForWheel, msg.message, mouseWParam, mouseLParam);
return TRUE;
}
}
}
/*