Fri, 16 Jan 2015 04:50:19 +0100
Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32
michael@0 | 1 | <?xml version="1.0"?> |
michael@0 | 2 | <!-- |
michael@0 | 3 | ###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->().: 'mRawPtr != 0', file ../../../../dist/include/nsCOMPtr.h, line 796 |
michael@0 | 4 | |
michael@0 | 5 | Program received signal SIGSEGV, Segmentation fault. |
michael@0 | 6 | 0xb6b7463a in nsTreeContentView::SetTree (this=0xb0ba2510, aTree=0xaaecece0) at layout/xul/base/src/tree/src/nsTreeContentView.cpp:571 |
michael@0 | 7 | 571 boxObject->GetElement(getter_AddRefs(element)); |
michael@0 | 8 | (gdb) bt 3 |
michael@0 | 9 | #0 0xb6b7463a in nsTreeContentView::SetTree (this=0xb0ba2510, aTree=0xaaecece0) at layout/xul/base/src/tree/src/nsTreeContentView.cpp:571 |
michael@0 | 10 | #1 0xb736c76f in NS_InvokeByIndex_P () at xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp:69 |
michael@0 | 11 | #2 0xb6171901 in XPCWrappedNative::CallMethod (ccx=..., mode=XPCWrappedNative::CALL_METHOD) |
michael@0 | 12 | at js/src/xpconnect/src/xpcwrappednative.cpp:2722 |
michael@0 | 13 | (More stack frames follow...) |
michael@0 | 14 | (gdb) list 566 |
michael@0 | 15 | 561 nsTreeContentView::SetTree(nsITreeBoxObject* aTree) |
michael@0 | 16 | 562 { |
michael@0 | 17 | 563 ClearRows(); |
michael@0 | 18 | 564 |
michael@0 | 19 | 565 mBoxObject = aTree; |
michael@0 | 20 | 566 |
michael@0 | 21 | 567 if (aTree && !mRoot) { |
michael@0 | 22 | 568 // Get our root element |
michael@0 | 23 | 569 nsCOMPtr<nsIBoxObject> boxObject = do_QueryInterface(mBoxObject); |
michael@0 | 24 | 570 nsCOMPtr<nsIDOMElement> element; |
michael@0 | 25 | 571 boxObject->GetElement(getter_AddRefs(element)); |
michael@0 | 26 | (gdb) p boxObject |
michael@0 | 27 | $16 = {mRawPtr = 0x0} |
michael@0 | 28 | |
michael@0 | 29 | |aTree| does not implement |nsIBoxObject|, so |do_QueryInterface(mBoxObject)| |
michael@0 | 30 | returns null. Then we have |null->GetElement()|. |
michael@0 | 31 | --> |
michael@0 | 32 | <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" |
michael@0 | 33 | onload="document.getElementById('tree').view.setTree({});"> |
michael@0 | 34 | <tree id="tree"> |
michael@0 | 35 | <treechildren/> |
michael@0 | 36 | </tree> |
michael@0 | 37 | </window> |
michael@0 | 38 |