diff options
-rw-r--r-- | views/widget/widget_win.cc | 6 | ||||
-rw-r--r-- | views/widget/widget_win.h | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/views/widget/widget_win.cc b/views/widget/widget_win.cc index f54da9a..1d8df95 100644 --- a/views/widget/widget_win.cc +++ b/views/widget/widget_win.cc @@ -504,6 +504,12 @@ void WidgetWin::OnKeyUp(TCHAR c, UINT rep_cnt, UINT flags) { SetMsgHandled(root_view_->ProcessKeyEvent(event)); } +// TODO(pkasting): ORing the pressed/released button into the flags is _wrong_. +// It makes it impossible to tell which button was modified when multiple +// buttons are/were held down. We need to instead put the modified button into +// a separate member on the MouseEvent, then audit all consumers of MouseEvents +// to fix them to use the resulting values correctly. + void WidgetWin::OnLButtonDown(UINT flags, const CPoint& point) { ProcessMousePressed(point, flags | MK_LBUTTON, false, false); } diff --git a/views/widget/widget_win.h b/views/widget/widget_win.h index 3fbcc93..8174511 100644 --- a/views/widget/widget_win.h +++ b/views/widget/widget_win.h @@ -453,8 +453,7 @@ class WidgetWin : public base::WindowImpl, virtual void OnFinalMessage(HWND window); // Start tracking all mouse events so that this window gets sent mouse leave - // messages too. |is_nonclient| is true when we should track WM_NCMOUSELEAVE - // messages instead of WM_MOUSELEAVE ones. + // messages too. void TrackMouseEvents(DWORD mouse_tracking_flags); // Actually handle mouse events. These functions are called by subclasses who |