diff options
Diffstat (limited to 'vbahelper/source/msforms/vbacontrol.cxx')
-rw-r--r-- | vbahelper/source/msforms/vbacontrol.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/vbahelper/source/msforms/vbacontrol.cxx b/vbahelper/source/msforms/vbacontrol.cxx index 31b4244f806a..21825c9ab6f3 100644 --- a/vbahelper/source/msforms/vbacontrol.cxx +++ b/vbahelper/source/msforms/vbacontrol.cxx @@ -737,9 +737,10 @@ sal_Int32 ScVbaControl::getBackColor() throw (uno::RuntimeException) void ScVbaControl::setBackColor( sal_Int32 nBackColor ) throw (uno::RuntimeException) { - if ( ( nBackColor >= (sal_Int32)0x80000000 ) && ( nBackColor <= (sal_Int32)0x80000018 ) ) + if ( ( (sal_uInt32)nBackColor >= (sal_uInt32)0x80000000 ) && + ( (sal_uInt32)nBackColor <= (sal_uInt32)0x80000000 + SAL_N_ELEMENTS(nSysCols) ) ) { - nBackColor = nSysCols[ nBackColor - 0x80000000 ]; + nBackColor = nSysCols[ nBackColor & 0x0FF]; } m_xProps->setPropertyValue( "BackgroundColor" , uno::makeAny( XLRGBToOORGB( nBackColor ) ) ); } |