[ooo-build-commit] Branch 'ooo-build-3-1-1' - patches/dev300 patches/vba
Noel Power
noelp at kemper.freedesktop.org
Wed Oct 28 03:14:45 PDT 2009
patches/dev300/apply | 3 ++
patches/vba/vba-control-api-vis-fix.diff | 26 +++++++++++++++++
patches/vba/vba-fix-isempty.diff | 34 +++++++++++++++++++++++
patches/vba/vba-fix-wsfunction-booleanparam.diff | 22 ++++++++++++++
4 files changed, 85 insertions(+)
New commits:
commit 9aa5f574ed3bb8a2bef16dbd1256ee5503b43fc8
Author: Noel Power <npower at linux-h0uc.site>
Date: Wed Oct 28 10:02:41 2009 +0000
add missing fixes for bnc#542132, bnc#541749, bnc#541735
* patches/dev300/apply:
* patches/vba/vba-control-api-vis-fix.diff: fix for bnc#542132
* patches/vba/vba-fix-isempty.diff: bnc#541749
* patches/vba/vba-fix-wsfunction-booleanparam.diff: bnc#541735
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 156f26d..e05e745 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -1885,6 +1885,9 @@ vba-financial-functions.diff, n#525633, n#525635, n#525642, n#525647,
vba-typename-fix.diff, n#525649
vba-reenable-rowsourcefixes.diff, n#540960
vba-autofiltermode.diff, n#549383
+vba-control-api-vis-fix.diff, bnc#542132
+vba-fix-isempty.diff, bnc#541749
+vba-fix-wsfunction-booleanparam.diff, bnc#54173
[VBAUntested]
SectionOwner => noelpwer
# doesn't work
diff --git a/patches/vba/vba-control-api-vis-fix.diff b/patches/vba/vba-control-api-vis-fix.diff
new file mode 100644
index 0000000..d286725
--- /dev/null
+++ b/patches/vba/vba-control-api-vis-fix.diff
@@ -0,0 +1,26 @@
+diff --git vbahelper/source/msforms/vbacontrol.cxx vbahelper/source/msforms/vbacontrol.cxx
+index 0989548..f51cf56 100644
+--- vbahelper/source/msforms/vbacontrol.cxx
++++ vbahelper/source/msforms/vbacontrol.cxx
+@@ -189,14 +189,17 @@ void SAL_CALL ScVbaControl::setEnabled( sal_Bool bVisible ) throw (uno::RuntimeE
+
+ sal_Bool SAL_CALL ScVbaControl::getVisible() throw (uno::RuntimeException)
+ {
+- uno::Reference< awt::XWindow2 > xWindow2( getWindowPeer(), uno::UNO_QUERY_THROW );
+- return xWindow2->isVisible();
++ sal_Bool bVisible( sal_True );
++ m_xProps->getPropertyValue
++ (rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EnableVisible" ) )) >>= bVisible;
++ return bVisible;
+ }
+
+ void SAL_CALL ScVbaControl::setVisible( sal_Bool bVisible ) throw (uno::RuntimeException)
+ {
+- uno::Reference< awt::XWindow2 > xWindow2( getWindowPeer(), uno::UNO_QUERY_THROW );
+- xWindow2->setVisible( bVisible );
++ uno::Any aValue( bVisible );
++ m_xProps->setPropertyValue
++ (rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EnableVisible" ) ), aValue);
+ }
+ double SAL_CALL ScVbaControl::getHeight() throw (uno::RuntimeException)
+ {
diff --git a/patches/vba/vba-fix-isempty.diff b/patches/vba/vba-fix-isempty.diff
new file mode 100644
index 0000000..4bf3aa2
--- /dev/null
+++ b/patches/vba/vba-fix-isempty.diff
@@ -0,0 +1,34 @@
+diff --git basic/source/classes/sbunoobj.cxx basic/source/classes/sbunoobj.cxx
+index b02dca2..6abb00c 100644
+--- basic/source/classes/sbunoobj.cxx
++++ basic/source/classes/sbunoobj.cxx
+@@ -139,16 +139,19 @@ bool SbUnoObject::getDefaultPropName( SbUnoObject* pUnoObj, String& sDfltProp )
+ SbxVariable* getDefaultProp( SbxVariable* pRef )
+ {
+ SbxVariable* pDefaultProp = NULL;
+- SbxObject* pObj = PTR_CAST(SbxObject,(SbxVariable*) pRef);
+- if ( !pObj )
++ if ( pRef->GetType() == SbxOBJECT )
+ {
+- SbxBase* pObjVarObj = pRef->GetObject();
+- pObj = PTR_CAST(SbxObject,pObjVarObj);
+- }
+- if ( pObj && pObj->ISA(SbUnoObject) )
+- {
+- SbUnoObject* pUnoObj = PTR_CAST(SbUnoObject,(SbxObject*)pObj);
+- pDefaultProp = pUnoObj->GetDfltProperty();
++ SbxObject* pObj = PTR_CAST(SbxObject,(SbxVariable*) pRef);
++ if ( !pObj )
++ {
++ SbxBase* pObjVarObj = pRef->GetObject();
++ pObj = PTR_CAST(SbxObject,pObjVarObj);
++ }
++ if ( pObj && pObj->ISA(SbUnoObject) )
++ {
++ SbUnoObject* pUnoObj = PTR_CAST(SbUnoObject,(SbxObject*)pObj);
++ pDefaultProp = pUnoObj->GetDfltProperty();
++ }
+ }
+ return pDefaultProp;
+ }
+
diff --git a/patches/vba/vba-fix-wsfunction-booleanparam.diff b/patches/vba/vba-fix-wsfunction-booleanparam.diff
new file mode 100644
index 0000000..7334744
--- /dev/null
+++ b/patches/vba/vba-fix-wsfunction-booleanparam.diff
@@ -0,0 +1,22 @@
+diff --git sc/source/ui/vba/vbawsfunction.cxx sc/source/ui/vba/vbawsfunction.cxx
+index d0e7ee3..ed3a749 100644
+--- sc/source/ui/vba/vbawsfunction.cxx
++++ sc/source/ui/vba/vbawsfunction.cxx
+@@ -81,6 +81,16 @@ ScVbaWSFunction::invoke(const rtl::OUString& FunctionName, const uno::Sequence<
+ aArrayTemp[i] = myRange->getCellRange();
+ continue;
+ }
++ else if ( aArray[ i ].getValueType().getTypeClass() == uno::TypeClass_BOOLEAN )
++ {
++ sal_Bool bValue( sal_False );
++ aArray[ i ] >>= bValue;
++ if ( bValue )
++ aArrayTemp[ i ] <<= double( 1.0 );
++ else
++ aArrayTemp[ i ] <<= double( 0.0 );
++
++ }
+ else if ( aArray[ i ].getValueType().getTypeClass() == uno::TypeClass_SEQUENCE )
+ {
+ // the sheet.FunctionAccess service doesn't deal with Sequences, only Sequences of Sequence
+
More information about the ooo-build-commit
mailing list