Bug 136176 - Wrong object position after filesave and fileopen/reload if slant is used on a vertically flipped object in draw
Summary: Wrong object position after filesave and fileopen/reload if slant is used on ...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
4.2.0.4 release
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.1.0 target:7.0.3
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Shapes
  Show dependency treegraph
 
Reported: 2020-08-27 11:04 UTC by manfred.benesch
Modified: 2020-09-29 13:57 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
sample file with comparison between flipped and not flipped objcet (9.94 KB, application/vnd.oasis.opendocument.graphics)
2020-08-27 11:06 UTC, manfred.benesch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description manfred.benesch 2020-08-27 11:04:32 UTC
Description:
Draw does not store and reload drawings like they are shown if a object make use of slant.
After apply an slant by e.g. clicking twice on a vertically flipped object all looks ok.
After saving and reload or close and open again the objects position is not the same before saving.

Steps to Reproduce:
1.open a new draw document
2.draw an object, e.g. a rectangle); better two next to each other to show the effect
3.flip one of the rectangles vertically
4.apply a slant on the flipped one by clicking twice or use position and size (f4) and change slant angle on Slant & Corner Radius
4.save the document
5.close and open the document again or just use reload

Actual Results:
the position of the object formatted with a slant is not the same as before saving the document

Expected Results:
the formatted object should have the same position as before saving the document


Reproducible: Always


User Profile Reset: Yes



Additional Info:
the use of vertical flip and the slant is the minimal example found after many variations, so the two steps of vertically flipping and the slant are obligatory in this order:
first flip vertically then apply the slant

tried with different versions of libreoffice draw:
6.1.5.2; 6.3.6.2, 6.4.6.2 and 7.0.0.3
tried with normal user profile as well as in safe mode and disabled hardware acceleration
Comment 1 manfred.benesch 2020-08-27 11:06:27 UTC
Created attachment 164743 [details]
sample file with comparison between flipped and not flipped objcet
Comment 2 Buovjaga 2020-09-13 14:03:12 UTC
Bibisected the position change with Linux 42max repo to https://git.libreoffice.org/core/commit/efce445d0eb5709b86499e8f79f933d918cb3dd6
Resolves: #i55394# solve mirror problem for CustomShapes

Adding Cc: to Regina Henschel
Comment 3 Regina Henschel 2020-09-13 17:56:21 UTC
I see, that result for first mirror and then slant is broken. It is already wrong when creating the object. Using a not symmetric shape, e.g. the flash, makes it immediately visible. There seems to be an additional 180° rotation.
But I have currently no time for a closer look, perhaps in two weeks.
Comment 4 Commit Notification 2020-09-23 18:22:20 UTC
Regina Henschel committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/3b4198d4654e4cf569f9b82d87a2498dbbecb9ac

tdf#136176 Correct update fObjectRotation in NbcShear

It will be available in 7.1.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 5 Buovjaga 2020-09-24 11:21:22 UTC
Thanks, Regina, I verify the fix. Feel free to change status

Arch Linux 64-bit
Version: 7.1.0.0.alpha0+
Build ID: d98ac4d2c584313c1e51630c6fbab8f8a092012c
CPU threads: 8; OS: Linux 5.8; UI render: default; VCL: kf5
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 24 September 2020
Comment 6 Xisco Faulí 2020-09-29 11:56:40 UTC
(In reply to Buovjaga from comment #5)
> Thanks, Regina, I verify the fix. Feel free to change status
> 
> Arch Linux 64-bit
> Version: 7.1.0.0.alpha0+
> Build ID: d98ac4d2c584313c1e51630c6fbab8f8a092012c
> CPU threads: 8; OS: Linux 5.8; UI render: default; VCL: kf5
> Locale: fi-FI (fi_FI.UTF-8); UI: en-US
> Calc: threaded
> Built on 24 September 2020

Setting to VERIFIED
Comment 7 Commit Notification 2020-09-29 13:57:54 UTC
Regina Henschel committed a patch related to this issue.
It has been pushed to "libreoffice-7-0":

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

tdf#136176 Correct update fObjectRotation in NbcShear

It will be available in 7.0.3.

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.