updating new state controler for mouse status. aka dragging has stopped

This commit is contained in:
mjudge%netscape.com 1999-05-05 22:28:51 +00:00
parent f70863f3eb
commit 57516cf432
2 changed files with 36 additions and 4 deletions

View File

@ -38,6 +38,8 @@
#include "nsIWebShell.h"
#include "nsIFocusableContent.h"
#include "nsIScrollableView.h"
#include "nsIDOMSelection.h"
#include "nsIFrameSelection.h"
static NS_DEFINE_IID(kIEventStateManagerIID, NS_IEVENTSTATEMANAGER_IID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
@ -159,8 +161,22 @@ nsEventStateManager::PostHandleEvent(nsIPresContext& aPresContext,
case NS_MOUSE_LEFT_BUTTON_UP:
case NS_MOUSE_MIDDLE_BUTTON_UP:
case NS_MOUSE_RIGHT_BUTTON_UP:
ret = CheckForAndDispatchClick(aPresContext, (nsMouseEvent*)aEvent, aStatus);
SetContentState(nsnull, NS_EVENT_STATE_ACTIVE);
{
ret = CheckForAndDispatchClick(aPresContext, (nsMouseEvent*)aEvent, aStatus);
SetContentState(nsnull, NS_EVENT_STATE_ACTIVE);
nsCOMPtr<nsIPresShell> shell;
nsresult rv = aPresContext.GetShell(getter_AddRefs(shell));
if (NS_SUCCEEDED(rv) && shell){
nsCOMPtr<nsIDOMSelection> selection;
rv = shell->GetSelection(getter_AddRefs(selection));
if (NS_SUCCEEDED(rv) && selection){
nsCOMPtr<nsIFrameSelection> frameSel;
frameSel = do_QueryInterface(selection);
if (frameSel)
frameSel->SetMouseDownState(PR_FALSE);
}
}
}
break;
case NS_KEY_DOWN:
ret = DispatchKeyPressEvent(aPresContext, (nsKeyEvent*)aEvent, aStatus);

View File

@ -38,6 +38,8 @@
#include "nsIWebShell.h"
#include "nsIFocusableContent.h"
#include "nsIScrollableView.h"
#include "nsIDOMSelection.h"
#include "nsIFrameSelection.h"
static NS_DEFINE_IID(kIEventStateManagerIID, NS_IEVENTSTATEMANAGER_IID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
@ -159,8 +161,22 @@ nsEventStateManager::PostHandleEvent(nsIPresContext& aPresContext,
case NS_MOUSE_LEFT_BUTTON_UP:
case NS_MOUSE_MIDDLE_BUTTON_UP:
case NS_MOUSE_RIGHT_BUTTON_UP:
ret = CheckForAndDispatchClick(aPresContext, (nsMouseEvent*)aEvent, aStatus);
SetContentState(nsnull, NS_EVENT_STATE_ACTIVE);
{
ret = CheckForAndDispatchClick(aPresContext, (nsMouseEvent*)aEvent, aStatus);
SetContentState(nsnull, NS_EVENT_STATE_ACTIVE);
nsCOMPtr<nsIPresShell> shell;
nsresult rv = aPresContext.GetShell(getter_AddRefs(shell));
if (NS_SUCCEEDED(rv) && shell){
nsCOMPtr<nsIDOMSelection> selection;
rv = shell->GetSelection(getter_AddRefs(selection));
if (NS_SUCCEEDED(rv) && selection){
nsCOMPtr<nsIFrameSelection> frameSel;
frameSel = do_QueryInterface(selection);
if (frameSel)
frameSel->SetMouseDownState(PR_FALSE);
}
}
}
break;
case NS_KEY_DOWN:
ret = DispatchKeyPressEvent(aPresContext, (nsKeyEvent*)aEvent, aStatus);