diff --git a/mozilla/content/events/src/nsEventStateManager.cpp b/mozilla/content/events/src/nsEventStateManager.cpp index 7a3821f9c07..f6d7ee8368c 100644 --- a/mozilla/content/events/src/nsEventStateManager.cpp +++ b/mozilla/content/events/src/nsEventStateManager.cpp @@ -3726,14 +3726,20 @@ nsEventStateManager::GetEventTargetContent(nsEvent* aEvent, nsIContent** aConten return NS_OK; } + *aContent = nsnull; + nsCOMPtr presShell; mPresContext->GetShell(getter_AddRefs(presShell)); if (presShell) { presShell->GetEventTargetContent(aEvent, aContent); - return NS_OK; } - *aContent = nsnull; + // Some events here may set mCurrentTarget but not set the corresponding + // event target in the PresShell. + if (!*aContent && mCurrentTarget) { + mCurrentTarget->GetContentForEvent(mPresContext, aEvent, aContent); + } + return NS_OK; }