diff --git a/content/events/src/nsEventStateManager.cpp b/content/events/src/nsEventStateManager.cpp index dcdbe9e2649..41104ee23dd 100644 --- a/content/events/src/nsEventStateManager.cpp +++ b/content/events/src/nsEventStateManager.cpp @@ -887,6 +887,11 @@ nsEventStateManager::PostHandleEvent(nsIPresContext* aPresContext, SetContentState(newFocus, NS_EVENT_STATE_ACTIVE); } + else { + // if we're here, the event handler returned false, so stop + // any of our own processing of a drag. Workaround for bug 43258. + StopTrackingDragGesture(); + } } break; case NS_MOUSE_LEFT_BUTTON_UP: diff --git a/layout/events/src/nsEventStateManager.cpp b/layout/events/src/nsEventStateManager.cpp index dcdbe9e2649..41104ee23dd 100644 --- a/layout/events/src/nsEventStateManager.cpp +++ b/layout/events/src/nsEventStateManager.cpp @@ -887,6 +887,11 @@ nsEventStateManager::PostHandleEvent(nsIPresContext* aPresContext, SetContentState(newFocus, NS_EVENT_STATE_ACTIVE); } + else { + // if we're here, the event handler returned false, so stop + // any of our own processing of a drag. Workaround for bug 43258. + StopTrackingDragGesture(); + } } break; case NS_MOUSE_LEFT_BUTTON_UP: