diff --git a/mozilla/layout/forms/nsListControlFrame.cpp b/mozilla/layout/forms/nsListControlFrame.cpp index 8c263ba46db..9ac63f16706 100644 --- a/mozilla/layout/forms/nsListControlFrame.cpp +++ b/mozilla/layout/forms/nsListControlFrame.cpp @@ -1887,8 +1887,8 @@ nsListControlFrame::MouseUp(nsIDOMEvent* aMouseEvent) PRBool optionIsDisabled; if (NS_OK == IsTargetOptionDisabled(optionIsDisabled)) { if (optionIsDisabled) { - mSelectedIndex = mSelectedIndexWhenPoppedDown; if (IsInDropDownMode() == PR_TRUE && mComboboxFrame) { + mSelectedIndex = mSelectedIndexWhenPoppedDown; mComboboxFrame->ListWasSelected(mPresContext); } return NS_OK; @@ -1969,8 +1969,12 @@ nsListControlFrame::MouseDown(nsIDOMEvent* aMouseEvent) // NS_ERROR_FAILURE is returned is it isn't over an option PRBool optionIsDisabled; if (NS_OK == IsTargetOptionDisabled(optionIsDisabled)) { - mSelectedIndex = mSelectedIndexWhenPoppedDown; - return NS_OK; + if (optionIsDisabled) { + if (IsInDropDownMode() == PR_TRUE) { + mSelectedIndex = mSelectedIndexWhenPoppedDown; + } + return NS_OK; + } } PRInt32 oldIndex; diff --git a/mozilla/layout/html/forms/src/nsListControlFrame.cpp b/mozilla/layout/html/forms/src/nsListControlFrame.cpp index 8c263ba46db..9ac63f16706 100644 --- a/mozilla/layout/html/forms/src/nsListControlFrame.cpp +++ b/mozilla/layout/html/forms/src/nsListControlFrame.cpp @@ -1887,8 +1887,8 @@ nsListControlFrame::MouseUp(nsIDOMEvent* aMouseEvent) PRBool optionIsDisabled; if (NS_OK == IsTargetOptionDisabled(optionIsDisabled)) { if (optionIsDisabled) { - mSelectedIndex = mSelectedIndexWhenPoppedDown; if (IsInDropDownMode() == PR_TRUE && mComboboxFrame) { + mSelectedIndex = mSelectedIndexWhenPoppedDown; mComboboxFrame->ListWasSelected(mPresContext); } return NS_OK; @@ -1969,8 +1969,12 @@ nsListControlFrame::MouseDown(nsIDOMEvent* aMouseEvent) // NS_ERROR_FAILURE is returned is it isn't over an option PRBool optionIsDisabled; if (NS_OK == IsTargetOptionDisabled(optionIsDisabled)) { - mSelectedIndex = mSelectedIndexWhenPoppedDown; - return NS_OK; + if (optionIsDisabled) { + if (IsInDropDownMode() == PR_TRUE) { + mSelectedIndex = mSelectedIndexWhenPoppedDown; + } + return NS_OK; + } } PRInt32 oldIndex;