Steps to reproduce: 1. Clean the user profile 2. Open Writer -> Tip of the day dialog is prompted 3. Close LibreOffice and the close the tip of the day -> Crash This issue was initially reported in bug 125131 and fixed towards master in https://cgit.freedesktop.org/libreoffice/core/commit/?id=2dff4a4f63fc84b8ce82215f46e1575ed8d535a3. In LibreOffice 6.4, the tip of the day has been reworked for bug 127400 in https://git.libreoffice.org/core/commit/97bcd0e416b1fb725b5aaade811e80d46fdaf1e2 and the crash has been reintroduced On the one hand, it's good the dialog isn't modal so users can try the tip of the day while reading it (bug 127533 ), on the other hand, it crashes :-( BTW, while testing this, I find the dialog prompted while launching Writer isn't modal, while the one called from the menu is. why is it happening ?
Regression introduced by: https://cgit.freedesktop.org/libreoffice/core/commit/?id=97bcd0e416b1fb725b5aaade811e80d46fdaf1e2 author Heiko Tietze <tietze.heiko@gmail.com> 2019-09-06 10:34:54 +0200 committer Heiko Tietze <heiko.tietze@documentfoundation.org> 2019-09-23 07:51:01 +0200 commit 97bcd0e416b1fb725b5aaade811e80d46fdaf1e2 (patch) tree 9d841bf31e56faf32c83e6f2518919af4c6b212d parent c8e2675ebde04ab814fe0bc8f800a502280f4689 (diff) Resolves tdf#127400 - Allow to show tip of the day again Bisected with: bibisect-linux64-6.4 Adding Cc: to Heiko Tietze
Created attachment 154736 [details] bt Windows (windbg) On Win10 with master sources updated today, I could reproduce this.
The dialog is modal to block LibreOffice. That was exactly the cause of bug 125131. (In reply to Xisco Faulí from comment #0) > BTW, while testing this, I find the dialog prompted while launching Writer > isn't modal, while the one called from the menu is. why is it happening ? Caolan, both are not called as UNO comands (GetDispatcher()->Execute(SID_TIPOFTHEDAY) in viewfrm.cxx and via menu handler). Any idea?
yeah, via menu there's an "internal" argument passed which contains the frame to use as parent for the dialog. We can add that argument in the direct dispatch and solve this that way. https://gerrit.libreoffice.org/#/c/80291/
Caolán McNamara committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/9be58fddb9c88d0fb058dcb7936a17c9d45d0237 Resolves: tdf#127946 pass in argument for dialog parent It will be available in 6.4.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Hi Caolán, First off, thanks for fixing the crash. Would it be possible to change the tip of the day dialog to non Modal? it would also allow users to test the tip while reading it ( bug 127533 ) Verified in Version: 6.4.0.0.alpha0+ Build ID: 52cda5c5ae426761ccbdb4f20419098eab195303 CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US Calc: threaded
If someone else wants to do that then, if the dialog is changed to non-modal in the .ui then the code calling it needs to be changed to use a std::shared_ptr<weld::Dialog> and runAsync something like... weld::DialogController::runAsync(xDialog, [](sal_Int32 /*nResult*/){}); and then it should work fine I think
(In reply to Caolán McNamara from comment #7) > If someone else wants to do that then, if the dialog is changed to non-modal > in the .ui then the code calling it needs to be changed to use a > std::shared_ptr<weld::Dialog> and runAsync something like... > weld::DialogController::runAsync(xDialog, [](sal_Int32 /*nResult*/){}); > and then it should work fine I think ok, thanks. Turning bug 127533 into an easyhack then...