vcl/source/outdev/map.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 43759b2b1c7a64dfb84b7989490514caffd9ac6a
Author:     Christopher Sherlock <[email protected]>
AuthorDate: Mon Jan 5 00:45:53 2026 +1100
Commit:     Dan Williams <[email protected]>
CommitDate: Tue Jan 13 07:03:11 2026 +0100

    vcl: fix error in ImplLogicToDevicePixel()
    
    In the logic for transforming Bezier curves, the calculation for the
    second control point (aC2) was accidentally assigning to the first
    control point variable (aC1).
    
    This left aC2 uninitialized (defaulting to 0,0) and corrupted aC1,
    causing Bezier curves to visually collapse towards the origin.
    
    Change-Id: I48572679e78146226dd09a011c57609fc1de3794
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196520
    Reviewed-by: Dan Williams <[email protected]>
    Tested-by: Jenkins

diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx
index da9b3c4e6878..1bb4548d9d6f 100644
--- a/vcl/source/outdev/map.cxx
+++ b/vcl/source/outdev/map.cxx
@@ -516,7 +516,7 @@ basegfx::B2DPolygon 
OutputDevice::ImplLogicToDevicePixel(const basegfx::B2DPolyg
             {
                 const basegfx::B2DPoint aB2DC2(aPoly.getNextControlPoint(i));
 
-                aC1 = basegfx::B2DPoint(aB2DC2.getX() + mnOutOffX, 
aB2DC2.getY() + mnOutOffY);
+                aC2 = basegfx::B2DPoint(aB2DC2.getX() + mnOutOffX, 
aB2DC2.getY() + mnOutOffY);
             }
 
             aPoly.setB2DPoint(i, aPt);

Reply via email to