summaryrefslogtreecommitdiff
path: root/include/package
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-02-18 09:37:57 +0100
committerJan Holesovsky <kendy@collabora.com>2014-02-18 09:46:56 +0100
commit2b2c528826b6b29d90fcb6a8e755c75cb0d65985 (patch)
treea070a7d07cee8fa762b6ce31cb5bc43a67651bb9 /include/package
parent11a3cb8682f618484640b336cc4b697e44cc419b (diff)
Protect PostIt deletion by SolarMutex.
I was getting crashes during editing with notes; unfortunately I am unable to reproduce it reliably, so I am not 100% sure this is the right fix - but I hope so. This is what valgrind was suggesting: ==21766== Invalid read of size 8 ==21766== at 0x285AF9C7: std::__debug::list<SwSidebarItem*, std::allocator<SwSidebarItem*> >::remove(SwSidebarItem* const&) (list:569) ==21766== by 0x285A2BFC: SwPostItMgr::RemoveItem(SfxBroadcaster*) (PostItMgr.cxx:241) ==21766== by 0x285A3241: SwPostItMgr::Notify(SfxBroadcaster&, SfxHint const&) (PostItMgr.cxx:346) ==21766== by 0x84AFB1E: SfxBroadcaster::Broadcast(SfxHint const&) (brdcst.cxx:46) ... ==21766== by 0xA5A3C74: Application::Yield() (svapp.cxx:393) ==21766== by 0xA5A3C20: Application::Execute() (svapp.cxx:342) ==21766== by 0x50EA0F4: desktop::Desktop::Main() (app.cxx:1678) ... ==21766== Address 0x2e2824f0 is 16 bytes inside a block of size 24 free'd ==21766== at 0x4C2AA9C: operator delete(void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==21766== by 0x285B4B85: __gnu_cxx::new_allocator<std::__cxx1998::_List_node<SwSidebarItem*> >::deallocate(std::__cxx1998::_List_node<SwSidebarItem*>*, unsigned long) (new_allocator.h:100) ==21766== by 0x285B40C1: std::__cxx1998::_List_base<SwSidebarItem*, std::allocator<SwSidebarItem*> >::_M_put_node(std::__cxx1998::_List_node<SwSidebarItem*>*) (stl_list.h:339) ==21766== by 0x285B43BB: std::__cxx1998::list<SwSidebarItem*, std::allocator<SwSidebarItem*> >::_M_erase(std::__cxx1998::_List_iterator<SwSidebarItem*>) (stl_list.h:1549) ==21766== by 0x285B346E: std::__cxx1998::list<SwSidebarItem*, std::allocator<SwSidebarItem*> >::erase(std::__cxx1998::_List_iterator<SwSidebarItem*>) (list.tcc:113) ==21766== by 0x285B18EB: std::__debug::list<SwSidebarItem*, std::allocator<SwSidebarItem*> >::_M_erase(std::__cxx1998::_List_iterator<SwSidebarItem*>) (list:423) ==21766== by 0x285AF9E6: std::__debug::list<SwSidebarItem*, std::allocator<SwSidebarItem*> >::remove(SwSidebarItem* const&) (list:570) ==21766== by 0x285A2BFC: SwPostItMgr::RemoveItem(SfxBroadcaster*) (PostItMgr.cxx:241) ==21766== by 0x285A3241: SwPostItMgr::Notify(SfxBroadcaster&, SfxHint const&) (PostItMgr.cxx:346) ==21766== by 0x84AFB1E: SfxBroadcaster::Broadcast(SfxHint const&) (brdcst.cxx:46) ... ==21766== by 0xA5A3C74: Application::Yield() (svapp.cxx:393) ==21766== by 0xA5A3C20: Application::Execute() (svapp.cxx:342) ==21766== Change-Id: I0ed3e09338810200766bd10203d9fcac26e822f6
Diffstat (limited to 'include/package')
0 files changed, 0 insertions, 0 deletions