Checkin in for John Keiser <jkeiser@iname.com>. Make checkboxes and

radio buttons not fire onChange on pageload if they are checked by
default.  Bug 112218, r=rods, sr=jst


git-svn-id: svn://10.0.0.236/trunk@111502 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzbarsky%mit.edu
2002-01-07 20:37:22 +00:00
parent 5d02ce1715
commit c102e73bba
4 changed files with 36 additions and 6 deletions

View File

@@ -347,7 +347,7 @@ PRBool nsGfxRadioControlFrame::GetRadioState()
void nsGfxRadioControlFrame::SetRadioState(nsIPresContext* aPresContext, PRBool aValue)
{
mChecked = aValue;
nsFormControlHelper::ForceDrawFrame(aPresContext, this);
nsFormControlHelper::ForceDrawFrame(aPresContext, this);
}
void
@@ -370,7 +370,14 @@ nsGfxRadioControlFrame::InitializeControl(nsIPresContext* aPresContext)
if (!primaryPresShell) return;
if (presShell.get() == primaryPresShell.get()) {
nsFormControlHelper::Reset(this, aPresContext);
// set the widget to the initial state
// XXX We can't use reset because radio buttons fire onChange
// from content (much to our dismay)
PRBool checked = PR_FALSE;
nsresult rv = GetDefaultCheckState(&checked);
if (NS_CONTENT_ATTR_HAS_VALUE == rv) {
SetRadioState(aPresContext, checked);
}
}
}