Bug 131137 - Checkbox "Do not distort objects in curve" does nothing
Summary: Checkbox "Do not distort objects in curve" does nothing
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
7.0.0.0.alpha0+
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Julien Nabet
URL:
Whiteboard: target:7.0.0 target:6.4.3
Keywords: bibisectNotNeeded, regression
Depends on:
Blocks:
 
Reported: 2020-03-04 23:19 UTC by Regina Henschel
Modified: 2020-03-09 12:50 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
intended behavior (13.14 KB, application/vnd.oasis.opendocument.graphics)
2020-03-05 15:05 UTC, Regina Henschel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Regina Henschel 2020-03-04 23:19:41 UTC
Start Draw. Go to Tools > Options > General. Check the options "Do not distort objects in curve". The help says about it:"Maintains relative alignment of Bézier points and 2D drawing objects to each other when you distort the object."

Go back to Draw and try something which corresponds to the help text. I can not see any difference to the behavior with checkbox not checked.

Go back to Tools > Options > General. Notice, the checkbox is no longer checked.

So something is wrong:
Feature does not exist => remove checkbox
Checkbox is defect or feature is broken => repair
It works as intended => Improve help text about this feature.
Comment 1 Julien Nabet 2020-03-05 13:26:01 UTC
On Win10 with master sources updated today, I confirm that if I check the option, click "OK", close and reopen this dialog, the checkbox is disabled.
Comment 2 Julien Nabet 2020-03-05 13:27:35 UTC
I could reproduce the checkbox pb on LO 6.4.1, I didn't test the rest.
Comment 3 Julien Nabet 2020-03-05 13:38:25 UTC
UI is in sd/uiconfig/simpress/ui/optimpressgeneralpage.ui

If we compare m_xCbxCopy for "Copy when moving" and m_xCbxDistrot for "Do not distort objects in curve"

https://opengrok.libreoffice.org/search?project=core&full=m_xCbxCopy&defs=&refs=&path=&hist=&type=&si=full

https://opengrok.libreoffice.org/search?project=core&full=m_xCbxDistrot&defs=&refs=&path=&hist=&type=&si=full

m_xCbxDistrot seems unused (just hide or show it).

We must dig more to know if it's been always like this or not.
Comment 4 Julien Nabet 2020-03-05 14:26:17 UTC
Looking back the history:
commit ca6574af948f473691d331f0f2ccf17907465c9e
Author: Caolán McNamara <caolanm@redhat.com>
Date:   Mon Jul 29 10:46:34 2019 +0100

    weld SdTpOptionsMisc


commit 6a80a5ae710a7f9357534ad890dffe5391af709b
Author: Abdulaziz A Alayed <aalayed@kacst.edu.sa>
Date:   Tue Jun 4 11:20:10 2013 +0200

    Convert impress and draw general option to .ui

"m_xCbxDistrot" (was "m_pCbxDistrot" before welding) corresponds to aCbxCrookNoContortion
In fact, I think it should be "m_xCbxDistort" and "distortcb" instead of "distrotcb"

When comparing the number of times "aCbxCrookNoContortion" and the number of times "m_pCbxDistrot" has been used, there was some lacking.

So I suppose the regression is from this commit.
I think that LO 4.1 for example was ok.

Regina: I may give it a try if you're ok.
Comment 5 Regina Henschel 2020-03-05 15:05:48 UTC
Created attachment 158412 [details]
intended behavior

(In reply to Julien Nabet from comment #4)
> Regina: I may give it a try if you're ok.

Of cause, I have a lot of other things to work on.

For testing do this: Draw a square and convert it to curve. Duplicate it e.g. 12 times with 0.5 cm offset (menu Edit > Duplicate).
Mark all shapes together and use the tool "Set in circle (perspective)". Drag the top-right corner and drag it so that the preview shows half of a ring.
In case the option 'Do not distort objects in curve' is checked, you should get the squares arranged to a ring. If the option is not checked, you should get shapes, which are part of a circle-sector arranged as ring.

I have attached an example generated by Apache OpenOffice.
Comment 6 Julien Nabet 2020-03-05 15:46:00 UTC
Ok I'll give it a try.
Thank you Regina for the test procedure.
Comment 7 Julien Nabet 2020-03-05 17:42:17 UTC
Patch on review here:
https://gerrit.libreoffice.org/c/core/+/90054
Comment 8 Commit Notification 2020-03-06 06:05:56 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/6d9930f307f08d2c32ee1bcca577cf643955cec9

tdf#131137: Fix Checkbox "Do not distort objects in curve" does nothing

It will be available in 7.0.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 9 Commit Notification 2020-03-08 14:14:54 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-6-4":

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

tdf#131137: Fix Checkbox "Do not distort objects in curve" does nothing

It will be available in 6.4.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.
Comment 10 Regina Henschel 2020-03-09 12:24:26 UTC
Works fine now in Version: 7.0.0.0.alpha0+ (x64)
Build ID: f61fa885ed929e7d4aea4d84b2ddadea4825eb18
CPU threads: 8; OS: Windows 10.0 Build 18362; UI render: default; VCL: win; 
Locale: de-DE (en_US); UI-Language: en-US
Calc: CL
Comment 11 Julien Nabet 2020-03-09 12:49:58 UTC
Thank you Regina for your feedback.
Comment 12 Julien Nabet 2020-03-09 12:50:32 UTC
According to your last comment, let's put this one to VERIFIED.