Windows: Fix multiple handling of WM_MOUSEWHEEL messages (issue #1481)

This commit is contained in:
Marshall Greenblatt
2015-07-31 14:45:31 -04:00
parent 84c7b0ad8a
commit 96e116de9e
2 changed files with 25 additions and 0 deletions

View File

@@ -176,4 +176,10 @@ patches = [
'name': 'process_title_1639', 'name': 'process_title_1639',
'path': '../content/common/', 'path': '../content/common/',
}, },
{
# Fix multiple handling of WM_MOUSEWHEEL messages on Windows.
# https://bitbucket.org/chromiumembedded/cef/issues/1481
'name': 'hwnd_message_handler_1481',
'path': '../ui/views/win/',
},
] ]

View File

@@ -0,0 +1,19 @@
diff --git hwnd_message_handler.cc hwnd_message_handler.cc
index bd2072b..c3fd2ea 100644
--- hwnd_message_handler.cc
+++ hwnd_message_handler.cc
@@ -2649,8 +2649,12 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
"440919 HWNDMessageHandler::HandleMouseEventInternal6"));
// Reroute the mouse wheel to the window under the pointer if applicable.
- return (ui::RerouteMouseWheel(hwnd(), w_param, l_param) ||
- delegate_->HandleMouseEvent(ui::MouseWheelEvent(msg))) ? 0 : 1;
+ if (ui::RerouteMouseWheel(hwnd(), w_param, l_param) ||
+ delegate_->HandleMouseEvent(ui::MouseWheelEvent(msg))) {
+ SetMsgHandled(TRUE);
+ return 0;
+ }
+ return 1;
}
// TODO(vadimt): Remove ScopedTracker below once crbug.com/440919 is fixed.