Do not terminate desktop from a Timer
<sberg> kendy, as you recently changed Timer handling on Windows: debugging why quickstarter no longer works on Windows, I run into the phenomenon that IdleTerminate::Timeout (sfx2/source/appl/shutdownicon.cxx) executes on the main thread, and from within the m_xDesktop->terminate() call Timer::ImplDeInitTimer is called which deletes the pTimerData corresponding to our IldeTerminate, so that Timer::ImplTimerCallbackProc, after the return from IdleTerminate::Timeout, will operate on a stale pTimerData and crash; could that be related to those recent changes? <kendy> sberg: I think mst told that we were previously never deleting the timer, and that he did some changes there [...] <mst__> sberg, IdleTerminate needs a different implementation <mst__> sberg, does it work to do this via PostUserEvent, as "Application::Quit()" does? <sberg> mst__, do you think calling terminate from a Timer did work in the past? [...] <mst__> sberg, perhaps it did before [a recent] commit but i would guess it would be more by accident than by design Change-Id: I23b14ba59a963cc2209a261a1459d532a88acdc0
Showing
Please
register
or
sign in
to comment