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

New commits:
commit a544bdd27f132343270254924bd0a5ac874555c7
Author:     Christopher Sherlock <[email protected]>
AuthorDate: Mon Jan 5 00:45:53 2026 +1100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Jan 13 12:50:18 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
    (cherry picked from commit 43759b2b1c7a64dfb84b7989490514caffd9ac6a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197164
    Reviewed-by: Xisco Fauli <[email protected]>

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