Bug 154859 - Delete row, deleting content within row if table cell content is added with track changes record enabled & row being deleted with track changes record still enabled
Summary: Delete row, deleting content within row if table cell content is added with t...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.6.0 target:7.5.4
Keywords:
Depends on:
Blocks: Track-Changes
  Show dependency treegraph
 
Reported: 2023-04-17 12:59 UTC by Telesto
Modified: 2023-04-27 11:48 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2023-04-17 12:59:46 UTC
Description:
Delete row, deleting content within row if table cell content is added with track changes record enabled & row being deleted with track changes record still enabled

Steps to Reproduce:
1. Open Writer
2. Insert a 2x2 table
3. Edit -> track changes -> Record ON (and show ON)
4. Type in cell A1 'A' and in A2 'B'
5. Press delete row button
6. press delete row button again

Actual Results:
Added content disappears, but row not deleted

Expected Results:
Content added (merged as redline, at least I assume so) & row deleted


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: c4a58634753a84b09f20f7271d6525a6656522d3
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL threaded
Comment 1 Buovjaga 2023-04-21 13:38:48 UTC
I reproduce, but I'm not sure what would be the expected result (matter of taste?)

László: what do you think?

Arch Linux 64-bit, X11
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 0293724d05953be608287629ed6178a7c05383a6
CPU threads: 8; OS: Linux 6.2; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 21 April 2023
Comment 2 László Németh 2023-04-24 08:52:48 UTC
First click result an empty row without change tracking, the second (last possible) click deleted the row with change tracking.

Compatibility analysis:

For a row with tracked text insertion, option "delete row" results immediately a an empty tracked deleted row (the same, as in Writer after double clicks).

So there is no big difference here.

For a tracked row insertion, there is no enabled option "delete row" in MSO, only accept/rejecgt row change. Rejecting the change removed not only the text content, but the row. Writer does the same.

For plain text, there is a time period, within the deletion of the tracked text insertion reject the change, instead of adding new track changes. Maybe it's worth to extend this for the table rows, or – which is better – allowing only reject (and accept) of the tracked row insertion, like MSO does, and not also deleting the row (which removes the line with change tracking at the second click).
Comment 3 Commit Notification 2023-04-24 15:23:12 UTC
László Németh committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/5e6d8efbf3fb456ca370df04b21d2e340d9831ad

tdf#154859 sw: fix deletion of tracked row insertion

It will be available in 7.6.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.
Comment 4 László Németh 2023-04-24 15:24:04 UTC
@Telesto & all: many thanks for the report and feedback!

Commit description:

df#154859 sw: fix deletion of tracked row insertion

Row deletion of tracked row insertions resulted an
empty, not tracked row. To fix this, disable row
deletion on tracked row insertions, allowing only to
manage changes for removing the row, e.g. by clicking
on Reject Change of the context menu of the table row,
like MSO does.

This also avoids of clicking again on the row deletion
to create an empty tracked row deletion from the
empty not tracked row, and originally, from the tracked
row insertion.

Regression from commit 05366b8e6683363688de8708a3d88cf144c7a2bf
"tdf#60382 sw offapi: add change tracking of table/row deletion".

Follow-up to commit 0204c00f241313e1d292b4c3ea117d42af7dec69
"tdf#147453 sw: disable Delete Table functions on tracked deletions".

See also commit 95c003d75e0f8b255344715a35358072b5eba99d
"tdf#146145 sw: 1-click Accept/Reject of table row changes".
Comment 5 Commit Notification 2023-04-25 12:30:34 UTC
László Németh committed a patch related to this issue.
It has been pushed to "libreoffice-7-5":

https://git.libreoffice.org/core/commit/1555ba4dd9e90f0dfd39df952c3d2fd5e755e2f5

tdf#154859 sw: fix deletion of tracked row insertion

It will be available in 7.5.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.
Comment 6 László Németh 2023-04-27 11:48:03 UTC
Note: the previous fix solved the issue for the tracked table rows, i.e. for DOCX import, or newly inserted tracked rows of a (tracked or not tracked) table. Handling "single redline" tables (which are parts of a tracked text) is under development, see the DOCX export fix in Bug 150824.