diff --git a/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp b/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp index cfb0fc50f89..7d4cd649a03 100644 --- a/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp +++ b/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp @@ -97,10 +97,8 @@ NS_IMETHODIMP nsHTMLCheckboxAccessible::AccDoAction(PRUint8 index) { if (index == 0) { // 0 is the magic value for default action nsCOMPtr htmlCheckboxElement(do_QueryInterface(mDOMNode)); - PRBool checked = PR_FALSE; if (htmlCheckboxElement) { - htmlCheckboxElement->GetChecked(&checked); - htmlCheckboxElement->SetChecked(!checked); + htmlCheckboxElement->Click(); return NS_OK; } return NS_ERROR_FAILURE; @@ -134,8 +132,10 @@ NS_IMETHODIMP nsHTMLRadioButtonAccessible::AccDoAction(PRUint8 index) { if (index == eAction_Click) { nsCOMPtr element(do_QueryInterface(mDOMNode)); - element->Click(); - return NS_OK; + if (element) { + element->Click(); + return NS_OK; + } } return NS_ERROR_INVALID_ARG; } @@ -181,8 +181,10 @@ NS_IMETHODIMP nsHTMLButtonAccessible::AccDoAction(PRUint8 index) { if (index == 0) { nsCOMPtr element(do_QueryInterface(mDOMNode)); - element->Click(); - return NS_OK; + if (element) { + element->Click(); + return NS_OK; + } } return NS_ERROR_INVALID_ARG; }