[Libreoffice-commits] .: reportdesign/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Sep 14 08:52:35 PDT 2012


 reportdesign/source/core/sdr/RptObject.cxx |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit d33453d1ca13369d9132c304c80acf19e9b1ad4e
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Fri Sep 14 14:53:20 2012 +0200

    fdo#44721 protect against negative calculated height value
    
    Change-Id: I4faedd535421eaf1e3e425f4731b3bb8831e7360

diff --git a/reportdesign/source/core/sdr/RptObject.cxx b/reportdesign/source/core/sdr/RptObject.cxx
index dd142d4..699a755 100644
--- a/reportdesign/source/core/sdr/RptObject.cxx
+++ b/reportdesign/source/core/sdr/RptObject.cxx
@@ -410,8 +410,10 @@ void OObjectBase::SetPropsFromRect(const Rectangle& _rRect)
     if ( pPage && !_rRect.IsEmpty() )
     {
         uno::Reference<report::XSection> xSection = pPage->getSection();
-        if ( xSection.is() && (static_cast<sal_uInt32>(_rRect.getHeight() + _rRect.Top()) > xSection->getHeight()) )
-            xSection->setHeight(_rRect.getHeight() + _rRect.Top());
+        assert(_rRect.getHeight() >= 0);
+        const sal_uInt32 newHeight( ::std::max(0l, _rRect.getHeight()+_rRect.Top()) );
+        if ( xSection.is() && ( newHeight > xSection->getHeight() ) )
+            xSection->setHeight( newHeight );
 
         // TODO
         //pModel->GetRefDevice()->Invalidate(INVALIDATE_CHILDREN);


More information about the Libreoffice-commits mailing list