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

New commits:
commit 6e473db9183c4c0868a751f5f5860d1d1a5a3128
Author:     Christopher Sherlock <[email protected]>
AuthorDate: Mon Jan 5 00:45:53 2026 +1100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Jan 13 11:11:33 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/+/197165
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx
index 8edf0f3be14a..e7a38df025d7 100644
--- a/vcl/source/outdev/map.cxx
+++ b/vcl/source/outdev/map.cxx
@@ -518,7 +518,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