turn SfxPickList singleton a member of SfxApplication
commit653394fb199fae2d9e39f681fc72ffffb35fe7f3
authorCaolán McNamara <caolanm@redhat.com>
Thu, 2 Aug 2018 16:16:54 +0000 (2 17:16 +0100)
committerCaolán McNamara <caolanm@redhat.com>
Thu, 2 Aug 2018 20:16:46 +0000 (2 22:16 +0200)
tree82e5e5a3a387502c4118a895c4084f543901934f
parent1cb3195fa7859618736002dedc3bd0ff7e164c35
turn SfxPickList singleton a member of SfxApplication

SfxPickList listens to the SfxApplication so it can
be made a member of that, and drop the singleton, which
is causing trouble like...

 #0  0x00007ffff613ad7d in ImplDbgTestSolarMutex() () at /libreoffice/symbols/vcl/source/app/dbggui.cxx:47
 #1  0x00007ffff6ee86e1 in SfxBroadcaster::RemoveListener(SfxListener&) (this=0x5555565d0380, rListener=...) at /libreoffice/symbols/svl/source/notify/SfxBroadcaster.cxx:126
 #2  0x00007ffff6eea993 in SfxListener::~SfxListener() (this=0x555556622620, __in_chrg=<optimized out>) at /libreoffice/symbols/svl/source/notify/lstner.cxx:66
 #3  0x00007ffff7207b45 in SfxPickListImpl::~SfxPickListImpl() (this=0x555556622620, __in_chrg=<optimized out>) at /libreoffice/symbols/sfx2/source/appl/sfxpicklist.cxx:84
 #4  0x00007ffff7207b45 in SfxPickListImpl::~SfxPickListImpl() (this=0x555556622620, __in_chrg=<optimized out>) at /libreoffice/symbols/sfx2/source/appl/sfxpicklist.cxx:84
 #5  0x00007ffff7206aa5 in std::default_delete<SfxPickListImpl>::operator()(SfxPickListImpl*) const (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/7/bits/unique_ptr.h:78
 #6  0x00007ffff7206aa5 in std::unique_ptr<SfxPickListImpl, std::default_delete<SfxPickListImpl> >::reset(SfxPickListImpl*) (__p=<optimized out>, this=0x7ffff76775a8 <SfxPickList::ensure()::aUniqueInstance>) at /usr/include/c++/7/bits/unique_ptr.h:376
 #7  0x00007ffff7206aa5 in SfxPickList::~SfxPickList() (this=0x7ffff76775a8 <SfxPickList::ensure()::aUniqueInstance>, __in_chrg=<optimized out>) at /libreoffice/symbols/sfx2/source/appl/sfxpicklist.cxx:188
 #8  0x00007ffff44dc041 in __run_exit_handlers (status=0, listp=0x7ffff4884718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
 #9  0x00007ffff44dc13a in __GI_exit (status=<optimized out>) at exit.c:139
 #10 0x00007ffff44bab9e in __libc_start_main (main=0x555555557880 <main(int, char**)>, argc=10, argv=0x7fffffffdde8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffddd8) at ../csu/libc-start.c:344
 #11 0x00005555555578da in _start ()

Change-Id: Ic781f3eb065fef14da1f10a56246b9b7068e1529
c781f3eb065fef14da1f10a56246b9b7068e1529
Reviewed-on: https://gerrit.libreoffice.org/58494
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
sfx2/source/appl/appdata.cxx
sfx2/source/appl/appinit.cxx
sfx2/source/appl/sfxpicklist.cxx
sfx2/source/inc/appdata.hxx
sfx2/source/inc/sfxpicklist.hxx