You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by cl...@apache.org on 2014/05/26 05:03:06 UTC

svn commit: r1597503 - in /openoffice/trunk/main/oox: inc/oox/xls/richstring.hxx source/xls/richstring.cxx

Author: clarence_guo
Date: Mon May 26 03:03:05 2014
New Revision: 1597503

URL: http://svn.apache.org/r1597503
Log:
for #i124928, rich text portion could be converted several times, each time when it is converted, the string will be set once, but in the setString logic, the text is inserted instead of set.
Repeated conversion is unnecessary, add a flag to avoid repeated conversion

Modified:
    openoffice/trunk/main/oox/inc/oox/xls/richstring.hxx
    openoffice/trunk/main/oox/source/xls/richstring.cxx

Modified: openoffice/trunk/main/oox/inc/oox/xls/richstring.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/oox/inc/oox/xls/richstring.hxx?rev=1597503&r1=1597502&r2=1597503&view=diff
==============================================================================
--- openoffice/trunk/main/oox/inc/oox/xls/richstring.hxx (original)
+++ openoffice/trunk/main/oox/inc/oox/xls/richstring.hxx Mon May 26 03:03:05 2014
@@ -78,6 +78,7 @@ private:
     ::rtl::OUString     maText;         /// Portion text.
     FontRef             mxFont;         /// Embedded portion font, may be empty.
     sal_Int32           mnFontId;       /// Link to global font list.
+    bool                mbConverted;    /// Without repeatly convert
 };
 
 typedef ::boost::shared_ptr< RichStringPortion > RichStringPortionRef;

Modified: openoffice/trunk/main/oox/source/xls/richstring.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/oox/source/xls/richstring.cxx?rev=1597503&r1=1597502&r2=1597503&view=diff
==============================================================================
--- openoffice/trunk/main/oox/source/xls/richstring.cxx (original)
+++ openoffice/trunk/main/oox/source/xls/richstring.cxx Mon May 26 03:03:05 2014
@@ -19,8 +19,6 @@
  * 
  *************************************************************/
 
-
-
 #include "oox/xls/richstring.hxx"
 
 #include <com/sun/star/text/XText.hpp>
@@ -59,7 +57,8 @@ inline bool lclNeedsRichTextFormat( cons
 
 RichStringPortion::RichStringPortion( const WorkbookHelper& rHelper ) :
     WorkbookHelper( rHelper ),
-    mnFontId( -1 )
+    mnFontId( -1 ),
+    mbConverted( false )
 {
 }
 
@@ -89,6 +88,9 @@ void RichStringPortion::finalizeImport()
 
 void RichStringPortion::convert( const Reference< XText >& rxText, const Font* pFont, bool bReplace )
 {
+    if ( mbConverted )
+        return;
+
     Reference< XTextRange > xRange;
     if( bReplace )
         xRange.set( rxText, UNO_QUERY );
@@ -113,6 +115,8 @@ void RichStringPortion::convert( const R
             pFont->writeToPropertySet( aPropSet, FONT_PROPTYPE_TEXT );
         }
     }
+
+    mbConverted = true;
 }
 
 // ----------------------------------------------------------------------------