diff -urN ooo_DEV300_m84_src.orig/sc/source/ui/vba/vbasheetobjects.cxx ooo_DEV300_m84_src/sc/source/ui/vba/vbasheetobjects.cxx
--- ooo_DEV300_m84_src.orig/sc/source/ui/vba/vbasheetobjects.cxx	2010-07-01 09:53:23.000000000 +0200
+++ ooo_DEV300_m84_src/sc/source/ui/vba/vbasheetobjects.cxx	2010-07-01 09:53:45.000000000 +0200
@@ -341,8 +341,8 @@
     /*  Extract double values from passed Anys (the lclPointsToHmm() helper
         function will throw a RuntimeException on any error), and convert from
         points to 1/100 mm. */
-    awt::Point aPos( lclPointsToHmm( rLeft ), lclPointsToHmm( rTop ) );
-    awt::Size aSize( lclPointsToHmm( rWidth ), lclPointsToHmm( rHeight ) );
+    awt::Point aPos( static_cast< sal_Int32 >(lclPointsToHmm( rLeft )), static_cast< sal_Int32 >(lclPointsToHmm( rTop )) );
+    awt::Size aSize( static_cast< sal_Int32 >(lclPointsToHmm( rWidth )), static_cast< sal_Int32 >(lclPointsToHmm( rHeight )) );
     // TODO: translate coordinates for RTL sheets
     if( (aPos.X < 0) || (aPos.Y < 0) || (aSize.Width <= 0) || (aSize.Height <= 0) )
         throw uno::RuntimeException();