Index: chrome/browser/ui/views/download_item_view.cc |
diff --git a/chrome/browser/ui/views/download_item_view.cc b/chrome/browser/ui/views/download_item_view.cc |
index 72c8b22b9983e081b574bd915a24eb5880749c36..322de6efcf3c984eeb75d18be117cb513f3f5f40 100644 |
--- a/chrome/browser/ui/views/download_item_view.cc |
+++ b/chrome/browser/ui/views/download_item_view.cc |
@@ -532,8 +532,7 @@ bool DownloadItemView::OnMouseDragged(const views::MouseEvent& event) { |
return true; |
} |
-void DownloadItemView::OnMouseReleased(const views::MouseEvent& event, |
- bool canceled) { |
+void DownloadItemView::OnMouseReleased(const views::MouseEvent& event) { |
// Mouse should not activate us in dangerous mode. |
if (IsDangerousMode()) |
return; |
@@ -552,6 +551,21 @@ void DownloadItemView::OnMouseReleased(const views::MouseEvent& event, |
SetState(NORMAL, NORMAL); |
} |
+void DownloadItemView::OnMouseCaptureLost() { |
+ // Mouse should not activate us in dangerous mode. |
+ if (IsDangerousMode()) |
+ return; |
+ |
+ if (dragging_) { |
+ // Starting a drag results in a MouseReleased, we need to ignore it. |
+ dragging_ = false; |
+ starting_drag_ = false; |
+ return; |
+ } |
+ |
sadrul
2011/03/19 09:15:30
Code duplication like this needs to be avoided. Se
msw
2011/03/26 00:09:50
Done. In this instance, the |dragging_| block wasn
|
+ SetState(NORMAL, NORMAL); |
+} |
+ |
void DownloadItemView::OnMouseMoved(const views::MouseEvent& event) { |
// Mouse should not activate us in dangerous mode. |
if (IsDangerousMode()) |