Bug 134128 - caps on dashes are missing in edit mode
Summary: caps on dashes are missing in edit mode
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.0.0.0.beta1+
Hardware: All Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.2.0 target:7.1.0.0.beta2
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2020-06-18 17:52 UTC by Regina Henschel
Modified: 2020-12-09 16:33 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Some dashed lines and screenshots (20.02 KB, application/vnd.oasis.opendocument.presentation)
2020-06-18 17:52 UTC, Regina Henschel
Details
How it looks in LibreOffice 7.1 (gen) (12.13 KB, image/png)
2020-07-13 16:47 UTC, Xisco Faulí
Details
Screenshot for LO 7.1 on Windows 10 (17.21 KB, image/png)
2020-07-13 17:25 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-06-18 17:52:22 UTC
Created attachment 162185 [details]
Some dashed lines and screenshots

Make sure Skia is disabled and anti-aliasing is on.
Open attached document. It contains three lines with dashes and below each line a screenshot of the rendering in LO 6.4. 
Notice, that the caps on the dashes are missing. The caps are correct in presentation mode.

I see the error in Version: 7.0.0.0.beta1+ (x64)
Build ID: 900ffff8b5718113e5b3ab7e9fbf35b999661c39
CPU threads: 8; OS: Windows 10.0 Build 18362; UI render: default; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL

It is OK in Version: 6.4.5.0.0+ (x64)
Build ID: 70a2071ce91b71326659e645dd97996262ea309a
CPU threads: 8; OS: Windows 10.0 Build 18362; UI render: default; VCL: win; 
Locale: de-DE (en_US); UI-Language: en-US
Calc: threaded
Comment 1 Xisco Faulí 2020-07-13 16:47:19 UTC
Created attachment 162988 [details]
How it looks in LibreOffice 7.1 (gen)

I can't reproduce it in

Version: 7.1.0.0.alpha0+
Build ID: 00be56d9db396d284f66ab723d6fbb898b888dfb
CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 2 Xisco Faulí 2020-07-13 16:47:46 UTC
Hi Regina,
is this issue still reproducible with a recent master build ?
Comment 3 Xisco Faulí 2020-07-13 16:49:13 UTC
Same behaviour in

Version: 7.0.0.0.beta1+
Build ID: 2506d8221dd940dfd93d3d7c183430ba6ba3089d
CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 4 Regina Henschel 2020-07-13 17:25:53 UTC
Created attachment 162989 [details]
Screenshot for LO 7.1 on Windows 10

(In reply to Xisco Faulí from comment #2)
> Hi Regina,
> is this issue still reproducible with a recent master build ?

Yes, I still see the error in Version: 7.1.0.0.alpha0+ (x64)
Build ID: c5b985bc9bd8d56fb012260cb1685a617261e7fc
CPU threads: 8; OS: Windows 10.0 Build 18362; UI render: default; VCL: win
Locale: de-DE (en_US); UI: en-US
Calc: CL
Comment 5 QA Administrators 2020-07-14 04:04:20 UTC Comment hidden (obsolete)
Comment 6 Xisco Faulí 2020-07-14 13:14:15 UTC
Regression introduced by:

https://cgit.freedesktop.org/libreoffice/core/commit/?id=c3e098483f4db12e9502c6cbc056e3d7498b7b6c

author	Armin Le Grand (Collabora) <Armin.Le.Grand@me.com>	2020-02-11 16:33:28 +0100
committer	Armin Le Grand <Armin.Le.Grand@me.com>	2020-02-11 21:09:33 +0100
commit	c3e098483f4db12e9502c6cbc056e3d7498b7b6c (patch)
tree	aae1d4fa4c7378f44a9233e1c67990f5c6efe772
parent	aa691417bc29fe866d2a05a2b5a353567baba515 (diff)
tdf#130478 add direct dash paint in GDIPlus (win)

Bisected with: win64-7.0

ADding Cc: to Armin Le Grand (Collabora)
Comment 7 Xisco Faulí 2020-07-14 13:43:05 UTC
@Luboš Luňák, I thought you might be interested in this issue
Comment 8 Regina Henschel 2020-12-03 13:33:25 UTC
The error is in /vcl/win/gdi/gdiimpl.cxx#2351
        aPen.SetDashCap(Gdiplus::DashCapFlat);
There unconditionally "Flat" is set.

Dash caps use the same setting as the line cap (line caps are in switch(eLineCap) #2300). That was clarified in ODF 1.3.

Unfortunately it is not enough to simple use a switch here. The GDI dash cap is taken away from the dash, but the ODF dash cap is added to the dash. So likely a tweak to aDashArray is needed, similar to that used in /core/oox/source/drawingml/lineproperties.cxx for OOXML import.
Comment 9 Commit Notification 2020-12-04 06:24:23 UTC
Regina Henschel committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/24d770799660d3ec94ee7add435645794426042b

tdf#134128 Use Gdiplus::DashCapRound for round dash or dot.

It will be available in 7.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 10 Commit Notification 2020-12-09 16:33:36 UTC
Regina Henschel committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

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

tdf#134128 Use Gdiplus::DashCapRound for round dash or dot.

It will be available in 7.1.0.0.beta2.

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.