Bug 156270 - EDITING: blocking behaviour on resizing (croping) copy-pasted long spreadsheet on Writer
Summary: EDITING: blocking behaviour on resizing (croping) copy-pasted long spreadshee...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.4.7.2 release
Hardware: All All
: medium normal
Assignee: Xisco Faulí
URL:
Whiteboard: target:24.2.0 target:7.5.6 target:7.6.1
Keywords: bibisected, bisected, regression
Depends on:
Blocks: OLE-Object-Edit-Transition
  Show dependency treegraph
 
Reported: 2023-07-13 09:47 UTC by Phil
Modified: 2023-08-11 11:30 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
ODS source to copy/paste on Writer from a 7.5.4.2 (27.28 KB, application/vnd.oasis.opendocument.spreadsheet)
2023-08-07 08:47 UTC, Phil
Details
ODT calc-paste result (32.41 KB, application/vnd.oasis.opendocument.text)
2023-08-07 08:49 UTC, Phil
Details
sample ODS for bibisect steps (14.32 KB, application/vnd.oasis.opendocument.spreadsheet)
2023-08-09 13:02 UTC, Stéphane Guillou (stragu)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phil 2023-07-13 09:47:04 UTC
Description:
This one is huge and blocking for me, if using LO for mixed writer/spreadsheet estimate or this kind of thing.  

you (often / allways for me)  need to copy-paste a "much-longer-than-your-A4-Writer-page" spreadsheet on Writer. 
 
- The Spreadsheet must stay dynamic to be edited later, so you choose "paste as a CALC" 
- This one is automatically resized to fit the height of your page, as needed. 

- Now, you have to "crop" the visibility zone to a fraction of the SpreadSheet size, to later resize it and make it readable. 

you often have to duplicate it and slide inside the visibility zone.  

So you double-click on it, and the bug appears 

- the edition zone of the SpreadSheet is not aligned as before, but  brutally reduced on a good 10/15/20%, moved at left, sometimes far from the object, changing the settings of the cells you already choosen to show.
Annoying, not like that before, but not that severe, there is worst.

- if you do nothing else than sliding inside the editing zone, it's sometimes ok and the SS re-gain its original size when you ckick outside.

- But most of the time it's hiding / showing uwanted cells, so you'll have to move the small black handles, and the nightmare begins. 

- sometimes the editing zone becomes 20% higher and 10% narrower than its original, with a non-homothetic ratio, crushing the fonts

- in both way : if you need to show more columns by moving the black handles of the editing zones, or if you need to drmatically crop the visible area of the spreadsheet,
the result is, most of the time, catastropic. 

The render is zoomed-out by a solid 50%, the ratio is broken and crushed, on some tests the whole spreadsheet can be changed to a thin line of few centimeters, so you must kick it and retry from the start.

The only painful way i found to do the job, is to make a huge temporary writer doc, ( one meter or more if needed), paste the SS, wich is considered as smaller than the page. 
So its own ratio is 1:1

then the bug is muh less severe, i crop the Calc,  trying to have a size compatible with A4, ignoring the reduced editing zone. In this case the cell's settings doesn't change, i end the edition, zoom out the render,  then i copy it in the real final A4 writer doc. 
    


The problem occured for some 7.x LO, i don't know from wich version, but all the recent one seems affected , on all my computer and the machines of my associate. 
i am on 7.5.4.2



Steps to Reproduce:
1.create a classic A4 page on writer
2.create a very long (vertically) CALC spreadsheet, copy all the zone ( let's say a meter-long spreadsh, by about 16cm wide
3.paste (right click special paste / libreOffice Calc ) 
4.double-click to edit the Calc - the first bug appears
5.use the black handles to crop the CALC : catastrophic second bug appears, allways

Actual Results:
4.double-click to edit the Calc - first bug: inappropriate position and size of the edition zone (sometimes very far on the page)  
5. use the black handles to crop the CALC : catastrophic results with unwanted rezing of the object and uwanted random inside zoom in of the calc when stopping the edition.
6. trying to correct the sizes mainly leads to more severe damages... 

Expected Results:
As before in LO 6.xxx :
- edition zone matching the Calc Object, in size and place 
- no arbitrary changes on the inner render ratios / zoom when doing only cropping
- an appropriate logic when using the handles of cropping : sizes must be the same, the cells must be those shown right before and after using the tool. 


Reproducible: Always


User Profile Reset: Yes

Additional Info:
The bug is much more severe when the original calc is much higher than the page.
 
On the contrary when using "giant" Writer page, higher than the Calc pasted on, the first bug still occurs, but not/less the second, wich is the more blocking.  

I try to reset the profile, thinking it was only my LO. But i experienced it too in a brand new Lenovo laptop on the 7.4.x, and my associate live the same too.
Comment 1 Stéphane Guillou (stragu) 2023-07-28 17:02:05 UTC
Hi Phil
To make sure we are testing in the same conditions, can you please provide an example ODS file and let us know which range to copy and paste into Writer?
I do observe some undesired behaviour (tiny edit frame, terrible display if resized and exited) with:

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

I checked a few versions, and I reproduce the tiny editing frame in 7.4.7.2, but not in 7.3.7.2 (in which the editing frame matches the size of the table on the page). So confirming it is a regression.
Comment 2 Phil 2023-08-07 08:47:16 UTC
Created attachment 188824 [details]
ODS source to copy/paste on Writer from a 7.5.4.2

this is a typical ODS source, but even with my ancient docs, with ancient grids, made in 7.3xxx,  the bug still occurs in recent LO writer 7.5xx
Comment 3 Phil 2023-08-07 08:49:21 UTC
Created attachment 188825 [details]
ODT calc-paste result

And this is the result, just try the various manipulation in a 7.5 and you'll have the tiny frame, the zoom inside problems and so on
Comment 4 Phil 2023-08-07 08:49:53 UTC
and thank you for your attention Stéphane
Comment 5 Stéphane Guillou (stragu) 2023-08-09 12:59:29 UTC
Bibisected with linux-64-7.4 repo to first bad commit 6649009ce982a49e3d8c68b61e8a9efb6b6c0439 which points to core commit 99f43923b66a98b75c78a50577f19293aa480998 which is a cherrypick of:

commit be7ce49f33035fcd289a5ffc7a2307bd9a566780
author	Xisco Fauli Tue Apr 18 14:37:32 2023 +0200
committer	Xisco Fauli Tue Apr 18 16:55:52 2023 +0200
sw: fix divide by 0
See https://crashreport.libreoffice.org/stats/signature/operator/(Fraction%20const%20&,Fraction%20const%20&)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150553

Xisco, can you please have a look?
Comment 6 Stéphane Guillou (stragu) 2023-08-09 13:02:23 UTC
Created attachment 188871 [details]
sample ODS for bibisect steps

Steps used to bibisect:
1. Open attachment
2. Select range "nomm", Ctrl + C
3. New Writer document
4. paste special (Ctrl + Shift + V) > LibreOffice Spreadsheet > OK
5. Double-click OLE object

Result: editing frame is small, does not match size of object.
Comment 7 Commit Notification 2023-08-10 19:34:38 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/fc5aae69934000d81492668b3a40889bba5d3099

tdf#156270: use double for width/height

It will be available in 24.2.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 8 Commit Notification 2023-08-11 11:30:56 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "libreoffice-7-5":

https://git.libreoffice.org/core/commit/48a076e071369f5eee075f74947219dabfa63ec5

tdf#156270: use double for width/height

It will be available in 7.5.6.

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 9 Commit Notification 2023-08-11 11:30:59 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

https://git.libreoffice.org/core/commit/50c3d02656ffb10fc103ad2bb52f0fcc1de93daf

tdf#156270: use double for width/height

It will be available in 7.6.1.

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.