Bug 138980 - CTRL+A cut doesn't include image frame/ with image if record changes being enabled
Summary: CTRL+A cut doesn't include image frame/ with image if record changes being en...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.0.0.3 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected
Depends on:
Blocks: Track-Changes Selection
  Show dependency treegraph
 
Reported: 2020-12-16 19:58 UTC by Telesto
Modified: 2024-01-18 13:55 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Example file (159.36 KB, application/vnd.oasis.opendocument.text)
2020-12-16 19:59 UTC, Telesto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2020-12-16 19:58:49 UTC
Description:
CTRL+A cut doesn't include image frame/ with image if record changes being enabled

Steps to Reproduce:
1. Open the attached file
2. Enable record changes 
3. Hide changes
4. CTRL+A
5. CTRL+X

Actual Results:
No change

Expected Results:
Image frame should go away


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.2.0.0.alpha0+ (x64)
Build ID: 15e4427e8fb56a143caa28b8a3120f3761fc77a5
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
Comment 1 Telesto 2020-12-16 19:59:01 UTC
Created attachment 168235 [details]
Example file
Comment 2 raal 2020-12-16 21:09:12 UTC
Confirm Version: 7.2.0.0.alpha0+
Build ID: 9a2a4bc5ed340ba187c8e27db5c8477c990c93af
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3
Locale: cs-CZ (cs_CZ.UTF-8); UI: en-US
Calc: threaded
Comment 3 QA Administrators 2022-12-17 03:19:30 UTC Comment hidden (obsolete)
Comment 4 Kira Tubo 2023-09-22 05:13:12 UTC
Bibisected win64-7.0. Added Michael Stahl to cc. 

Regression occurring at: 
https://git.libreoffice.org/core/+/1ad7ff8affaba315c8f28a43a18d51c803eb78bc

It seems this commit was to fix CTRL+A in an empty selection (see Bug 133957). I noticed during the bibisect that I could not select the frame with CTRL+A in attachment 168235 [details] starting from 3.3 until around or before 7.0. In commit 1ad7ff8affaba315c8f28a43a18d51c803eb78bc, I could select the frame with CTRL+A, but CTRL+X does nothing with record changes enabled. 

---------------
commit 1ad7ff8affaba315c8f28a43a18d51c803eb78bc	[log]
author	Michael Stahl <Michael.Stahl@cib.de>	Mon Jun 15 13:11:29 2020 +0200
committer	Michael Stahl <michael.stahl@cib.de>	Tue Jun 16 14:42:51 2020 +0200
tree 45188e0051bd89226ce82cdb31f45da5eed177b1
parent f10fc1dbb3472abffea3fea8b8f19909f6a06d99 [diff]
---------------
commit e52a0879a253e7c9fa2974a390762cc45c76b51f
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Tue Jun 16 06:14:00 2020 -0700

    source 1ad7ff8affaba315c8f28a43a18d51c803eb78bc
---------------

Reproduced in daily master build.

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 486ae5db6987411d5e394de94b2b077099d03856
CPU threads: 6; OS: Windows 10.0 Build 22621; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded
Comment 5 Michael Stahl (allotropia) 2024-01-18 13:51:44 UTC
i think this is a missing feature.

the frame should be deleted, because it is selected - this is what happens without change tracking.

but change tracking isn't able to handle a selection that has no range - nothing happens, no tracked change is created - and thus a text deletion can't delete the frame.

what could be done is to detect the situation (selection empty but frame is selected - using the IsFlySelectedByCursor function added by the commit #4 - and create tracked changes for the deletion of the frames.

but currently such a tracked change doesn't exist - missing feature, not trivial to implement.

hence removing "regression".
Comment 6 Michael Stahl (allotropia) 2024-01-18 13:55:28 UTC
enable change tracking, select the frame with mouse click, hit Delete => it's gone, no tracked change