include/vbahelper/vbaapplicationbase.hxx          |    1 -
 oovbaapi/ooo/vba/XApplicationBase.idl             |    1 -
 oovbaapi/ooo/vba/excel/XApplication.idl           |    1 +
 sc/source/ui/vba/vbaapplication.cxx               |    6 ++++++
 sc/source/ui/vba/vbaapplication.hxx               |    1 +
 sw/source/ui/vba/vbaapplication.cxx               |    2 +-
 vbahelper/source/vbahelper/vbaapplicationbase.cxx |    5 -----
 7 files changed, 9 insertions(+), 8 deletions(-)

New commits:
commit a6edfaaeb02169d90d8b414c480257b1ec0bcaad
Author:     Baole Fang <baole.f...@gmail.com>
AuthorDate: Sun Mar 12 22:14:31 2023 -0400
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Mon Mar 13 15:16:24 2023 +0000

    tdf#150281: Fix CentimetersToPoints in Calc
    
    Originally, CentimetersToPoints was implemented as a base method for
    Writer and Calc. They are both using the same implementation,
    which is correct for Writer, but wrong for Calc.
    Since their behavior should be different,
    I remove the base method and implement a correct one for Calc.
    
    Change-Id: If957accdd9be86a96ca6fb711502e49a79bf3223
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148745
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/include/vbahelper/vbaapplicationbase.hxx 
b/include/vbahelper/vbaapplicationbase.hxx
index 24bac8204d7e..6c8f4460fa00 100644
--- a/include/vbahelper/vbaapplicationbase.hxx
+++ b/include/vbahelper/vbaapplicationbase.hxx
@@ -73,7 +73,6 @@ public:
 
     virtual css::uno::Any SAL_CALL Run( const OUString& MacroName, const 
css::uno::Any& varg1, const css::uno::Any& varg2, const css::uno::Any& varg3, 
const css::uno::Any& varg4, const css::uno::Any& varg5, const css::uno::Any& 
varg6, const css::uno::Any& varg7, const css::uno::Any& varg8, const 
css::uno::Any& varg9, const css::uno::Any& varg10, const css::uno::Any& varg11, 
const css::uno::Any& varg12, const css::uno::Any& varg13, const css::uno::Any& 
varg14, const css::uno::Any& varg15, const css::uno::Any& varg16, const 
css::uno::Any& varg17, const css::uno::Any& varg18, const css::uno::Any& 
varg19, const css::uno::Any& varg20, const css::uno::Any& varg21, const 
css::uno::Any& varg22, const css::uno::Any& varg23, const css::uno::Any& 
varg24, const css::uno::Any& varg25, const css::uno::Any& varg26, const 
css::uno::Any& varg27, const css::uno::Any& varg28, const css::uno::Any& 
varg29, const css::uno::Any& varg30 ) override;
     virtual void SAL_CALL OnTime( const css::uno::Any& aEarliestTime, const 
OUString& aFunction, const css::uno::Any& aLatestTime, const css::uno::Any& 
aSchedule ) override;
-    virtual float SAL_CALL CentimetersToPoints( float Centimeters ) override;
     virtual void SAL_CALL Undo() override;
     virtual void SAL_CALL Quit() override;
 
diff --git a/oovbaapi/ooo/vba/XApplicationBase.idl 
b/oovbaapi/ooo/vba/XApplicationBase.idl
index c4e968872546..3a8612516366 100644
--- a/oovbaapi/ooo/vba/XApplicationBase.idl
+++ b/oovbaapi/ooo/vba/XApplicationBase.idl
@@ -37,7 +37,6 @@ interface XApplicationBase
     any CommandBars( [in] any Index );
     any Run([in] string MacroName, [in] /*Optional*/ any varg1, [in] 
/*Optional*/ any varg2, [in] /*Optional*/ any varg3, [in] /*Optional*/ any 
varg4, [in] /*Optional*/ any varg5, [in] /*Optional*/ any varg6, [in] 
/*Optional*/ any varg7, [in] /*Optional*/ any varg8, [in] /*Optional*/ any 
varg9, [in] /*Optional*/ any varg10, [in] /*Optional*/ any varg11, [in] 
/*Optional*/ any varg12, [in] /*Optional*/ any varg13, [in] /*Optional*/ any 
varg14, [in] /*Optional*/ any varg15, [in] /*Optional*/ any varg16, [in] 
/*Optional*/ any varg17, [in] /*Optional*/ any varg18, [in] /*Optional*/ any 
varg19, [in] /*Optional*/ any varg20, [in] /*Optional*/ any varg21, [in] 
/*Optional*/ any varg22, [in] /*Optional*/ any varg23, [in] /*Optional*/ any 
varg24, [in] /*Optional*/ any varg25, [in] /*Optional*/ any varg26, [in] 
/*Optional*/ any varg27, [in] /*Optional*/ any varg28, [in] /*Optional*/ any 
varg29, [in] /*Optional*/ any varg30);
     void OnTime( [in] any EarliestTime, [in] string Procedure, [in] any 
LatestTime, [in] any Schedule );
-    float CentimetersToPoints([in] float Centimeters );
     void Undo();
 };
 
diff --git a/oovbaapi/ooo/vba/excel/XApplication.idl 
b/oovbaapi/ooo/vba/excel/XApplication.idl
index c51640abe7e4..bcdc11672c15 100644
--- a/oovbaapi/ooo/vba/excel/XApplication.idl
+++ b/oovbaapi/ooo/vba/excel/XApplication.idl
@@ -89,6 +89,7 @@ interface XApplication
         raises(com::sun::star::script::BasicErrorException);
     XRange Union([in] XRange Arg1, [in] XRange Arg2, [in] /*Optional*/ any 
Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ 
any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] 
/*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any 
Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] 
/*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any 
Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] 
/*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any 
Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] 
/*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any 
Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] 
/*Optional*/ any Arg29, [in] /*Optional*/ any Arg30)
         raises(com::sun::star::script::BasicErrorException);
+    double CentimetersToPoints([in] double Centimeters );
     double InchesToPoints( [in] double Inches );
     void Volatile([in] any Volatile);
     any Caller( [in] any Index );
diff --git a/sc/source/ui/vba/vbaapplication.cxx 
b/sc/source/ui/vba/vbaapplication.cxx
index 98c7cf7708a5..59088788b4d7 100644
--- a/sc/source/ui/vba/vbaapplication.cxx
+++ b/sc/source/ui/vba/vbaapplication.cxx
@@ -1336,6 +1336,12 @@ ScVbaApplication::InchesToPoints( double Inches )
    return result;
 }
 
+double SAL_CALL
+ScVbaApplication::CentimetersToPoints( double Centimeters )
+{
+   return o3tl::convert(Centimeters, o3tl::Length::cm, o3tl::Length::pt);
+}
+
 void
 ScVbaApplication::Volatile( const uno::Any& aVolatile )
 {
diff --git a/sc/source/ui/vba/vbaapplication.hxx 
b/sc/source/ui/vba/vbaapplication.hxx
index db9c91cdd677..3c0ed903f9d1 100644
--- a/sc/source/ui/vba/vbaapplication.hxx
+++ b/sc/source/ui/vba/vbaapplication.hxx
@@ -142,6 +142,7 @@ public:
     virtual void SAL_CALL Calculate() override;
     virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Intersect( const 
css::uno::Reference< ov::excel::XRange >& Arg1, const css::uno::Reference< 
ov::excel::XRange >& Arg2, const css::uno::Any& Arg3, const css::uno::Any& 
Arg4, const css::uno::Any& Arg5, const css::uno::Any& Arg6, const 
css::uno::Any& Arg7, const css::uno::Any& Arg8, const css::uno::Any& Arg9, 
const css::uno::Any& Arg10, const css::uno::Any& Arg11, const css::uno::Any& 
Arg12, const css::uno::Any& Arg13, const css::uno::Any& Arg14, const 
css::uno::Any& Arg15, const css::uno::Any& Arg16, const css::uno::Any& Arg17, 
const css::uno::Any& Arg18, const css::uno::Any& Arg19, const css::uno::Any& 
Arg20, const css::uno::Any& Arg21, const css::uno::Any& Arg22, const 
css::uno::Any& Arg23, const css::uno::Any& Arg24, const css::uno::Any& Arg25, 
const css::uno::Any& Arg26, const css::uno::Any& Arg27, const css::uno::Any& 
Arg28, const css::uno::Any& Arg29, const css::uno::Any& Arg30 ) override;
     virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Union( const 
css::uno::Reference< ov::excel::XRange >& Arg1, const css::uno::Reference< 
ov::excel::XRange >& Arg2, const css::uno::Any& Arg3, const css::uno::Any& 
Arg4, const css::uno::Any& Arg5, const css::uno::Any& Arg6, const 
css::uno::Any& Arg7, const css::uno::Any& Arg8, const css::uno::Any& Arg9, 
const css::uno::Any& Arg10, const css::uno::Any& Arg11, const css::uno::Any& 
Arg12, const css::uno::Any& Arg13, const css::uno::Any& Arg14, const 
css::uno::Any& Arg15, const css::uno::Any& Arg16, const css::uno::Any& Arg17, 
const css::uno::Any& Arg18, const css::uno::Any& Arg19, const css::uno::Any& 
Arg20, const css::uno::Any& Arg21, const css::uno::Any& Arg22, const 
css::uno::Any& Arg23, const css::uno::Any& Arg24, const css::uno::Any& Arg25, 
const css::uno::Any& Arg26, const css::uno::Any& Arg27, const css::uno::Any& 
Arg28, const css::uno::Any& Arg29, const css::uno::Any& Arg30 ) override;
+    virtual double SAL_CALL CentimetersToPoints( double Centimeters ) override;
     virtual double SAL_CALL InchesToPoints( double InchesToPoints ) override;
     virtual void SAL_CALL Volatile( const css::uno::Any& Volatile ) override;
     virtual css::uno::Any SAL_CALL MenuBars( const css::uno::Any& aIndex ) 
override;
diff --git a/sw/source/ui/vba/vbaapplication.cxx 
b/sw/source/ui/vba/vbaapplication.cxx
index debbd6b14b65..d3f290db28ab 100644
--- a/sw/source/ui/vba/vbaapplication.cxx
+++ b/sw/source/ui/vba/vbaapplication.cxx
@@ -354,7 +354,7 @@ void SAL_CALL SwVbaApplication::setStatusBar( const 
OUString& _statusbar )
 
 float SAL_CALL SwVbaApplication::CentimetersToPoints( float Centimeters )
 {
-    return VbaApplicationBase::CentimetersToPoints( Centimeters );
+    return o3tl::convert(Centimeters, o3tl::Length::cm, o3tl::Length::pt);
 }
 
 float SAL_CALL SwVbaApplication::PointsToCentimeters( float Points )
diff --git a/vbahelper/source/vbahelper/vbaapplicationbase.cxx 
b/vbahelper/source/vbahelper/vbaapplicationbase.cxx
index b3ba3138de28..1acf3fcb809a 100644
--- a/vbahelper/source/vbahelper/vbaapplicationbase.cxx
+++ b/vbahelper/source/vbahelper/vbaapplicationbase.cxx
@@ -407,11 +407,6 @@ void SAL_CALL VbaApplicationBase::OnTime( const uno::Any& 
aEarliestTime, const O
     }
 }
 
-float SAL_CALL VbaApplicationBase::CentimetersToPoints( float Centimeters )
-{
-    return o3tl::convert(Centimeters, o3tl::Length::cm, o3tl::Length::pt);
-}
-
 uno::Any SAL_CALL VbaApplicationBase::getVBE()
 {
     try // return empty object on error

Reply via email to