Bug 158227 - Broken undo history with table and (page or column) break
Summary: Broken undo history with table and (page or column) break
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Writer-Tables Undo-Redo Writer-Page-Break
  Show dependency treegraph
 
Reported: 2023-11-15 16:14 UTC by demo4
Modified: 2023-11-30 20:31 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Screen capture of the above mentioned bug (2.78 MB, video/mp4)
2023-11-27 16:10 UTC, demo4
Details

Note You need to log in before you can comment on or make changes to this bug.
Description demo4 2023-11-15 16:14:01 UTC
Description:
The redo log seems to be broken, if the page layout has 2 cols and a table at the page beginning is inserted a col break in the first cell.

Steps to Reproduce:
On an empty document:

1. Apply "Columns: 2" to the "Default Page Style"
2. insert table (Ctrl+F12 and Return)
3. insert col break (Ctrl+Shift+Return) (seemingly nothing happens)
4. insert new paragraph (Return)
5. insert col break (Ctrl+Shift+Return) 
6. remove first line (Del Key)


The dashed line (which indicates a column break) is also hidden here (But already covered in another issue: https://bugs.documentfoundation.org/show_bug.cgi?id=158189). But now the undo/redo log seems to be broken. The following actions are displayed when you move the mouse pointer over the undo button after performing each of the above actions.

1. Undo: Change style: Default Page Style
2. Undo: Insert table: "Table1"
3. Undo: Change style: Table1
This logged action seems wrong to me.
4. Undo: New Paragraph
5. Undo: Insert column break
6. Undo: Delete Paragraphs


Pressing the undo button from the toolbar (or Ctrl+Z, similar), the following things happen:

1. Undo: Delete Paragraphs
The Table moves to the third col, the man. col break appears above the second col, the removed pilcrow appears on the second col (Formatting Marks shown).
2. Undo: Insert column break
The Table moves back to the second col, the man. col break disappears, the pilcrow disappears.
3. Undo: New Paragraph
The table moves to the first page.
4. Undo: Change style: Table1
seemingly nothing happens
5. Undo: Insert table: "Table1"
The table disappears
6. Undo: Change style: Default Page Style
The Document changes to one column.


Redo the undone things results in another result than before:
6. Redo: Change style: Default Page Style
The Document changes to two columns.
5. Redo: Insert table: "Table1"
The table appears
4. Redo: Change style: Table1
seemingly nothing happens
3. Redo: New Paragraph
The table remains on the first page and moves one line down
2. Redo: Insert column break
The Table moves to the second col, second line, and the col break dashed line is shown
1. Redo: Delete Paragraphs
The Table moves back to the first col, the dashed line goes away

Actual Results:
The Table is on the first with an empty line above.

Expected Results:
The Table should be on the second col without an empty line above.


Reproducible: Always


User Profile Reset: No

Additional Info:
By "undo log" I mean the thing that records the actions performed so that they can be undone. Is that the name of it, undo log?
Comment 1 Buovjaga 2023-11-27 09:58:12 UTC
(In reply to demo4 from comment #0)
> 1. Undo: Change style: Default Page Style
> 2. Undo: Insert table: "Table1"
> 3. Undo: Change style: Table1
> This logged action seems wrong to me.

I don't get this action description.

Your step

6. remove first line (Del Key)

was not entirely clear, but I tested with the first line in the second column and separately with the one in the first column and got the same result.

Version: 7.6.2.1 (X86_64) / LibreOffice Community
Build ID: 56f7684011345957bbf33a7ee678afaf4d2ba333
CPU threads: 2; OS: Windows 10.0 Build 22621; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

Arch Linux 64-bit, X11
Version: 24.2.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 86c682273d907c77404637c89e584047de1c1099
CPU threads: 8; OS: Linux 6.6; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 27 November 2023
Comment 2 demo4 2023-11-27 16:10:17 UTC
Created attachment 191066 [details]
Screen capture of the above mentioned bug
Comment 3 demo4 2023-11-27 16:10:57 UTC
Please excuse me if this is not clear.

This refers to the first line of the second page column (i.e. the line above the table). The cursor should not be moved manually. Removing this row causes the paragraph marks of the manual column break to disappear.

If I undo all the steps and then redo them, I get a different result. The table is then in the first column.

I have recorded a video of the problem and attached it. I hope this makes it a little clearer.
Comment 4 Buovjaga 2023-11-27 16:15:56 UTC
Thanks, your video confirms I followed the correct steps. We need more testers and hopefully someone else can reproduce it.
Comment 5 Stéphane Guillou (stragu) 2023-11-30 20:31:35 UTC
Reproduced as described, even without step 3, in:

Version: 7.6.3.2 (X86_64) / LibreOffice Community
Build ID: 29d686fea9f6705b262d369fede658f824154cc0
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

Version: 24.2.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 5589659829f8a1cef8ca1c8a468732105bbe231b
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

as well as OOo 3.3, so issue is inherited.

The same issue can be reproduced with no columns, a table and a page break. So I would say it's the interaction between table and break.