| Index: ui/ozone/platform/dri/dri_window_delegate_impl.cc
|
| diff --git a/ui/ozone/platform/dri/dri_window_delegate_impl.cc b/ui/ozone/platform/dri/dri_window_delegate_impl.cc
|
| index 50b2282d8f4c2375eb40be5d776d186b1e2b1b3e..b82130b913cd65e6552ebfdc9f4c4346fd8382ad 100644
|
| --- a/ui/ozone/platform/dri/dri_window_delegate_impl.cc
|
| +++ b/ui/ozone/platform/dri/dri_window_delegate_impl.cc
|
| @@ -108,7 +108,7 @@ void DriWindowDelegateImpl::SetCursor(const std::vector<SkBitmap>& bitmaps,
|
| FROM_HERE, base::TimeDelta::FromMilliseconds(cursor_frame_delay_ms_),
|
| this, &DriWindowDelegateImpl::OnCursorAnimationTimeout);
|
|
|
| - ResetCursor();
|
| + ResetCursor(false);
|
| }
|
|
|
| void DriWindowDelegateImpl::MoveCursor(const gfx::Point& location) {
|
| @@ -118,7 +118,7 @@ void DriWindowDelegateImpl::MoveCursor(const gfx::Point& location) {
|
| controller_->MoveCursor(location);
|
| }
|
|
|
| -void DriWindowDelegateImpl::ResetCursor() {
|
| +void DriWindowDelegateImpl::ResetCursor(bool bitmap_only) {
|
| if (cursor_bitmaps_.size()) {
|
| // Draw new cursor into backbuffer.
|
| UpdateCursorImage(cursor_buffers_[cursor_frontbuffer_ ^ 1].get(),
|
| @@ -126,7 +126,8 @@ void DriWindowDelegateImpl::ResetCursor() {
|
|
|
| // Reset location & buffer.
|
| if (controller_) {
|
| - controller_->MoveCursor(cursor_location_);
|
| + if (!bitmap_only)
|
| + controller_->MoveCursor(cursor_location_);
|
| controller_->SetCursor(cursor_buffers_[cursor_frontbuffer_ ^ 1]);
|
| cursor_frontbuffer_ ^= 1;
|
| }
|
| @@ -141,7 +142,7 @@ void DriWindowDelegateImpl::OnCursorAnimationTimeout() {
|
| cursor_frame_++;
|
| cursor_frame_ %= cursor_bitmaps_.size();
|
|
|
| - ResetCursor();
|
| + ResetCursor(true);
|
| }
|
|
|
| } // namespace ui
|
|
|