Author: sunying
Date: Thu Aug 16 03:22:49 2012
New Revision: 1373718

URL: http://svn.apache.org/viewvc?rev=1373718&view=rev
Log:
#119515# fix the numbering bullet in table cell changed when saved to .ppt file 
Reported by: liupingtan 
Patch by: Ying Sun
Review by: Jian Yuan Li

Modified:
    incubator/ooo/trunk/main/sd/source/filter/eppt/epptso.cxx

Modified: incubator/ooo/trunk/main/sd/source/filter/eppt/epptso.cxx
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/source/filter/eppt/epptso.cxx?rev=1373718&r1=1373717&r2=1373718&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sd/source/filter/eppt/epptso.cxx (original)
+++ incubator/ooo/trunk/main/sd/source/filter/eppt/epptso.cxx Thu Aug 16 
03:22:49 2012
@@ -5733,25 +5733,37 @@ void PPTWriter::ImplCreateTable( uno::Re
                                                        ImplCreateShape( 
ESCHER_ShpInst_Rectangle, 0xa02, aSolverContainer );          // Flags: 
Connector | HasSpt | Child
                                                        
aPropOptSp.CreateFillProperties( mXPropSet, sal_True );
                                                        aPropOptSp.AddOpt( 
ESCHER_Prop_fNoLineDrawDash, 0x90000 );
-                            aPropOptSp.CreateTextProperties( mXPropSet, mnTxId 
+= 0x60, sal_False, sal_True );
+                                                       
aPropOptSp.CreateTextProperties( mXPropSet, mnTxId += 0x60, sal_False, sal_True 
);
                                                        aPropOptSp.AddOpt( 
ESCHER_Prop_WrapText, ESCHER_WrapSquare );
 
-                            SvMemoryStream aClientTextBox( 0x200, 0x200 );
-                            SvMemoryStream  aExtBu( 0x200, 0x200 );
+                                                       SvMemoryStream 
aClientTextBox( 0x200, 0x200 );
+                                                       SvMemoryStream  aExtBu( 
0x200, 0x200 );
 
-                            ImplWriteTextStyleAtom( aClientTextBox, 
EPP_TEXTTYPE_Other, 0, NULL, aExtBu, &aPropOptSp );
+                                                       ImplWriteTextStyleAtom( 
aClientTextBox, EPP_TEXTTYPE_Other, 0, NULL, aExtBu, &aPropOptSp );
 
-                            aPropOptSp.Commit( *mpStrm );
-                            mpPptEscherEx->AddAtom( 16, ESCHER_ChildAnchor );
-                            *mpStrm    << nLeft
-                                        << nTop
-                                        << nRight
-                                        << nBottom;
+                                                       // need write client 
data for extend bullet
+                                                       if ( aExtBu.Tell() )
+                                                       {
+                                                               SvMemoryStream* 
pClientData = new SvMemoryStream( 0x200, 0x200 );
+                                                               
ImplProgTagContainer( pClientData, &aExtBu );
+                                                               *mpStrm << 
(sal_uInt32)( ( ESCHER_ClientData << 16 ) | 0xf )
+                                                                       << 
(sal_uInt32)pClientData->Tell();
+
+                                                               mpStrm->Write( 
pClientData->GetData(), pClientData->Tell() );
+                                                               delete 
pClientData, pClientData = NULL;
+                                                       }
+
+                                                       aPropOptSp.Commit( 
*mpStrm );
+                                                       mpPptEscherEx->AddAtom( 
16, ESCHER_ChildAnchor );
+                                                       *mpStrm         << nLeft
+                                                               << nTop
+                                                               << nRight
+                                                               << nBottom;
 
-                            *mpStrm << (sal_uInt32)( ( ESCHER_ClientTextbox << 
16 ) | 0xf )
-                                    << (sal_uInt32)aClientTextBox.Tell();
+                                                       *mpStrm << 
(sal_uInt32)( ( ESCHER_ClientTextbox << 16 ) | 0xf )
+                                                               << 
(sal_uInt32)aClientTextBox.Tell();
 
-                            mpStrm->Write( aClientTextBox.GetData(), 
aClientTextBox.Tell() );
+                                                       mpStrm->Write( 
aClientTextBox.GetData(), aClientTextBox.Tell() );
                                                        
mpPptEscherEx->CloseContainer();
                                                }
                                        }


Reply via email to