https://bugs.documentfoundation.org/show_bug.cgi?id=99383

--- Comment #5 from Michael Stahl <[email protected]> ---
the problem is apparently caused by TransferableHelper::CopyToSelection using
SolarMutexReleaser.

... [ the message being dispatched there is SAL_MSG_TIMER_CALLBACK ... actually
no the message isn't dispatched there usually only when the debugger messes up
the timing ]

... real problem is an Idle being dispatched - SfxDispatcher::EventHdl_Impl
- this pops a SwTextShell, SwNavigationShell off the stack and pushes
SwNavigationShell and then it calls SfxDispatcher::Update_Impl which apparently
updates the toolbar.

... this is happening inside SwView::SelectShell, here:

            eShellMode = SHELL_MODE_DRAW;
            m_pShell = new SwDrawShell( *this );
            rDispatcher.Push( *m_pShell );

the SwDrawBaseShell constructor calls the CopyToSelection stuff...
clearly it's not intended that the SfxDispatcher idle handler runs before
the new shell is pushed onto the SfxDispatcher.

the SfxDispatcher::xImp->aIdle is started from SfxDispatcher::Pop().

so either we shouldn't run the idle handler via SolarMutexReleaser,
or something needs to prevent execution of the SfxDispatcher idle handler until
the stack manipulation is finished.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to