Description: bullets in table not restored after undo cell merging Steps to Reproduce: 1. Open Writer 2. Insert a table 3x3 3. Select the full table 4. Sidebar -> Styles -> List styles -> Select Arrow bullet 5. Merge the cells in the middle column 6. Undo -> Notice the bullets not being present Actual Results: No bullets Expected Results: Bullets Reproducible: Always User Profile Reset: No Additional Info: Found in 7.1 and in Version: 6.0.5.0.0+ Build ID: 15ea1cda0b3c37ff944ad9a239b7ed453e8b0591 CPU threads: 4; OS: Windows 6.3; UI render: default; Locale: nl-NL (nl_NL); Calc: CL not in 4.4.7.2
Confirm with Version: 7.1.0.0.alpha0+ Build ID: ce6c6a5ad6c9dde09bb0bb0c51e16d828cfe0ef7 CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3 Locale: cs-CZ (cs_CZ.UTF-8); UI: en-US Calc: threaded
This seems to have begun at the below commit. Adding Cc: to Justin Luth ; Could you possibly take a look at this one? Thanks 1be1a0488a9ed49b76991509fda913108ea4c625 is the first bad commit commit 1be1a0488a9ed49b76991509fda913108ea4c625 Author: Jenkins Build User <tdf@pollux.tdf> Date: Fri Feb 10 03:57:25 2017 +0100 source 53fd124d2488977af8536f439874a15de375dc40 author Justin Luth <justin_luth@sil.org> 2016-12-30 22:21:19 +0300 committer Miklos Vajna <vmiklos@collabora.co.uk> 2017-01-03 08:19:46 +0000 commit 53fd124d2488977af8536f439874a15de375dc40 (patch) tree 0aac39c26a222ee140d974547a8d963445a8da93 parent bd97bca534b61ef302c606ae7452454d5e87910e (diff) tdf#49102 - UI: remove list numbering from merged cells
Undo is a massive black-box full of crash-related problems. I don't expect to spend any time on this.
(In reply to Justin L from comment #3) > Undo is a massive black-box full of crash-related problems. I don't expect > to spend any time on this. Let's add Michael Stahl to the loop; he is the undo/redo specialist and knows the area pretty well. He might want to look at this; OTOH he has still a number of regressions fixing to do .. So not sure I he want's to open another regression prone front. FWIW: Nobody complained yet as far I know, so no need to rush this..
Still in Version: 7.5.0.0.alpha0+ / LibreOffice Community Build ID: cdf5b6a2a6f0ba2838323ce4398948c3d3a56f8e CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: gtk3 Locale: hu-HU (hu_HU.UTF-8); UI: en-US Calc: threaded
Removing regression status. Already seen in OOo if you merge and undo the MIDDLE ROW - a horizontal merge instead of a vertical one. Additionally, this only happens with empty paragraphs (which therefore get merged into a single empty paragraph). This edge case is super unimportant. For testing, you can use numberedMergedCells.odt (attachment 130047 [details]) from bug 49102.
I expect that the key to fixing this undo problem (at least for the horizontal cells) is related to sw/source/core/table/swnewtable.cxx's SwTable::PrepareMerge if( nCurrCol ) rBoxes.insert( pBox ); where rBoxes is a list of cells that will simply be deleted. Somehow the restoration of the box doesn't include the numbering of an empty paragraph. Oh, that likely is handled separately from the cells themselves. Likely handled in all the UNDO stuff in PrepareMerge's if( !IsEmptyBox( *pBox, aChkPam ) ) So, should we tweak IsEmptyBox to treat an empty numbered paragraph as a "normal" paragraph and MOVE it into the merged cell (so that the merged cell has two bullet points)? That doesn't sound like a great workaround...