summaryrefslogtreecommitdiffstats
path: root/views/widget/root_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/widget/root_view.cc')
-rw-r--r--views/widget/root_view.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/views/widget/root_view.cc b/views/widget/root_view.cc
index f69c6a4..cd9761d 100644
--- a/views/widget/root_view.cc
+++ b/views/widget/root_view.cc
@@ -304,12 +304,11 @@ void RootView::OnMouseMoved(const MouseEvent& event) {
MouseEvent moved_event(e, this, mouse_move_handler_);
mouse_move_handler_->OnMouseMoved(moved_event);
- gfx::NativeCursor cursor = mouse_move_handler_->GetCursorForPoint(
- moved_event.type(), moved_event.location());
- widget_->SetCursor(cursor);
+ if (!(event.flags() & ui::EF_IS_NON_CLIENT))
+ widget_->SetCursor(mouse_move_handler_->GetCursorForPoint(
+ moved_event.type(), moved_event.location()));
} else if (mouse_move_handler_ != NULL) {
mouse_move_handler_->OnMouseExited(e);
- widget_->SetCursor(NULL);
}
}
@@ -463,7 +462,15 @@ bool RootView::ConvertPointToMouseHandler(const gfx::Point& l, gfx::Point* p) {
// Input -----------------------------------------------------------------------
void RootView::UpdateCursor(const MouseEvent& event) {
+ if (event.flags() & ui::EF_IS_NON_CLIENT)
+ return;
+
gfx::NativeCursor cursor = NULL;
+#if defined(OS_WIN)
+ static HCURSOR arrow = LoadCursor(NULL, IDC_ARROW);
+ cursor = arrow;
+#endif
+
View* v = GetEventHandlerForPoint(event.location());
if (v && v != this) {
gfx::Point l(event.location());