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

--- Comment #1 from Björn Michaelsen <[email protected]> ---
(In reply to Michael Meeks from comment #0)
#16 0x00007ffff0e1f945 in UnoControl::setDesignMode(unsigned char)
(this=0x285ff00, bOn=0 '\000') at
/data/opt/libreoffice/master/toolkit/source/controls/unocontrol.cxx:1411
> #17 0x00007fffbb4e9a86 in frm::OControl::setDesignMode(unsigned char)
> (this=0x2b094e0, bOn=0 '\000') at
> /data/opt/libreoffice/master/forms/source/component/FormComponent.cxx:319
> #18 0x00007fffdad9f1ca in gcc3::callVirtualMethod(void*, unsigned int,
> void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned
> int, unsigned long*, double*) (pThis=0x2b09548, nVtableIndex=13,
> pRegisterReturn=0x0, pReturnTypeRef=0x6eddd0, bSimpleReturn=true,
> pStack=0x7fffb7462140, nStack=0, pGPR=0x7fffb74621a0, pFPR=0x7fffb74621d0)
> at
> /data/opt/libreoffice/master/bridges/source/cpp_uno/gcc3_linux_x86-64/
> callvirtualmethod.cxx:133

So this is the entry point from outside via UNO and setDesignMode() as a
function that is usable from the outside world should ensure to lock the
SolarMutex. OControl::setDesignMode(unsigned char) should might be able to
cheat and postpone that as it itself is only using UNO calls.

I havent checked if all the further stackframes until #12 are pure UNO, but
assuming so for now.

But at:
> #12 0x00007fffcd6d3e1d in
> accessibility::AccessibleControlShape::modeChanged(com::sun::star::util::ModeChangeEvent
> const&) (this=0x285f960, _rSource=...) at /data/opt/libreoffice/master
> /svx/source/accessibility/AccessibleControlShape.cxx:481

just before the ReplaceChild() call, it needs a SolarMutexGuard as
"modeChanged" is a UNO function and ReplaceChild is not (and thus the former
cant assume to hold the SolarMutex, while the latter should assume to hold the
SolarMutex).

At least that's my take on this from a quick look.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to