Apache OpenOffice (AOO) Bugzilla – Issue 114012
sd: a11y crash because ctor chain calls back into object before ctor is complete
Last modified: 2017-05-20 11:27:43 UTC
AccessibleSlideSorterView::AccessibleSlideSorterView has... mpImpl(new Implementation(*this,rSlideSorter,pContentWindow)), that AccessibleSlideSorterView::Implementation ctor calls UpdateChildren which calls that AccessibleSlideSorterView::Implementation::GetAccessibleChild which calls mrAccessibleSlideSorter.FireAccessibleEvent where mrAccessibleSlideSorter is the original "this" object of the AccessibleSlideSorterView which is still being constructed The callback from that FireAccessibleEvent is the AccessibleSlideSorterView::getAccessibleChildCount of the parent object where mpImpl is still unset because we're still in a stacktrace from AccessibleSlideSorterView::AccessibleSlideSorterView mpImpl(... which hasn't completed yet. Attached is a patch to split the initialization so that we call the bits that callback into the parent object *after* mpImpl has been set
Created attachment 71217 [details] fix like so
Reassigned. Please handle.
Created attachment 71320 [details] replacement patch
a11y is a bit messed up here, the Implementation::Implementation ctor calls Clear which calls dispose which resets mpImpl to 0, all before we leave the AccessibleSlideSorterView:: ctor. Attached is a replacement hack.
Created attachment 71427 [details] rats, still loads of crashes, moving the workaround up another level
I'm adding this comment to all open issues with Issue Type == PATCH. We have 220 such issues, many of them quite old. I apologize for that. We need your help in prioritizing which patches should be integrated into our next release, Apache OpenOffice 4.0. If you have submitted a patch and think it is applicable for AOO 4.0, please respond with a comment to let us know. On the other hand, if the patch is no longer relevant, please let us know that as well. If you have any general questions or want to discuss this further, please send a note to our dev mailing list: dev@openoffice.apache.org Thanks! -Rob
Reset assigne to the default "issues@openoffice.apache.org".