From c2b16bd47d3f56818e96f0b9a9a6ed009368b2a8 Mon Sep 17 00:00:00 2001 From: spx Date: Fri, 24 Dec 2010 09:57:32 +0000 Subject: [PATCH] Added the workaround for MessageBox loops on MouseOverAction. --- Library/MeterWindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Library/MeterWindow.cpp b/Library/MeterWindow.cpp index 1c69e67d..e27738cb 100644 --- a/Library/MeterWindow.cpp +++ b/Library/MeterWindow.cpp @@ -3061,7 +3061,7 @@ LRESULT CMeterWindow::OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam) if (!m_ClickThrough || keyDown) { - POINT pos; + POINT pos, cpos; pos.x = (SHORT)LOWORD(lParam); pos.y = (SHORT)HIWORD(lParam); @@ -3072,7 +3072,7 @@ LRESULT CMeterWindow::OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam) } while (DoMoveAction(pos.x, pos.y, MOUSE_LEAVE)) ; - while (DoMoveAction(pos.x, pos.y, MOUSE_OVER)) ; + while (GetCursorPos(&cpos) && WindowFromPoint(cpos) == m_Window && DoMoveAction(pos.x, pos.y, MOUSE_OVER)) ; // Handle buttons HandleButtons(pos, BUTTONPROC_MOVE, NULL, true);