From 71930965d3d0485608ab5aa47bd3935bc17510a8 Mon Sep 17 00:00:00 2001 From: Honza Bambas Date: Thu, 23 Oct 2008 01:36:37 -0400 Subject: [PATCH] fix: drag & drop not working at all after some-time of browser usage. b=455871 r=josh sr=bz --- view/src/nsViewManager.cpp | 4 +++- widget/src/cocoa/nsDragService.mm | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/view/src/nsViewManager.cpp b/view/src/nsViewManager.cpp index 4905839da..00aa3da80 100644 --- a/view/src/nsViewManager.cpp +++ b/view/src/nsViewManager.cpp @@ -1284,7 +1284,9 @@ NS_IMETHODIMP nsViewManager::DispatchEvent(nsGUIEvent *aEvent, nsEventStatus *aS if ((aEvent->message == NS_MOUSE_MOVE && static_cast(aEvent)->reason == nsMouseEvent::eReal) || - aEvent->message == NS_MOUSE_ENTER) { + aEvent->message == NS_MOUSE_ENTER || + aEvent->message == NS_MOUSE_BUTTON_DOWN || + aEvent->message == NS_MOUSE_BUTTON_UP) { // aEvent->point is relative to the widget, i.e. the view top-left, // so we need to add the offset to the view origin nsPoint rootOffset = baseView->GetDimensions().TopLeft(); diff --git a/widget/src/cocoa/nsDragService.mm b/widget/src/cocoa/nsDragService.mm index 90b74510f..0ed9c7358 100644 --- a/widget/src/cocoa/nsDragService.mm +++ b/widget/src/cocoa/nsDragService.mm @@ -312,6 +312,9 @@ nsDragService::InvokeDragSession(nsIDOMNode* aDOMNode, nsISupportsArray* aTransf source:mNativeDragView slideBack:YES]; + if (mDoingDrag) + nsBaseDragService::EndDragSession(PR_FALSE); + return NS_OK; NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT; -- 2.11.4.GIT