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

--- Comment #67 from Mike Kaganski <mikekagan...@hotmail.com> ---
The call stack that resets the view is the following:

> swlo.dll!SwViewShell::IsViewLocked() Line 461
>       at c:\lo\core\sw\inc\viewsh.hxx(461)
> swlo.dll!SwViewShell::MakeVisible(const SwRect & rRect) Line 572
>       at c:\lo\core\sw\source\core\view\viewsh.cxx(572)
> swlo.dll!SwCursorShell::MakeSelVisible() Line 2828
>       at c:\lo\core\sw\source\core\crsr\crsrsh.cxx(2828)
> swlo.dll!SwFEShell::MakeSelVisible() Line 2584
>       at c:\lo\core\sw\source\core\frmedt\feshview.cxx(2584)
> swlo.dll!SwCursorShell::UpdateCursor(unsigned short eFlags, bool bIdleEnd) 
> Line 1844
>       at c:\lo\core\sw\source\core\crsr\crsrsh.cxx(1844)
> swlo.dll!SwCursorShell::EndAction(const bool bIdleEnd, const bool DoSetPosX) 
> Line 274
>       at c:\lo\core\sw\source\core\crsr\crsrsh.cxx(274)
> swlo.dll!SwCursorShell::CheckTableBoxContent(const SwPosition * pPos) Line 868
>       at c:\lo\core\sw\source\core\crsr\trvltbl.cxx(868)
> swlo.dll!SwCursorShell::EndAllTableBoxEdit() Line 923
>       at c:\lo\core\sw\source\core\crsr\trvltbl.cxx(923)
> swlo.dll!SwDocShell::SaveAs(SfxMedium & rMedium) Line 506
>       at c:\lo\core\sw\source\uibase\app\docsh.cxx(506)
> sfxlo.dll!SfxObjectShell::SaveAsOwnFormat(SfxMedium & rMedium) Line 3087
>       at c:\lo\core\sfx2\source\doc\objstor.cxx(3087)
> sfxlo.dll!SfxObjectShell::SaveTo_Impl(SfxMedium & rMedium, const SfxItemSet * 
> pSet) Line 1427
>       at c:\lo\core\sfx2\source\doc\objstor.cxx(1427)
> sfxlo.dll!SfxObjectShell::PreDoSaveAs_Impl(const rtl::OUString & rFileName, 
> const rtl::OUString & aFilterName, const SfxItemSet & rItemSet) Line 2847
>       at c:\lo\core\sfx2\source\doc\objstor.cxx(2847)
> sfxlo.dll!SfxObjectShell::CommonSaveAs_Impl(const INetURLObject & aURL, const 
> rtl::OUString & aFilterName, SfxItemSet & rItemSet) Line 2705
>       at c:\lo\core\sfx2\source\doc\objstor.cxx(2705)
> sfxlo.dll!SfxObjectShell::APISaveAs_Impl(const rtl::OUString & aFileName, 
> SfxItemSet & rItemSet) Line 307
>       at c:\lo\core\sfx2\source\doc\objserv.cxx(307)
> sfxlo.dll!SfxBaseModel::impl_store(const rtl::OUString & sURL, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> seqArguments, bool bSaveTo) Line 2970
>       at c:\lo\core\sfx2\source\doc\sfxbasemodel.cxx(2970)
> sfxlo.dll!SfxBaseModel::storeToRecoveryFile(const rtl::OUString & 
> i_TargetLocation, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> i_MediaDescriptor) Line 1666
>       at c:\lo\core\sfx2\source\doc\sfxbasemodel.cxx(1666)
> fwklo.dll!`anonymous namespace'::AutoRecovery::implts_saveOneDoc(const 
> rtl::OUString & sBackupPath, 
> `anonymous-namespace'::AutoRecovery::TDocumentInfo & rInfo, const 
> com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator> & 
> xExternalProgress) Line 3061
>       at c:\lo\core\framework\source\services\autorecovery.cxx(3061)
> fwklo.dll!`anonymous namespace'::AutoRecovery::implts_saveDocs(bool 
> bAllowUserIdleLoop, bool bRemoveLockFiles, const 
> `anonymous-namespace'::DispatchParams * pParams) Line 2960
>       at c:\lo\core\framework\source\services\autorecovery.cxx(2960)
> fwklo.dll!`anonymous namespace'::AutoRecovery::implts_timerExpired(Timer * 
> __formal) Line 2310
>       at c:\lo\core\framework\source\services\autorecovery.cxx(2310)
> fwklo.dll!`anonymous 
> namespace'::AutoRecovery::LinkStubimplts_timerExpired(void * instance, Timer 
> * data) Line 2248
>       at c:\lo\core\framework\source\services\autorecovery.cxx(2248)
> vcllo.dll!Link<Timer *,void>::Call(Timer * data) Line 84
>       at c:\lo\core\include\tools\link.hxx(84)
> vcllo.dll!Timer::Invoke() Line 77
>       at c:\lo\core\vcl\source\app\timer.cxx(77)
> vcllo.dll!Scheduler::ProcessTaskScheduling() Line 448
>       at c:\lo\core\vcl\source\app\scheduler.cxx(448)
> vcllo.dll!Scheduler::CallbackTaskScheduling() Line 271
>       at c:\lo\core\vcl\source\app\scheduler.cxx(271)
> vcllo.dll!SalTimer::CallCallback() Line 56
>       at c:\lo\core\vcl\inc\saltimer.hxx(56)
> vcllo.dll!WinSalTimer::ImplHandleElapsedTimer() Line 158
>       at c:\lo\core\vcl\win\app\saltimer.cxx(158)
> vcllo.dll!WinSalTimer::ImplHandleTimerEvent(unsigned __int64 aWPARAM) Line 168
>       at c:\lo\core\vcl\win\app\saltimer.cxx(168)
> vcllo.dll!SalComWndProc(HWND__ * __formal, unsigned int nMsg, unsigned 
> __int64 wParam, __int64 lParam, bool & rDef) Line 642
>       at c:\lo\core\vcl\win\app\salinst.cxx(642)
> vcllo.dll!SalComWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 
> wParam, __int64 lParam) Line 670
>       at c:\lo\core\vcl\win\app\salinst.cxx(670)
> user32.dll!UserCallWinProcCheckWow()
> user32.dll!DispatchMessageWorker()
> vcllo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 458
>       at c:\lo\core\vcl\win\app\salinst.cxx(458)
> vcllo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 526
>       at c:\lo\core\vcl\win\app\salinst.cxx(526)
> vcllo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) 
> Line 555
>       at c:\lo\core\vcl\win\app\salinst.cxx(555)
> vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 470
>       at c:\lo\core\vcl\source\app\svapp.cxx(470)
> vcllo.dll!Application::Yield() Line 536
>       at c:\lo\core\vcl\source\app\svapp.cxx(536)
> vcllo.dll!Application::Execute() Line 450
>       at c:\lo\core\vcl\source\app\svapp.cxx(450)
> sofficeapp.dll!desktop::Desktop::Main() Line 1635
>       at c:\lo\core\desktop\source\app\app.cxx(1635)
> vcllo.dll!ImplSVMain() Line 200
>       at c:\lo\core\vcl\source\app\svmain.cxx(200)
> vcllo.dll!SVMain() Line 239
>       at c:\lo\core\vcl\source\app\svmain.cxx(239)
> sofficeapp.dll!soffice_main() Line 169
>       at c:\lo\core\desktop\source\app\sofficemain.cxx(169)
> soffice.bin!sal_main() Line 48
>       at c:\lo\core\desktop\source\app\main.c(48)
> soffice.bin!main(int argc, char * * argv) Line 47
>       at c:\lo\core\desktop\source\app\main.c(47)
> soffice.bin!WinMain(void * _hinst, void * _dummy, char * _cmdline, int 
> _nshow) Line 47
>       at c:\lo\core\desktop\source\app\main.c(47)
> soffice.bin!invoke_main() Line 107
>       at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(107)
> soffice.bin!__scrt_common_main_seh() Line 283
>       at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(283)
> soffice.bin!__scrt_common_main() Line 326
>       at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(326)
> soffice.bin!WinMainCRTStartup() Line 17
>       at f:\dd\vctools\crt\vcstartup\src\startup\exe_winmain.cpp(17)
> kernel32.dll!BaseThreadInitThunk()
> ntdll.dll!RtlUserThreadStart()

... so the problematic part is the SwCursorShell::EndAllTableBoxEdit being not
wrapped into some guard like the one that was fixed in
http://cgit.freedesktop.org/libreoffice/core/commit/?id=2d67042dc2f0672d1aca4784e61eb2a5d0e91e08
(see bug 95797).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise

Reply via email to