diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2021-07-12 16:47:51 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2021-07-12 20:19:10 +0200 |
commit | a023a967978a334fd5016ab325864796def295cc (patch) | |
tree | 79ed14566c85b2b05b4dd891ca4f86a8d1923c3c /extensions/Library_dbp.mk | |
parent | 0fda7285144fcadd16cc02bf7ecaad20b7d5b971 (diff) |
sfx2: fix assert failure when deleting SfxOfficeDispatch on a thread
Steps to reproduce the problem:
1) Start soffice with "--accept=socket,host=localhost,port=9999;urp;StarOffice.ServiceManager"
2) Run a java / uno example that registers a custom dispatch interceptor
by calling registerDispatchProviderInterceptor().
3) Open a Writer document, choose insert -> object -> ole object ->
spreadsheet (i.e. Calc)
Then this assertion failure is hit:
tllo.dll!DbgTestSolarMutex() Line 96
at C:\lo\master\tools\source\debug\debug.cxx(96)
svllo.dll!SfxBroadcaster::RemoveListener(SfxListener & rListener) Line 104
at C:\lo\master\svl\source\notify\SfxBroadcaster.cxx(104)
svllo.dll!SfxListener::~SfxListener() Line 54
at C:\lo\master\svl\source\notify\lstner.cxx(54)
sfxlo.dll!SfxDispatchController_Impl::~SfxDispatchController_Impl() Line 367
at C:\lo\master\sfx2\source\control\unoctitm.cxx(367)
sfxlo.dll!SfxOfficeDispatch::~SfxOfficeDispatch() Line 192
at C:\lo\master\sfx2\source\control\unoctitm.cxx(192)
Given that SfxListener wants its caller to lock the solar mutex and
SfxDispatchController_Impl inherits from SfxListener, lock the mutex in
the SfxOfficeDispatch dtor and explicitly delete
SfxDispatchController_Impl while the mutex is still locked.
Change-Id: Ib4201ef7866aaadedf9dfa8bd581ebe7a3bcf29a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118769
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'extensions/Library_dbp.mk')
0 files changed, 0 insertions, 0 deletions