[Libreoffice-bugs] [Bug 141769] Crash in: cppu::OInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const &)

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Tue Jun 8 03:46:27 UTC 2021


https://bugs.documentfoundation.org/show_bug.cgi?id=141769

--- Comment #37 from Laurence 'GreenReaper' Parry <greenreaper at hotmail.com> ---
As might be hinted at from the commit, it's not necessary to close the window
to trigger the crash; just disable the Formula Bar via: View/Formula Bar.

The setting appears to be changed first, so subsequently restarting Calc and
then closing the window will succeed without a crash, because there is no
InputBox to dispose. This may be why it has not been universally reproducible.

It appears non-determinsitic as to whether disabling the Formula Bar causes a
crash if you click the expand-down button and/or type content into the InputBox
first. I have been able to close the Formula Bar and app, but not repeatably.

---

A bunch of code changed in that commit, so it's hard to pick out what caused
it, but presumably those who know it might have a better idea.

I notice in ScAccessibleEditLineTextData (AccessibleText.cxx) existing
isDisposed asserts were removed. How certain is it that mpTxtWnd isn't
disposed? (These were commented out as "TODO" at one point?)

Class ScTextWnd has a WeakReference xAcc, but in ScTextWnd::CreateAccessible it
is set to a Reference instead. The same pattern is used for
ScEditWindow::CreateAccessible, but it looks to have been a bigger change for
ScTextWnd, which has also modified disposal, eliminating steps and dispose()
itself (called by ~ScAcessibleEditObject?) in favour of a destructor.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210608/98ff4677/attachment.htm>


More information about the Libreoffice-bugs mailing list