Bug 164623 - FILEOPEN PPTX: Connector lines completely gone awry
Summary: FILEOPEN PPTX: Connector lines completely gone awry
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
24.8.4.2 release
Hardware: All All
: medium normal
Assignee: Xisco Faulí
URL:
Whiteboard: target:25.8.0 target:25.2.5
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Connectors PPTX-line-connector-import
  Show dependency treegraph
 
Reported: 2025-01-07 15:02 UTC by Gerald Pfeifer
Modified: 2025-05-23 10:07 UTC (History)
8 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample slide (PPTX) (381.89 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2025-01-07 15:02 UTC, Gerald Pfeifer
Details
Visual comparision 7.3 - 7.5 - 24.8 (59.59 KB, image/png)
2025-01-07 15:05 UTC, Gerald Pfeifer
Details
Two shapes with connector on Drawing Canvas (20.62 KB, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
2025-01-08 15:18 UTC, Regina Henschel
Details
simplify document (36.87 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2025-05-21 11:34 UTC, Xisco Faulí
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerald Pfeifer 2025-01-07 15:02:00 UTC
Created attachment 198415 [details]
Sample slide (PPTX)

This is a major regression in two steps: 

0. Version: 7.3.8.0.0+ / LibreOffice Community
   Build ID: 0f7fb0a2decec3f8869098ae5e47ee6055545486
   CPU threads: 12; OS: Linux 6.11; UI render: default; VCL: gtk3
   Locale: en-US (en_US.UTF-8); UI: en-US

shows things just fine, like Microsoft Office.

1. Version: 7.5.6.0.0+ (X86_64) / LibreOffice Community
   Build ID: 0a5c49aa4f65c8e661f7da3934ab9bea8cacf662
   CPU threads: 12; OS: Linux 6.11; UI render: default; VCL: gtk3
   Locale: en-US (en_US.UTF-8); UI: en-US

   (or maybe 7.4 already, I lost that)

- routes the connector into the pink box very differently (overlapping
  the target shape),
- extends the "amplitude" of the zig-zag connectors.

2. Version: 24.8.5.0.0+ (X86_64) / LibreOffice Community
   Build ID: 47b672fd0ed5af7b93cfac676ac64bacaeeb8fc5
   CPU threads: 12; OS: Linux 6.11; UI render: default; VCL: gtk3
   Locale: en-US (en_US.UTF-8); UI: en-US

- creates completely, utterly different routings.


I suggest to initially focus on the second, bigger regression.

(See attached screenshot for a side-by-side comparison. Note that 7.3
got it completely right!)
Comment 1 Gerald Pfeifer 2025-01-07 15:05:32 UTC
Created attachment 198416 [details]
Visual comparision 7.3 - 7.5 - 24.8
Comment 2 m_a_riosv 2025-01-07 16:12:03 UTC
Reproducible with
Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: c034a21f359db6bd8ba7b4938d4501bbcc87e21d
CPU threads: 16; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Vulkan; VCL: win
Locale: en-US (es_ES); UI: en-US
Calc: CL threaded

Latest version that works on the ones I have installed.
Version: 24.2.7.2 (X86_64) / LibreOffice Community
Build ID: ee3885777aa7032db5a9b65deec9457448a91162
CPU threads: 16; OS: Windows 10.0 Build 26100; UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: es-ES
Calc: CL threaded
Comment 3 Regina Henschel 2025-01-08 15:18:06 UTC
Created attachment 198434 [details]
Two shapes with connector on Drawing Canvas

The wrong routing exists too in Writer. The attached file has two shapes and a connector between them. They are on a drawing canvas, because Word needs a drawing canvas to be able to use connectors.

Routing fails in Version: Version: 24.8.1.2 (X86_64) / LibreOffice Community
Build ID: 87fa9aec1a63e70835390b81c40bb8993f1d4ff6
CPU threads: 32; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: en-US
Calc: threaded

Routing was OK in Version: 24.2.1.2 (X86_64) / LibreOffice Community
Build ID: db4def46b0453cc22e2d0305797cf981b68ef5ac
CPU threads: 32; OS: Windows 10.0 Build 26100; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: en-US
Calc: threaded
Comment 4 raal 2025-01-11 12:03:29 UTC
(In reply to Regina Henschel from comment #3)
> Created attachment 198434 [details]
> Two shapes with connector on Drawing Canvas
> 
> The wrong routing exists too in Writer.

This seems to have begun at the below commit in bibisect repository/OS linux-64-24.8.
Adding Cc: to Tibor Nagy ; Could you possibly take a look at this one?
Thanks
 a39bd610e84121c942e13871e0ed880bf3d1287b is the first bad commit
commit a39bd610e84121c942e13871e0ed880bf3d1287b
Author: Jenkins Build User <tdf@maggie.tdf>
Date:   Mon Jul 8 12:28:47 2024 +0200

    source 7911041df4692d68f115c853689174f265d74820

170089: Add escape direction support for glue points in the preset shapes | https://gerrit.libreoffice.org/c/core/+/170089
Comment 5 raal 2025-01-11 12:13:35 UTC
(In reply to Gerald Pfeifer from comment #0)
> Created attachment 198415 [details]
> Sample slide (PPTX)
> 
> This is a major regression in two steps: 
> 
> 0. Version: 7.3.8.0.0+ / LibreOffice Community
>    Build ID: 0f7fb0a2decec3f8869098ae5e47ee6055545486
>    CPU threads: 12; OS: Linux 6.11; UI render: default; VCL: gtk3
>    Locale: en-US (en_US.UTF-8); UI: en-US
> 
> shows things just fine, like Microsoft Office.
> 
> 1. Version: 7.5.6.0.0+ (X86_64) / LibreOffice Community
>    Build ID: 0a5c49aa4f65c8e661f7da3934ab9bea8cacf662
>    CPU threads: 12; OS: Linux 6.11; UI render: default; VCL: gtk3
>    Locale: en-US (en_US.UTF-8); UI: en-US
> 
>    (or maybe 7.4 already, I lost that)
> 
> - routes the connector into the pink box very differently (overlapping
>   the target shape),
> - extends the "amplitude" of the zig-zag connectors.
> 
This seems to have begun at the below commit in bibisect repository/OS linux-64-7.4.
Adding Cc: to Nagy Tibor ; Could you possibly take a look at this one?
Thanks
 f0f89cb5c7211e1a166266b7b7a083d685005230 is the first bad commit
commit f0f89cb5c7211e1a166266b7b7a083d685005230
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Tue Mar 29 16:28:25 2022 +0200

    source cbf66ec3e60d07efb7c3cceed9b4f0fb4f0510c8

131303: tdf#89449 PPTX import: fix line connectors | https://gerrit.libreoffice.org/c/core/+/131303
Comment 6 raal 2025-01-11 12:21:41 UTC
(In reply to Gerald Pfeifer from comment #0)
> Created attachment 198415 [details]
> Sample slide (PPTX)
> 
> 2. Version: 24.8.5.0.0+ (X86_64) / LibreOffice Community
>    Build ID: 47b672fd0ed5af7b93cfac676ac64bacaeeb8fc5
>    CPU threads: 12; OS: Linux 6.11; UI render: default; VCL: gtk3
>    Locale: en-US (en_US.UTF-8); UI: en-US
> 
> - creates completely, utterly different routings.
> 
> 
This seems to have begun at the below commit in bibisect repository/OS linux-64-24.8.
Adding Cc: to Tibor Nagy ; Could you possibly take a look at this one?
Thanks
 bbf5f23315640796c2aeff096a57ae8343c6dc79 is the first bad commit
commit bbf5f23315640796c2aeff096a57ae8343c6dc79
Author: Jenkins Build User <tdf@maggie.tdf>
Date:   Sun Jul 7 12:19:38 2024 +0200

    source 80bb33a5bf3ffc5bb8b05ca9bb7980543337156b

169818: tdf#157172 tdf#157460 PPTX import: fix connectors adjustment values | https://gerrit.libreoffice.org/c/core/+/169818
Comment 7 Xisco Faulí 2025-05-21 10:22:56 UTC
There was a regression with attachment 198434 [details] that I reported in bug 166672
Comment 8 Xisco Faulí 2025-05-21 11:34:41 UTC
Created attachment 200896 [details]
simplify document
Comment 9 Xisco Faulí 2025-05-21 11:42:48 UTC
The document has something like

<p:spPr>
  <a:xfrm rot="-5400000">
   <a:off x="275625" y="2784300"/>
   <a:ext cx="1949400" cy="517800"/>
  </a:xfrm>
  <a:prstGeom prst="bentConnector3">
  ...
</p:spPr>

if it's changed to

<p:spPr>
  <a:xfrm rot="5400000" flipH="1" flipV="1">
   <a:off x="275625" y="2784300"/>
   <a:ext cx="1949400" cy="517800"/>
  </a:xfrm>
  <a:prstGeom prst="bentConnector3">
  ...
</p:spPr>

then it works correctly...
Comment 10 Xisco Faulí 2025-05-21 12:33:50 UTC
Patch in https://gerrit.libreoffice.org/c/core/+/185610
Comment 11 Commit Notification 2025-05-21 18:36:22 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "master":

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

tdf#164623: handle negative rotations

It will be available in 25.8.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 12 Commit Notification 2025-05-23 08:11:44 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "libreoffice-25-2":

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

tdf#164623: handle negative rotations

It will be available in 25.2.5.

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 13 Gerald Pfeifer 2025-05-23 10:07:53 UTC
I'm not sure how (and whether this was all fixed by handling negative
rotations), alas ... happy to confirm that *both* regressions I reported
here, the one between 7.3 and 7.5 and the one between 7.5 an 24.8 are
gone.

Last night's build

  Version: 25.8.0.0.alpha1+ (X86_64) / LibreOffice Community
  Build ID: 3158b14e0b26875300a8098bc117a5e69b76f48f
  CPU threads: 12; OS: Linux 6.14; UI render: default; VCL: gtk3
  Locale: en-US (en_US.UTF-8); UI: en-US

displays the sample document as 7.3 did and PowerPoint does.

Thank you, Xisco!