Closed Bug 254944 Opened 21 years ago Closed 21 years ago

Crash when clicking on XUL button [@ AppendUTF8toUTF16 ]

Categories

(Core :: XUL, defect)

defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla1.8alpha3

People

(Reporter: SanderSpies, Assigned: bzbarsky)

Details

(Keywords: crash, testcase)

Crash Data

Attachments

(3 files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040808 Firefox/0.9.1+ Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040808 Firefox/0.9.1+ Following code crashes mozilla firefox (Gecko/20040808 Firefox/0.9.1+) and mozilla 1.8a2: <button id="crasher" label="crasher" command="crasher"/> Reproducible: Always Steps to Reproduce: 1. Create a new file. 2. Insert the following lines: <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="example-window" title="Community" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <button id="crasher" label="crasher" command="crasher"/> </window> 3. Open the file in mozilla or firefox 4. Click on the button Actual Results: Crash. Expected Results: Error in javascript console.
Attached file Testcase
i also see this with a current cvs trunk build on win2k, stacktrace: AppendUTF8toUTF16(const nsACString & {...}, nsAString & {...}) line 230 + 8 bytes AtomImpl::ToString(AtomImpl * const 0x03f1d308, nsAString & {...}) line 362 + 47 bytes nsAttrValue::ToString(const nsAttrValue * const 0x00010011, nsAString & {...}) line 290 nsXULElement::GetAttr(const nsXULElement * const 0x00010011, int 0x00000000, nsIAtom * 0x00e84be0, nsAString & {...}) line 2249 nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x00000000, unsigned int 0x00000001, nsEventStatus * 0x0012f428) line 2642 nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x00010011, nsPresContext * 0x08ba0c70, nsEvent * 0x0012f3dc, nsIDOMEvent * * 0x09572b1c, unsigned int 0x09572b10, nsEventStatus * 0x0012f428) line 2648 + 17 bytes (neverending list of nsXULElement::HandleDOMEvent follows)
Keywords: crash, testcase
since i got some different stacktrace with a also up-to-date FF trunk build, here is (some hopefully, i didn't find that this bug is a dupe, so this work wasn't for nothing) output from Purify: [E] EXU: Unhandled exception in CoverageIsRecordingData {1 occurrence} Exception code: 0xc00000fd [Error: stack overflow] Exception address: [PURERT.DLL ip=0x3f04c440] Filter: mainCRTStartup [crtexe.c:345] Exception location nsReadingIterator<char>::advance(int) [nsStringIterator.h:172] nsCharSourceTraits<nsReadingIterator<char>>::advance(nsReadingIterator<char>&,int) [nsCharTraits.h:611] copy_string(nsReadingIterator<char>&,nsReadingIterator<char> const&,CalculateUTF8Length&) [nsAlgorithm.h:97] AppendUTF8toUTF16(nsACString const&,nsAString&) [nsReadableUtils.cpp:232] CopyUTF8toUTF16(nsACString const&,nsAString&) [nsReadableUtils.cpp:93] AtomImpl::ToString(nsAString&) [nsAtomTable.cpp:362] nsAttrValue::ToString(nsAString&)const [nsAttrValue.cpp:288] nsXULElement::GetAttr(int,nsIAtom *,nsAString&)const [nsXULElement.cpp:2218] nsXULElement::HandleDOMEvent(nsIPresContext *,nsEvent *,nsIDOMEvent * *,UINT,nsEventStatus *) [nsXULElement.cpp:2613] nsXULElement::HandleDOMEvent(nsIPresContext *,nsEvent *,nsIDOMEvent * *,UINT,nsEventStatus *) [nsXULElement.cpp:2620] Confirming this bug so.
Assignee: nobody → string
Status: UNCONFIRMED → NEW
Component: XP Toolkit/Widgets: XUL → String
Ever confirmed: true
FF093/W2K -> TB523531H: AppendUTF8toUTF16 [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/xpcom/string/src/nsReadableUtils.cpp, line 215] AtomImpl::ToString [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/xpcom/ds/nsAtomTable.cpp, line 362] nsAttrValue::ToString [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/content/base/src/nsAttrValue.cpp, line 290] nsXULElement::GetAttr [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/content/xul/content/src/nsXULElement.cpp, line 2274] nsXULElement::HandleDOMEvent [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/content/xul/content/src/nsXULElement.cpp, line 2667] nsXULElement::HandleDOMEvent [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/content/xul/content/src/nsXULElement.cpp, line 2673] nsXULElement::HandleDOMEvent [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/content/xul/content/src/nsXULElement.cpp, line 2673] nsXULElement::HandleDOMEvent [d:/builds/tinderbox/firefox-0.9.3/WINNT_5.0_Clobber/mozilla/content/xul/content/src/nsXULElement.cpp, line 2673] ...
Summary: Crash when clicking on XUL button → Crash when clicking on XUL button [@ AppendUTF8toUTF16 ]
Not a string bug. This is an infinite recursion crash in the XUL code. The relevant part of the testcase: <button id="command" command="command">
Assignee: string → nobody
Component: String → XP Toolkit/Widgets: XUL
OS: Windows 2000 → All
Hardware: PC → All
Attached patch PatchSplinter Review
Attachment #155656 - Flags: superreview?(peterv)
Attachment #155656 - Flags: review?(neil.parkwaycc.co.uk)
Attachment #155656 - Attachment is obsolete: true
Attachment #155656 - Attachment is obsolete: false
Attachment #155656 - Flags: superreview?(peterv)
Attachment #155656 - Flags: superreview-
Attachment #155656 - Flags: review?(neil.parkwaycc.co.uk)
Attachment #155656 - Flags: review-
Attachment #155657 - Flags: superreview?(peterv)
Attachment #155657 - Flags: review?(neil.parkwaycc.co.uk)
OK, so I trawled lxr for likely mismatched commands, and noticed that the component view can't launch xmlterm or domi, but the only issue I came across was that addressbook's cmd_delete currently uses a <broadcaster> element.
...which only affects the menuitem; <key>s use separate (nonrecursive) code.
Comment on attachment 155657 [details] [diff] [review] Fix another edge case Centalized event dispatch will get rid of all this cruft, right? r=me if you fix addressbook.xul too.
Attachment #155657 - Flags: review?(neil.parkwaycc.co.uk) → review+
Attachment #155657 - Flags: superreview?(peterv) → superreview+
So what can I replace the <broadcaster> with? What does it even mean to retarget COMMAND events to a broadcaster? I thought a broadcaster was just a way to keep attrs in sync?
(In reply to comment #10) >So what can I replace the <broadcaster> with? Well, as it's the target of a command= or two, then after your patch the menuitem's only going to work with a bona fide <command>, right? >What does it even mean to retarget COMMAND events to a broadcaster? I guess the nodes used to observe the broadcaster, and someone changed one without changing the other (because they are in completely separate files). >I thought a broadcaster was just a way to keep attrs in sync? It was, which was why commands were invented, so we didn't have to keep copying attributes to menuitems and keys that never saw the light of day.
> menuitem's only going to work with a bona fide <command>, right? Yes. But why does it work now? How does it end up actually doing anything? If I understood what it does now, I could replicate with a command, but as it is, I have no idea what to put in oncommand...
It works now because command= doesn't care what kind of element it points to.
114 <command id="button_delete" oncommand="goDoCommand('button_delete');"/> 128 <broadcaster id="button_delete" disabled="true"/> So when two elements have the same id, which one wins?
jag, the first one wins (though really, we ought to flag that whole thing as an error, perhaps). I talked to dmose, and the cmd_delete thing doesn't use the broadcaster as a command target, so we're safe there.
Assignee: nobody → bzbarsky
Target Milestone: --- → mozilla1.8alpha3
Fixed.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Verified FIXED with build 2004-08-23-08 on Windows XP, Seamonkey trunk, using http://bugzilla.mozilla.org/attachment.cgi?id=155634&action=view as the testcase.
Status: RESOLVED → VERIFIED
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: xptoolkit.widgets
Crash Signature: [@ AppendUTF8toUTF16 ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: