vcl/unx/gtk3/a11y/atkwrapper.cxx | 5 +++++ 1 file changed, 5 insertions(+)
New commits: commit 5f3de2ba23486184f5ba8e1efa76a02afb20a42a Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Nov 11 16:52:33 2022 +0000 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Nov 15 11:11:42 2022 +0100 ImplDbgTestSolarMutex assert from a11y #5 0x00007fffee605ea2 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007fffa95614d8 in SwAccessibleMap::GetContext(SwFrame const*, bool) (this=0x895a9c0, pFrame=0x5358800, bCreate=false) at sw/source/core/access/accmap.cxx:1788 #8 0x00007fffa961ac0e in sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleParent() (this=0xb90f800) at sw/source/uibase/docvw/SidebarWinAcc.cxx:65 #9 0x00007fffa961ae27 in non-virtual thunk to sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleParent() () at /home/caolan/LibreOffice/core/instdir/program/../program/libswlo.so #10 0x00007fffd8f4ae7d in atk_object_wrapper_new(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, AtkObject*, AtkObject*) (rxAccessible=uno::Reference to (sw::sidebarwindows::SidebarWinAccessible *) 0xba7f450, parent=0x0, orig=0x0) at vcl/unx/gtk3/a11y/atkwrapper.cxx:970 #11 0x00007fffd8f4a820 in atk_object_wrapper_ref(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, bool) (rxAccessible=uno::Reference to (sw::sidebarwindows::SidebarWinAccessible *) 0xba7f450, create=true) at vcl/unx/gtk3/a11y/atkwrapper.cxx:925 #12 0x00007fffd8f4d246 in wrapper_ref_child(_AtkObject*, int) (atk_obj=0xb9d06f0, i=0) at vcl/unx/gtk3/a11y/atkwrapper.cxx:500 #13 0x00007fffd95700c3 in add_pending_items () at /lib64/libatk-bridge-2.0.so.0 #14 0x00007fffea7154cb in g_idle_dispatch (source=0x21d40e0, callback=0x7fffd956fec0 <add_pending_items>, user_data=0x21d5890) at ../glib/gmain.c:5935 and... #5 0x00007fffee605ea2 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007fffa95614d8 in SwAccessibleMap::GetContext(SwFrame const*, bool) (this=0x894ce20, pFrame=0x53390f0, bCreate=false) at sw/source/core/access/accmap.cxx:1788 #8 0x00007fffa956285f in SwAccessibleMap::GetContextImpl(SwFrame const*, bool) (this=0x894ce20, pFrame=0x53390f0, bCreate=false) at sw/source/core/access/accmap.cxx:1917 #9 0x00007fffa9550a91 in SwAccessibleChildSList_const_iterator::SwAccessibleChildSList_const_iterator(SwAccessibleChildSList const&, SwAccessibleMap&) (this=0x7fffffffbb58, rLst=..., rAccMap=...) at sw/source/core/access/accfrmobjslist.cxx:65 #10 0x00007fffa951c507 in SwAccessibleChildSList::begin() const (this=0x7fffffffbb80) at sw/source/core/access/accfrmobjslist.hxx:100 #11 0x00007fffa95421c2 in SwAccessibleFrame::GetChildIndex(SwAccessibleMap&, SwRect const&, SwFrame const&, sw::access::SwAccessibleChild const&, int&, bool) (rAccMap=..., rVisArea=SwRect = {...}, rFrame=..., rChild=..., rPos=@0x7fffffffbcc4: 0, bInPagePreview=false) at sw/source/core/access/accframe.cxx:179 #12 0x00007fffa9543be5 in SwAccessibleFrame::GetChildIndex(SwAccessibleMap&, sw::access::SwAccessibleChild const&) const (this=0xb7bd6e0, rAccMap=..., rChild=...) at sw/source/core/access/accframe.cxx:455 #13 0x00007fffa9569721 in SwAccessibleMap::GetChildIndex(SwFrame const&, vcl::Window&) const (this=0x894ce20, rParentFrame=..., rChild=...) at sw/source/core/access/accmap.cxx:2905 #14 0x00007fffa961ad89 in sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleIndexInParent() (this=0xb9ead70) at sw/source/uibase/docvw/SidebarWinAcc.cxx:80 #15 0x00007fffd8f4d781 in wrapper_get_index_in_parent(_AtkObject*) (atk_obj=0xc517810) at vcl/unx/gtk3/a11y/atkwrapper.cxx:529 #16 0x00007fffd957298c in append_cache_item () at /lib64/libatk-bridge-2.0.so.0 Change-Id: I852f40f30be7c10223ccfd570cb8ca30f1a67f47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142625 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/vcl/unx/gtk3/a11y/atkwrapper.cxx b/vcl/unx/gtk3/a11y/atkwrapper.cxx index bc493561b1ce..b1e4c4479e80 100644 --- a/vcl/unx/gtk3/a11y/atkwrapper.cxx +++ b/vcl/unx/gtk3/a11y/atkwrapper.cxx @@ -47,6 +47,7 @@ #include <tools/diagnose_ex.h> #include <vcl/syschild.hxx> #include <vcl/sysdata.hxx> +#include <vcl/svapp.hxx> #include <vcl/toolkit/unowrap.hxx> #include "atkwrapper.hxx" @@ -466,6 +467,8 @@ static AtkObject * wrapper_ref_child( AtkObject *atk_obj, gint i ) { + SolarMutexGuard aGuard; + AtkObjectWrapper *obj = ATK_OBJECT_WRAPPER (atk_obj); if (obj->mpSysObjChild) @@ -504,6 +507,8 @@ wrapper_ref_child( AtkObject *atk_obj, static gint wrapper_get_index_in_parent( AtkObject *atk_obj ) { + SolarMutexGuard aGuard; + AtkObjectWrapper *obj = ATK_OBJECT_WRAPPER (atk_obj); //if we're a native GtkDrawingArea with custom a11y, use the default toolkit a11y