[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 2 commits - oox/source sc/source

Andre Fischer af at apache.org
Thu Jan 16 02:07:48 PST 2014


 oox/source/ppt/timenodelistcontext.cxx |   17 +++++++++++------
 sc/source/core/data/table2.cxx         |   26 ++++++++++++++++----------
 2 files changed, 27 insertions(+), 16 deletions(-)

New commits:
commit 1ae5f9052eb3d60d644533a0581cd3db39218455
Author: Andre Fischer <af at apache.org>
Date:   Thu Jan 16 09:54:36 2014 +0000

    123166: Made the update of maRowManualBreaks more conservative.

diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 114c384..544a265 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -155,18 +155,24 @@ void ScTable::InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE
 
         if (!maRowManualBreaks.empty())
         {
-            std::set<SCROW>::reverse_iterator rit = maRowManualBreaks.rbegin();
-            while (rit != maRowManualBreaks.rend())
+            std::vector<SCROW> aUpdatedBreaks;
+
+            while ( ! maRowManualBreaks.empty())
             {
-                SCROW nRow = *rit;
-                if (nRow < nStartRow)
-                    break;  // while
-                else
-                {
-                    maRowManualBreaks.erase( (++rit).base());
-                    maRowManualBreaks.insert( static_cast<SCROW>( nRow + nSize));
-                }
+                std::set<SCROW>::iterator aLast (--maRowManualBreaks.end());
+
+                // Check if there are more entries that have to be processed.
+                if (*aLast < nStartRow)
+                    break;
+
+                // Remember the updated break location and erase the entry.
+                aUpdatedBreaks.push_back(static_cast<SCROW>(*aLast + nSize));
+                maRowManualBreaks.erase(aLast);
             }
+
+            // Insert the updated break locations.
+            if ( ! aUpdatedBreaks.empty())
+                maRowManualBreaks.insert(aUpdatedBreaks.begin(), aUpdatedBreaks.end());
         }
     }
 
commit 641aa4b583e27369b404584d094e0758a93ce5b5
Author: Steve Yin <steve_y at apache.org>
Date:   Thu Jan 16 08:29:37 2014 +0000

    Bug 119578 - [From Symphony]Lighten special effect in .PPTX won't display

diff --git a/oox/source/ppt/timenodelistcontext.cxx b/oox/source/ppt/timenodelistcontext.cxx
index 0112889..e99d9fa 100644
--- a/oox/source/ppt/timenodelistcontext.cxx
+++ b/oox/source/ppt/timenodelistcontext.cxx
@@ -76,27 +76,32 @@ namespace oox { namespace ppt {
             {
             }
 
-        sal_Int32 get()
+        Any get()
             {
                 sal_Int32 nColor;
+                Sequence< double > aHSL( 3 );
+                Any aColor;
 
                 switch( colorSpace )
                 {
                 case AnimationColorSpace::HSL:
-                    nColor = ( ( ( one * 128 ) / 360 ) & 0xff ) << 16
-                        | ( ( ( two * 128 ) / 1000 ) & 0xff ) << 8
-                        | ( ( ( three * 128 ) / 1000 )  & 0xff );
+                    aHSL[ 0 ] = double(one) / 100000;
+                    aHSL[ 1 ] = double(two) / 100000;
+                    aHSL[ 2 ] = double(three) / 100000;
+                    aColor = Any(aHSL);
                     break;
                 case AnimationColorSpace::RGB:
                     nColor = ( ( ( one * 128 ) / 1000 ) & 0xff ) << 16
                         | ( ( ( two * 128 ) / 1000 ) & 0xff ) << 8
                         | ( ( ( three * 128 ) / 1000 )  & 0xff );
+                    aColor = Any(nColor);
                     break;
                 default:
                     nColor = 0;
+                    aColor = Any( nColor );
                     break;
                 }
-                return  nColor;
+                return  aColor;
             }
 
         sal_Int16 colorSpace;
@@ -504,7 +509,7 @@ namespace oox { namespace ppt {
                     if( maFromClr.isUsed() )
                         mpNode->setFrom( Any( maFromClr.getColor( rGraphicHelper ) ) );
                     if( mbHasByColor )
-                        mpNode->setBy( Any ( m_byColor.get() ) );
+                        mpNode->setBy( m_byColor.get() );
                 }
             }
 


More information about the Libreoffice-commits mailing list