Open a new Writer document. Go to Insert → Filed → More Fields → Database Type → Mail merge fields Database Selection → Select a Field of a table → Insert Close the dialog. File has been inserted. Now the second field: Insert → Filed → More Fields: Whole LO will hang, nor response any more. This bug appears on OpenSUSE 15.2 64bit rpm Linux with LO 7.1.3.2 It will work right on the same machine with the same userprofile in LO 7.0.5.2.
Reproduced in Version: 7.2.0.0.alpha1+ / LibreOffice Community Build ID: c781776f3c79bbe3175b1452d26c79ebb931a500 CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: x11 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded but not with GTK3
Regression introduced by: https://cgit.freedesktop.org/libreoffice/core/commit/?id=351edb44eb0548f7e56464de42c1758a1f5e4ab4 author Mike Kaganski <mike.kaganski@collabora.com> 2021-03-14 14:33:34 +0300 committer Mike Kaganski <mike.kaganski@collabora.com> 2021-03-14 13:58:18 +0100 commit 351edb44eb0548f7e56464de42c1758a1f5e4ab4 (patch) tree 2ae52f50280b774f6cf3f97f70e3af3c4d0ecd45 parent 924733c65902d0b17764aded56c88c99d4b9a568 (diff) tdf#141012: do not try to expand the node if RequestingChildrenHdl failed Bisected with: bibisect-linux64-7.2 Adding Cc: to Mike Kaganski
The problem is in SwDBTreeList::ShowColumns, which never leaves iteration. It gets a "biblio" item (I tested with the default bobliography), calls 'GotoRootLevelParent' on it, so it now points to "Bibliography", collapses the row, sees that it has no children (gets a dummy entry), and gets "next", which is "biblio" again. Caolan: do you have an idea what's wrong here? I don't quite see what is the intended logic here.
There's a <dummy> entry to indicate the load-on-demand state. It needs to be there for the expander indicator to be drawn/shown when there are no "real" entries yet. Typically the user clicks on the expander, the expansion remove the dummy entry and calls the provided expander-callback which has the change to populate the node. Here RequestingChildrenHdl is the expander-callback (set via connect_expanding) and populates the node, but then there are two places where it is called directly and it merrily appends entries into the node, but because it's called outside the expander-callback the <dummy> entry was never removed which is then a problem because of the inconsistency.
Caolán McNamara committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/89cc421a6b246df36415fc3fbbec00435ffc5a85 tdf#142294 drop placeholder on-demand node on directly populating node It will be available in 7.2.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.
backport to 7-1 in gerrit
Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-7-1": https://git.libreoffice.org/core/commit/c4767868f1ee024efdd672cb21de9e3258c56694 tdf#142294 drop placeholder on-demand node on directly populating node It will be available in 7.1.5. 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.
Verified in Version: 7.2.0.0.alpha1+ / LibreOffice Community Build ID: 42d2b2d55a27f11153ea1713737d93540a19211d CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: x11 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded @Caolán, thanks for fixing this issue!!
Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-7-1-4": https://git.libreoffice.org/core/commit/f4584ba373a0aff0041f0495e5a54ca9dd037123 tdf#142294 drop placeholder on-demand node on directly populating node It will be available in 7.1.4. 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.