Bug 155377 - Rounded rectangle control point can't be adjusted properly in the dialog
Summary: Rounded rectangle control point can't be adjusted properly in the dialog
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
5.1.0.3 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisectRequest, implementationError
Depends on:
Blocks: Shapes
  Show dependency treegraph
 
Reported: 2023-05-17 20:50 UTC by Aron Budea
Modified: 2025-05-25 12:15 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 Aron Budea 2023-05-17 20:50:03 UTC
- In Writer, insert a rounded rectangle,
- Move the control point all the way to the right, so the shape has half-circle ends, like a pill,
- Open right click -> Position and Size..., switch to Slant & Corner Radius, and note the Control Point 1 value (for me it's 0.82 cm, but I've seen different values as well),
- Leave dialog, move the control point to some other point,
- Open the dialog again, and enter the previous value as Control Point 1's X value.

=> The ends don't become half-circles.

Another way to test this is by opening the dialog at eg. the default size, and entering a large number as Control Point 1's X, eg. 100 cm, then pressing OK.

=> The ends should become half-circles, but they don't.

It seems the value entry field has incorrect limits.

Observed using LO 7.6.0.0.alpha0+ (2721520ca37654056c3d509657c50ee42e3dcae4), 5.1.0.3 / Ubuntu.
In 5.0.0.5 the dialog tab is different, marking this as implementationError, and adding bibisectRequest, perhaps the commit that changed the dialog can be identified.
Comment 1 Stéphane Guillou (stragu) 2023-05-19 10:41:32 UTC
Reproduced in:

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

Same in:

Version: 6.0.0.3
Build ID: 64a0f66915f38c6217de274f0aa8e15618924765
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk2; 
Locale: en-AU (en_AU.UTF-8); Calc: group

Caolán, I see you worked on this dialog for 5.1: https://wiki.documentfoundation.org/ReleaseNotes/5.1#View/Edit_Control_Points

Any idea?
Comment 2 Regina Henschel 2023-05-19 12:42:58 UTC
Reason is wrong handling of mm <-> twips conversions in Writer.

The field shows the "twips" value of the object, but names it "mm". 
If the handle distance is in reality 40mm, for example, then 40 * 72/127 = 22.68 and that value is shown in the field.

The problem might be deeper than fixing the dialog. Conversion twips<->mm bugs are for example bug 127207 and 100972.
Comment 3 QA Administrators 2025-05-19 03:10:57 UTC Comment hidden (obsolete)
Comment 4 Regina Henschel 2025-05-19 09:38:00 UTC
The error is still in Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: cb149972d5fc82f3ca8009c3e51931c8d94ee664
CPU threads: 32; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: en-US
Calc: threaded

Aron is right that it might be a problem with converting the handle limits for that field. The values are correct for a speech-bubble callout; that has no limit on its handle. The maximum value is wrong for a isosceles triangle; that has shape width as limit on its handle.
Comment 5 Saburo 2025-05-19 22:45:09 UTC
For example, insert a rounded rectangle (4cm * 2cm) and move the control point all the way to the right.

Calc, Impress and Draw show this as 1cm, but Writer shows this as 0.57cm.
The dialog appears to have been changed in the following builds, but it was grayed out on Windows. At the time, it displayed 1cm.

Version: 5.1.0.0.alpha1+
Build ID: b859d84e471fdb70b61607d2d919a7907d074bd0

author	Caolán McNamara
commit b859d84e471fdb70b61607d2d919a7907d074bd0

implement dialog control over enhanced shape control points
use case is a desire to enable viewing and setting rounded rectangle radiuses
to an exact known value