This commit is contained in:
jkeiser%netscape.com 2003-01-14 05:54:38 +00:00
Родитель 1f4c1d03f9
Коммит d1b246175d
1 изменённых файлов: 13 добавлений и 9 удалений

Просмотреть файл

@ -1180,15 +1180,19 @@ nsHTMLInputElement::Select()
// If the DOM event was not canceled (e.g. by a JS event handler // If the DOM event was not canceled (e.g. by a JS event handler
// returning false) // returning false)
if (status == nsEventStatus_eIgnore) { if (status == nsEventStatus_eIgnore) {
nsCOMPtr<nsIEventStateManager> esm; if (presContext) {
if (NS_OK == presContext->GetEventStateManager(getter_AddRefs(esm))) { nsCOMPtr<nsIEventStateManager> esm;
PRInt32 currentState; presContext->GetEventStateManager(getter_AddRefs(esm));
//XXX Fix for bug 135345 - ESM currently does not check to see if we have if (esm) {
//focus before attempting to set focus again and may cause infinite recursion. // XXX Fix for bug 135345 - ESM currently does not check to see if we
//For now check if we have focus and do not set focus again if already focused. // have focus before attempting to set focus again and may cause
esm->GetContentState(this, currentState); // infinite recursion. For now check if we have focus and do not set
if (!(currentState & NS_EVENT_STATE_FOCUS)) { // focus again if already focused.
esm->SetContentState(this, NS_EVENT_STATE_FOCUS); PRInt32 currentState;
esm->GetContentState(this, currentState);
if (!(currentState & NS_EVENT_STATE_FOCUS)) {
esm->SetContentState(this, NS_EVENT_STATE_FOCUS);
}
} }
} }