vcl/inc/unx/gtk/gtkdata.hxx |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit dcdf970684131cd60af3c5b927a1e05ba6c7ba81
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Thu Jun 30 12:23:18 2022 +0200
Commit:     Julien Nabet <serval2...@yahoo.fr>
CommitDate: Sat Jul 2 18:04:10 2022 +0200

    Revert "tdf#137544 std::unordered_set is cheaper here"
    
    This reverts commit 8e7edc8c3620e4f733c1974a288e5a5abd29f87e.
    
    With a brand new LO profile, launch Writer and close LO, I get:
    0  0x00007f76f7e752f5 in std::__uniq_ptr_impl<comphelper::SolarMutex, 
std::default_delete<comphelper::SolarMutex> >::_M_ptr() const (this=0x10)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:173
    1  0x00007f76f7e4ade5 in std::unique_ptr<comphelper::SolarMutex, 
std::default_delete<comphelper::SolarMutex> >::get() const (this=0x10)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:422
    2  0x00007f76f7e07249 in SalInstance::GetYieldMutex() (this=0x0) at 
vcl/source/app/salvtables.cxx:145
    3  0x00007f76f7ed92ee in Application::GetSolarMutex() () at 
vcl/source/app/svapp.cxx:576
    4  0x00007f76f97f4b29 in SolarMutexGuard::SolarMutexGuard() 
(this=0x7ffd84f3b080) at include/vcl/svapp.hxx:1368
    5  0x00007f76f98161a0 in VCLXDevice::~VCLXDevice() (this=0x724c050) at 
toolkit/source/awt/vclxdevice.cxx:44
    6  0x00007f76f98f19d4 in cppu::ImplInheritanceHelper<VCLXDevice, 
com::sun::star::awt::XWindow2, com::sun::star::awt::XVclWindowPeer, 
com::sun::star::awt::XLayoutConstrains, com::sun::star::awt::XView, 
com::sun::star::awt::XDockableWindow, 
com::sun::star::accessibility::XAccessible, 
com::sun::star::lang::XEventListener, com::sun::star::beans::XPropertySetInfo, 
com::sun::star::awt::XStyleSettingsSupplier>::~ImplInheritanceHelper() 
(this=0x724c050) at include/cppuhelper/implbase.hxx:155
    7  0x00007f76f98cc28f in VCLXWindow::~VCLXWindow() (this=0x724c050) at 
toolkit/source/awt/vclxwindow.cxx:336
    8  0x00007f76f980a6bd in VCLXContainer::~VCLXContainer() (this=0x724c040) 
at toolkit/source/awt/vclxcontainer.cxx:45
    9  0x00007f76f980a719 in VCLXContainer::~VCLXContainer() (this=0x724c040) 
at toolkit/source/awt/vclxcontainer.cxx:44
    10 0x00007f76ff5842b0 in cppu::OWeakObject::release() (this=0x724c050) at 
cppuhelper/source/weak.cxx:230
    11 0x00007f76f980d1e9 in VCLXContainer::release() (this=0x724c040) at 
toolkit/inc/awt/vclxcontainer.hxx:39
    12 0x00007f76e49080ae in 
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>::~Reference()
 (this=0x8fa9710) at include/com/sun/star/uno/Reference.hxx:114
    13 0x00007f76e4921486 in 
SwAccessibleDocumentBase::~SwAccessibleDocumentBase() (this=0x8fa9620) at 
sw/source/core/access/accdoc.cxx:77
    14 0x00007f76e4923d1c in SwAccessibleDocument::~SwAccessibleDocument() 
(this=0x8fa9620) at sw/source/core/access/accdoc.cxx:374
    15 0x00007f76e4923d89 in SwAccessibleDocument::~SwAccessibleDocument() 
(this=0x8fa9620) at sw/source/core/access/accdoc.cxx:370
    16 0x00007f76ff5842b0 in cppu::OWeakObject::release() (this=0x8fa9620) at 
cppuhelper/source/weak.cxx:230
    17 0x00007f76e490a325 in 
cppu::WeakImplHelper<com::sun::star::accessibility::XAccessible, 
com::sun::star::accessibility::XAccessibleContext, 
com::sun::star::accessibility::XAccessibleContext3, 
com::sun::star::accessibility::XAccessibleComponent, 
com::sun::star::accessibility::XAccessibleEventBroadcaster, 
com::sun::star::lang::XServiceInfo>::release() (this=0x8fa9620) at 
include/cppuhelper/implbase.hxx:115
    18 0x00007f76e4928495 in SwAccessibleDocument::release() (this=0x8fa9620) 
at sw/source/core/access/accdoc.hxx:139
    19 0x00007f76ee91c11e in 
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>::~Reference() 
(this=0x9012828) at include/com/sun/star/uno/Reference.hxx:114
    20 0x00007f76ee9391a9 in 
__gnu_cxx::new_allocator<std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true> 
>::destroy<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>(com::sun::star::uno::Reference<com::sun::star::uno::XInterface>*) 
(this=0x8c9a8f8, __p=0x9012828) at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:168
    21 0x00007f76ee9390ed in 
std::allocator_traits<std::allocator<std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true> > 
>::destroy<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>(std::allocator<std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true> >&, com::sun::star::uno::Reference<com::sun::star::uno::XInterface>*)
       (__a=..., __p=0x9012828) at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:535
    22 0x00007f76ee9390ba in 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true> > 
>::_M_deallocate_node(std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true>*) (this=0x8c9a8f8, __n=0x9012820)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable_policy.h:1894
    23 0x00007f76ee939035 in 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true> > 
>::_M_deallocate_nodes(std::__detail::_Hash_node<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 true>*) (this=0x8c9a8f8, __n=0x0) at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable_policy.h:1916
    24 0x00007f76ee938f56 in 
std::_Hashtable<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, 
std::allocator<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>, std::__detail::_Identity, 
std::equal_to<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>, std::hash<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> >, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
true, true> >::clear() (this=0x8c9a8f8)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable.h:2320
    25 0x00007f76ee938ed9 in 
std::_Hashtable<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, 
std::allocator<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>, std::__detail::_Identity, 
std::equal_to<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>, std::hash<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> >, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
true, true> >::~_Hashtable() (this=0x8c9a8f8)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable.h:1532
    26 0x00007f76ee938e95 in 
std::__cxx1998::unordered_set<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 std::hash<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> >, 
std::equal_to<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>, 
std::allocator<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
> >::~unordered_set() (this=0x8c9a8f8)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unordered_set.h:97
    27 0x00007f76ee938e6d in 
std::__debug::unordered_set<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
 std::hash<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> >, 
std::equal_to<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
>, 
std::allocator<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> 
> >::~unordered_set() (this=0x8c9a8d0)
       at 
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/debug/unordered_set:190
    28 0x00007f76ee9360fb in DocumentFocusListener::~DocumentFocusListener() 
(this=0x8c9a8a0) at vcl/inc/unx/gtk/gtkdata.hxx:221
    29 0x00007f76ee936129 in DocumentFocusListener::~DocumentFocusListener() 
(this=0x8c9a8a0) at vcl/inc/unx/gtk/gtkdata.hxx:221
    30 0x00007f76ff5842b0 in cppu::OWeakObject::release() (this=0x8c9a8a0) at 
cppuhelper/source/weak.cxx:230
    -Type <RET> for more, q to quit, c to continue without paging--
    31 0x00007f76ee920fb5 in 
cppu::WeakImplHelper<com::sun::star::accessibility::XAccessibleEventListener>::release()
 (this=0x8c9a8a0) at include/cppuhelper/implbase.hxx:115
    32 0x00007f76ee9716ba in 
rtl::Reference<DocumentFocusListener>::~Reference() (this=0x1da9788) at 
include/rtl/ref.hxx:129
    33 0x00007f76ee96f259 in GtkSalData::~GtkSalData() (this=0x1da9730) at 
vcl/unx/gtk3/gtkdata.cxx:372
    34 0x00007f76ee96f309 in GtkSalData::~GtkSalData() (this=0x1da9730) at 
vcl/unx/gtk3/gtkdata.cxx:356
    35 0x00007f76f7efc79c in DeInitVCL() () at vcl/source/app/svmain.cxx:609
    36 0x00007f76f7efacaa in ImplSVMain() () at vcl/source/app/svmain.cxx:227
    37 0x00007f76f7efc839 in SVMain() () at vcl/source/app/svmain.cxx:234
    38 0x00007f7700ece163 in soffice_main() () at 
desktop/source/app/sofficemain.cxx:94
    39 0x00000000004008dd in sal_main () at desktop/source/app/main.c:51
    40 0x00000000004008b7 in main (argc=3, argv=0x7ffd84f3ba48) at 
desktop/source/app/main.c:49
    
    Change-Id: Id4ac45bdab96b5afb7e9c18570ef4da4a81eca1a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136666
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    Tested-by: Jenkins

diff --git a/vcl/inc/unx/gtk/gtkdata.hxx b/vcl/inc/unx/gtk/gtkdata.hxx
index 4a7a244800aa..d084837c4af0 100644
--- a/vcl/inc/unx/gtk/gtkdata.hxx
+++ b/vcl/inc/unx/gtk/gtkdata.hxx
@@ -40,7 +40,6 @@
 #include <o3tl/enumarray.hxx>
 
 #include <string_view>
-#include <unordered_set>
 #include <vector>
 
 namespace com::sun::star::accessibility { class XAccessibleEventListener; }
@@ -222,7 +221,7 @@ class DocumentFocusListener final :
     public ::cppu::WeakImplHelper< 
css::accessibility::XAccessibleEventListener >
 {
 
-    std::unordered_set< css::uno::Reference< css::uno::XInterface > > 
m_aRefList;
+    o3tl::sorted_vector< css::uno::Reference< css::uno::XInterface > > 
m_aRefList;
 
 public:
     /// @throws lang::IndexOutOfBoundsException

Reply via email to