diff options
-rw-r--r-- | views/desktop/desktop_window_view.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/views/desktop/desktop_window_view.cc b/views/desktop/desktop_window_view.cc index 95aa159..cbba354 100644 --- a/views/desktop/desktop_window_view.cc +++ b/views/desktop/desktop_window_view.cc @@ -44,6 +44,16 @@ class DesktopWindow : public Widget { return native_widget ? native_widget->OnKeyEvent(event) : false; } + virtual bool OnMouseEvent(const MouseEvent& event) { + if (event.type() == ui::ET_MOUSEWHEEL) { + NativeWidgetViews* native_widget = + desktop_window_view_->active_native_widget(); + if (native_widget) + return native_widget->delegate()->OnMouseEvent(event); + } + return Widget::OnMouseEvent(event); + } + DesktopWindowView* desktop_window_view_; DISALLOW_COPY_AND_ASSIGN(DesktopWindow); @@ -178,8 +188,8 @@ void DesktopWindowView::ViewHierarchyChanged( active_native_widget_ && active_native_widget_->GetView() == child) { active_native_widget_ = NULL; - } else if (child->GetClassName() == - internal::NativeWidgetView::kViewClassName) { + } else if (is_add && + child->GetClassName() == internal::NativeWidgetView::kViewClassName) { internal::NativeWidgetView* native_widget_view = static_cast<internal::NativeWidgetView*>(child); native_widget_view->GetAssociatedWidget()->AddObserver(this); |