Description: I am seeing a regression involving the height of spreadsheet rows that contain multiline text when different cells have different font sizes. I was using 6.0.4.2 and upgraded to 6.2.1.2. After doing this, my sheets are affected by a problem illustrated by the following repro. I have had to workaround this by avoiding multiple font sizes in the same row. An alternative of overriding the heights after the text is entered is not feasible for my use case. Steps to Reproduce: 1. Open the attached spreadsheet. It is a new sheet created in 6.2.1.2. The only interesting thing is that cells C1, C2, C3 are 12 pt font while all other cells are the default font size. The fact that two cells are gray is immaterial to the repro. 2. Put the 3 lines of text between these two bars on the clipboard in Plain Text format: ===== Test 123 Any Street New York, NY 12345 ===== 3. Repeat these steps for cells B1, B2, B4, B5. (LEAVE EMPTY cells B3, B6.) 3a. Double-click the indicated cell. 3b. Press Ctrl+V to paste. 3c. Press Enter to complete the edit. 4. Press Ctrl+S to Save. 5. Click File > Reload (or close and re-open the file). NOTE: If you do not leave B3, B6 empty but paste the text in all of B1 through B6, the problem does not reproduce. Actual Results: Rows 1 and 2 are not the intended height. Rows 4 and 5 are correct. Expected Results: Rows 1, 2, 4, and 5 should be the same height, and there should be no vertical truncation of the multiline text. The heights should be the same at the time of save and when the file is reloaded. Reproducible: Always User Profile Reset: Yes Additional Info: Version: 6.2.1.2 (x64) Build ID: 7bcb35dc3024a62dea0caee87020152d1ee96e71 CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; Locale: en-US (en_US); UI-Language: en-US Calc: CL
Created attachment 149848 [details] Sheet to reproduce problem
Created attachment 149849 [details] Screenshots of problem
Repro Version: 6.2.1.2 (x64) Build ID: 7bcb35dc3024a62dea0caee87020152d1ee96e71 CPU threads: 4; OS: Windows 10.0; UI render: GL; VCL: win; Locale: es-ES (es_ES); UI-Language: en-US Calc: threaded
Also repro with Version: 6.3.0.0.alpha0+ (x64) Build ID: 9c5dbbe4b0a62ff1af009beb00f1fc45318dad79 CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; TinderBox: Win-x86_64@42, Branch:master, Time: 2019-02-27_20:03:12 Locale: es-ES (es_ES); UI-Language: en-US Calc: CL
reproducible with: Version: 6.1.4.2 (x64) Build-ID: 9d0f32d1f0b509096fd65e0d4bec26ddd1938fd3 CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; Gebietsschema: de-DE (de_DE); Calc: but *not* reproducible with: Version: 6.0.7.3 (x64) Build-ID: dc89aa7a9eabfd848af146d5086077aeed2ae4a5 CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; Gebietsschema: de-DE (de_DE); Calc:
seems to have started with: https://gerrit.libreoffice.org/plugins/gitiles/core/+/693953dd4699887bd3f5bca2c3582b5fae1d6992 commit 693953dd4699887bd3f5bca2c3582b5fae1d6992 [log] author Vasily Melenchuk <Vasily.Melenchuk@cib.de>Fri Apr 06 20:19:10 2018 +0300 committer Katarina Behrens <Katarina.Behrens@cib.de>Mon Oct 22 23:30:23 2018 +0200 tree 2091b2fe8d997ef84f149ace1e6a1f00fd8e08fe parent fad764c02c7a9cd210bfa44ea0ce1ac5354d6427 [diff] tdf#62268: allow row height recalculation on document load During document load rows with style:use-optimal-row-height="true" should recalculate it's height. * includes: Row height tolerance level increase for unittest * tdf#118086: calc: invalid row autoheight fixed /cygdrive/d/sources/bibisect/bibisect-win32-6.1 $ git bisect bad 40ab4a5cf85d27950e409bd4af0086cd98213719 is the first bad commit commit 40ab4a5cf85d27950e409bd4af0086cd98213719 Author: Norbert Thiebaud <nthiebaud@gmail.com> Date: Mon Oct 22 14:51:42 2018 -0700 source 693953dd4699887bd3f5bca2c3582b5fae1d6992 source 693953dd4699887bd3f5bca2c3582b5fae1d6992 :040000 040000 109429f0b4e7074293591b4bb614714854730480 80631ed7ef70e4de2eefa29d10c39c893f835b37 M instdir /cygdrive/d/sources/bibisect/bibisect-win32-6.1 $ git bisect log # bad: [1d66cc00ca6fd2e562cbed88704051b2f5d989e3] source 8d2abb388b0a2423c9b7e1f52373e1b06dd9786f # good: [29d08f54c2f71ffee4fe12dbb24c5f5cbedecfd2] source 6eeac3539ea4cac32d126c5e24141f262eb5a4d9 git bisect start 'master' 'oldest' # good: [3ac46f6c41b5044f162a451b10af0dc5afdcc113] source 22c7c3f54dbb93f856190c561b2540064c5a767d git bisect good 3ac46f6c41b5044f162a451b10af0dc5afdcc113 # good: [63fc3e0d41dd91f9fb3fe9891e009451285d9619] source 13a1bc409d9b2f0d14f4d316b7977b1fc2eb3c8a git bisect good 63fc3e0d41dd91f9fb3fe9891e009451285d9619 # good: [6a75149c2bee2fa1c01b36aef4b734ceee7bc025] source 91d8af2c5cf4e8ec0f1ce0e532e0c896de77750b git bisect good 6a75149c2bee2fa1c01b36aef4b734ceee7bc025 # good: [6440df548810a3adf5f7d125fe738467a5db7891] source 76c0b3c516f6b0d43136522b4d476eb60211cec1 git bisect good 6440df548810a3adf5f7d125fe738467a5db7891 # good: [809628c3decd16dacc705bda20efc603037667bf] source 3c20597ada7f74a4a96dec841264593fdbf0bcd5 git bisect good 809628c3decd16dacc705bda20efc603037667bf # good: [0a5440cd08992f83f20aab2bcaa2b3e0be434d23] source 2c2ecb7eaa448f33162ce60154af207228ac05a8 git bisect good 0a5440cd08992f83f20aab2bcaa2b3e0be434d23 # good: [00b943e017c148697e3b4ab3c938edcb07e6a33a] source e67ca59e293c4dd37795150cf871e36ca1affb76 git bisect good 00b943e017c148697e3b4ab3c938edcb07e6a33a # bad: [521ff466935054556620576a8782a459686f955e] source 7a6e6d027ad41350ae1334d3e60dc1a6ce96c508 git bisect bad 521ff466935054556620576a8782a459686f955e # bad: [07b7831aa81932b8a8cca5253d25a0d0157085b1] source d860e6a138f08343b42f591462e85b85291b6fa8 git bisect bad 07b7831aa81932b8a8cca5253d25a0d0157085b1 # bad: [df5f87f82cc03697cc4d16b8700b35f667e6c948] source 5e582b7755c9d1e7e358cf5734c8b93d5219622d git bisect bad df5f87f82cc03697cc4d16b8700b35f667e6c948 # bad: [15b060764ee7934c58786891fab4d0f38a09498e] source 5de85be43198804573787d4186b156b5931c4a9f git bisect bad 15b060764ee7934c58786891fab4d0f38a09498e # good: [180656b1b8aed5295a44cbacded98f37e45f5f1d] source fad764c02c7a9cd210bfa44ea0ce1ac5354d6427 git bisect good 180656b1b8aed5295a44cbacded98f37e45f5f1d # bad: [40ab4a5cf85d27950e409bd4af0086cd98213719] source 693953dd4699887bd3f5bca2c3582b5fae1d6992 git bisect bad 40ab4a5cf85d27950e409bd4af0086cd98213719 # first bad commit: [40ab4a5cf85d27950e409bd4af0086cd98213719] source 693953dd4699887bd3f5bca2c3582b5fae1d6992
Reproducible and even worse in Version: 6.2.8.2 Build ID: 1:6.2.8~rc2-0ubuntu0.18.04.1 Threads CPU : 4; OS : Linux 5.3; UI Render : par défaut; VCL: gtk3; Locale : fr-FR (fr_FR.UTF-8); Langue IHM : fr-FR Calc: threaded I tried to create the proposed spreadsheet from scratch with this version. I had a very hard time getting the rows to adjust to the correct height. And after saving + loading, they do not display at the correct height Furthermore, B1 and B2 show the little red triangle indicating truncated text, but cells B4 and B5 do not !
Created attachment 155528 [details] Worse in Linux
This is again just an earlier regression exposed by the "let's adjust row height on load" change from Vasily. Same problem happens before, when you multi-select all rows, and bonk on 'set optimal row height'. Commit causing this is: 0a21fcb6ea9d1c46e8719e0920314ad4be316235 is the first bad commit commit 0a21fcb6ea9d1c46e8719e0920314ad4be316235 Author: Jenkins Build User <tdf@pollux.tdf> Date: Wed Sep 28 22:20:20 2016 +0200 source ef3ca1da6b6d994ea8c39f28a49a599f5cf67915 source ef3ca1da6b6d994ea8c39f28a49a599f5cf67915 instdir/program/libsclo.so | Bin 20592212 -> 20592772 bytes instdir/program/versionrc | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-)
commit ef3ca1da6b6d994ea8c39f28a49a599f5cf67915 Author: Markus Mohrhard <markus.mohrhard@googlemail.com> Date: Thu Aug 4 02:41:14 2016 +0200 save about 50% of the import time for nearly empty ods documents It seems that currently most of the time is spent iterating through all the cells to get the optimal row height. We can easily optimize by using mdds::flat_segment_tree.
Thorsten Behrens committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/f55140c7376c330bcdac071592aada75e8781e19 tdf#123971 don't clobber entire RowHeight range on updates It will be available in 7.0.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.
Thorsten Behrens committed a patch related to this issue. It has been pushed to "libreoffice-6-4": https://git.libreoffice.org/core/commit/a915d7b7b9855a487902784dcdd8e295b6222519 tdf#123971 don't clobber entire RowHeight range on updates It will be available in 6.4.2. 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.
Solved. Verified on Version: 7.0.0.0.alpha1 Build ID: 6a03b2a54143a9bc0c6d4c7f1... CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3; Locale: ro-RO (ro_RO.UTF-8); UI: en-US Calc: threaded