Commits

Thomas Lange [tl]  committed 7728d67

Backed out changeset 6e92348a7b57

revert last changes before applying complete patch file

  • Participants
  • Parent commits 6e92348

Comments (0)

Files changed (3)

File editeng/source/editeng/editdoc.cxx

 	: SfxItemPool( String( "EditEngineItemPool", RTL_TEXTENCODING_ASCII_US ), EE_ITEMS_START, EE_ITEMS_END,
 					aItemInfos, 0, bPersistenRefCounts )
 {
+	SetVersionMap( 1, 3999, 4015, aV1Map );
+	SetVersionMap( 2, 3999, 4019, aV2Map );
+	SetVersionMap( 3, 3997, 4020, aV3Map );
+	SetVersionMap( 4, 3994, 4022, aV4Map );
+	SetVersionMap( 5, 3994, 4037, aV5Map );
+
 	DBG_ASSERT( EE_DLL(), "EditDLL?!" );
 	SfxPoolItem** ppDefItems = EE_DLL()->GetGlobalData()->GetDefItems();
 	SetDefaults( ppDefItems );

File sc/source/core/data/attarray.cxx

 //
 
 
+#if 0
+void ScAttrArray::Save( SvStream& /* rStream */ ) const
+{
+#if SC_ROWLIMIT_STREAM_ACCESS
+#error address types changed!
+    ScWriteHeader aHdr( rStream, 8 );
+
+    ScDocumentPool* pDocPool = pDocument->GetPool();
+
+    USHORT nSaveCount = nCount;
+    SCROW nSaveMaxRow = pDocument->GetSrcMaxRow();
+    if ( nSaveMaxRow != MAXROW )
+    {
+        if ( nSaveCount > 1 && pData[nSaveCount-2].nRow >= nSaveMaxRow )
+        {
+            pDocument->SetLostData();           // Warnung ausgeben
+            do
+                --nSaveCount;
+            while ( nSaveCount > 1 && pData[nSaveCount-2].nRow >= nSaveMaxRow );
+        }
+    }
+
+    rStream << nSaveCount;
+
+    const SfxPoolItem* pItem;
+    for (SCSIZE i=0; i<nSaveCount; i++)
+    {
+        rStream << Min( pData[i].nRow, nSaveMaxRow );
+
+        const ScPatternAttr* pPattern = pData[i].pPattern;
+        pDocPool->StoreSurrogate( rStream, pPattern );
+
+        //	FALSE, weil ATTR_CONDITIONAL (noch) nicht in Vorlagen:
+        if (pPattern->GetItemSet().GetItemState(ATTR_CONDITIONAL,FALSE,&pItem) == SFX_ITEM_SET)
+            pDocument->SetConditionalUsed( ((const SfxUInt32Item*)pItem)->GetValue() );
+
+        if (pPattern->GetItemSet().GetItemState(ATTR_VALIDDATA,FALSE,&pItem) == SFX_ITEM_SET)
+            pDocument->SetValidationUsed( ((const SfxUInt32Item*)pItem)->GetValue() );
+    }
+#endif // SC_ROWLIMIT_STREAM_ACCESS
+}
+
+
+void ScAttrArray::Load( SvStream& /* rStream */ )
+{
+#if SC_ROWLIMIT_STREAM_ACCESS
+#error address types changed!
+    ScDocumentPool* pDocPool = pDocument->GetPool();
+
+    ScReadHeader aHdr( rStream );
+
+    USHORT nNewCount;
+    rStream >> nNewCount;
+    if ( nNewCount > MAXROW+1 )                     // wuerde das Array zu gross?
+    {
+        pDocument->SetLostData();
+        rStream.SetError( SVSTREAM_FILEFORMAT_ERROR );
+        return;
+    }
+
+    Reset( pDocument->GetDefPattern(), FALSE );     // loeschen
+    pData = new ScAttrEntry[nNewCount];             // neu anlegen
+    for (SCSIZE i=0; i<nNewCount; i++)
+    {
+        rStream >> pData[i].nRow;
+
+        USHORT nWhich = ATTR_PATTERN;
+        const ScPatternAttr* pNewPattern = (const ScPatternAttr*)
+                                           pDocPool->LoadSurrogate( rStream, nWhich, ATTR_PATTERN );
+        if (!pNewPattern)
+        {
+            // da is was schiefgelaufen
+            DBG_ERROR("ScAttrArray::Load: Surrogat nicht im Pool");
+            pNewPattern = pDocument->GetDefPattern();
+        }
+        ScDocumentPool::CheckRef( *pNewPattern );
+        pData[i].pPattern = pNewPattern;
+
+        // LoadSurrogate erhoeht auch die Ref
+    }
+    nCount = nLimit = nNewCount;
+
+    if ( nCount > 1 && pData[nCount-2].nRow >= MAXROW ) // faengt ein Attribut hinter MAXROW an?
+    {
+        pDocument->SetLostData();
+        rStream.SetError( SVSTREAM_FILEFORMAT_ERROR );
+        return;
+    }
+
+    if ( pDocument->GetSrcMaxRow() != MAXROW )          // Ende anpassen?
+    {
+        //	Ende immer auf MAXROW umsetzen (nur auf 32 Bit)
+
+        DBG_ASSERT( pData[nCount-1].nRow == pDocument->GetSrcMaxRow(), "Attribut-Ende ?!?" );
+        pData[nCount-1].nRow = MAXROW;
+    }
+#endif // SC_ROWLIMIT_STREAM_ACCESS
+}
+#endif
+
 
 //UNUSED2008-05  void ScAttrArray::ConvertFontsAfterLoad()
 //UNUSED2008-05  {

File sc/source/core/data/docpool.cxx

 
 	if ( pSecondary )
 		SetSecondaryPool( pSecondary );
+
+	// ATTR_LANGUAGE_FORMAT ab sv329 eingefuegt, VersionMap in _ScGlobal__Init
+	SetVersionMap( 1, 100, 157, pVersionMap1 );
+
+	// ATTR_VALIDDATA, ATTR_CONDITIONAL ab 341
+	SetVersionMap( 2, 100, 158, pVersionMap2 );
+
+	// ATTR_INDENT ab 350
+	SetVersionMap( 3, 100, 160, pVersionMap3 );
+
+	// ATTR_ROTATE_VALUE, ATTR_ROTATE_MODE ab 367
+	SetVersionMap( 4, 100, 161, pVersionMap4 );
+
+	// CJK, CTL, EMPHASISMARK, TWOLINES from 614
+	SetVersionMap( 5, 100, 163, pVersionMap5 );
+
+	// ATTR_SCRIPTSPACE, ATTR_HANGPUNCTUATION, ATTR_FORBIDDEN_RULES from 614d
+	SetVersionMap( 6, 100, 175, pVersionMap6 );
+
+	// ATTR_FONT_WORDLINE, ATTR_FONT_RELIEF, ATTR_HYPHENATE from 632b
+	SetVersionMap( 7, 100, 178, pVersionMap7 );
+
+	// ATTR_VERTICAL_ASIAN from 642q
+	SetVersionMap( 8, 100, 181, pVersionMap8 );
+
+	// ATTR_WRITINGDIR from 643y
+	SetVersionMap( 9, 100, 182, pVersionMap9 );
+
+	// ATTR_PAGE_SCALETO added in 680/sab008
+	// new version map not required
+
+    // ATTR_SHRINKTOFIT, ATTR_BORDER_TL_BR, ATTR_BORDER_BL_TR added in 680/dr14
+    SetVersionMap( 10, 100, 184, pVersionMap10 );
+
+    // ATTR_FONT_OVERLINE added in DEV300/overline2
+    SetVersionMap( 11, 100, 187, pVersionMap11 );
 }
 
 __EXPORT ScDocumentPool::~ScDocumentPool()