ooo-build r14701 - in trunk: . patches/dev300
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r14701 - in trunk: . patches/dev300
- Date: Wed, 3 Dec 2008 00:53:29 +0000 (UTC)
Author: kyoshida
Date: Wed Dec 3 00:53:29 2008
New Revision: 14701
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14701&view=rev
Log:
2008-12-02 Kohei Yoshida <kyoshida novell com>
* patches/dev300/apply:
* patches/dev300/calc-external-defined-names-sc.diff: fixed build
breakages & combined it with the -fixes patch (below).
* patches/dev300/calc-external-defined-names-sc-fixes.diff: combined
with the patch above.
Removed:
trunk/patches/dev300/calc-external-defined-names-sc-fixes.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
trunk/patches/dev300/calc-external-defined-names-sc.diff
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Wed Dec 3 00:53:29 2008
@@ -734,7 +734,6 @@
# load, store and save the sheet protection options from and to an Excel file,
# and use that information to constrain cell cursor movement when the sheet is
# protected. Also to support encryption on Excel file export.
-# FIXME 2008-11-26: don't apply to dev300-m35
cws-scsheetprotection02-sc.diff, i#60305, i#71468, i#84766, kohei
cws-scsheetprotection02-sfx2.diff, i#60305, i#71468, i#84766, kohei
cws-scsheetprotection02-svx.diff, i#60305, i#71468, i#84766, kohei
@@ -1823,16 +1822,11 @@
calc-formula-datevalue-strip-time.diff, i#94765, kohei
# Implement external range names.
-# FIXME 2008-11-26: doesn't apply to dev300-m35
calc-external-defined-names-sc.diff, i#3740, i#4385, n#355685, kohei
calc-external-defined-names-offapi.diff, i#3740, i#4385, n#355685, kohei
calc-external-defined-names-officecfg.diff, i#3740, i#4385, n#355685, kohei
calc-external-defined-names-svtools.diff, i#3740, i#4385, n#355685, kohei
-# Additional fix for the external range name implementation.
-# FIXME 2008-11-26: doesn't apply to dev300-m35
-calc-external-defined-names-sc-fixes.diff, i#3740, i#4385, n#355685, kohei
-
# Don't adjust row height on xls load for better layout preservation and
# faster file load.
calc-xls-disable-adjust-row-height.diff, kohei
Modified: trunk/patches/dev300/calc-external-defined-names-sc.diff
==============================================================================
--- trunk/patches/dev300/calc-external-defined-names-sc.diff (original)
+++ trunk/patches/dev300/calc-external-defined-names-sc.diff Wed Dec 3 00:53:29 2008
@@ -1,5 +1,5 @@
diff --git sc/inc/address.hxx sc/inc/address.hxx
-index f92fc8e..9757898 100644
+index 0ff668b..76f0d42 100644
--- sc/inc/address.hxx
+++ sc/inc/address.hxx
@@ -44,6 +44,14 @@
@@ -48,7 +48,7 @@
void Format( String&, USHORT = 0, ScDocument* = NULL,
const Details& rDetails = detailsOOOa1) const;
-@@ -463,7 +484,11 @@ public:
+@@ -460,7 +481,11 @@ public:
inline bool In( const ScRange& ) const; // is Range& in Range?
USHORT Parse( const String&, ScDocument* = NULL,
@@ -112,7 +112,7 @@
/*** error constants #... ***/
#define SC_OPCODE_START_ERRORS 30
diff --git sc/inc/compiler.hxx sc/inc/compiler.hxx
-index 7974267..d901f78 100644
+index fdcf238..7f95858 100644
--- sc/inc/compiler.hxx
+++ sc/inc/compiler.hxx
@@ -45,6 +45,8 @@
@@ -159,7 +159,7 @@
ScMatrix* pMat;
USHORT nIndex; // index into name collection
sal_Unicode cStr[ MAXSTRLEN+1 ]; // string (up to 255 characters + 0)
-@@ -180,6 +192,9 @@ public:
+@@ -184,6 +196,9 @@ public:
//UNUSED2008-05 ComplRefData& GetReference();
//UNUSED2008-05 void SetReference( ComplRefData& rRef );
void SetName( USHORT n );
@@ -220,7 +220,7 @@
BOOL IsDBRange( const String& );
BOOL IsColRowName( const String& );
BOOL IsBoolean( const String& );
-@@ -543,6 +581,29 @@ public:
+@@ -542,6 +580,29 @@ public:
void SetGrammar( const ScGrammar::Grammar eGrammar );
inline ScGrammar::Grammar GetGrammar() const { return meGrammar; }
@@ -251,7 +251,7 @@
BOOL IsCorrected() { return bCorrected; }
diff --git sc/inc/document.hxx sc/inc/document.hxx
-index 2a27407..414f0c5 100644
+index 26c1fcf..6b945ab 100644
--- sc/inc/document.hxx
+++ sc/inc/document.hxx
@@ -93,6 +93,7 @@ class ScDocProtection;
@@ -262,7 +262,7 @@
class ScFormulaCell;
class ScMarkData;
class ScOutlineTable;
-@@ -282,6 +283,7 @@ private:
+@@ -287,6 +288,7 @@ private:
ScFieldEditEngine* pCacheFieldEditEngine;
::std::auto_ptr<ScDocProtection> pDocProtection;
@@ -270,7 +270,7 @@
String aDocName; // opt: Dokumentname
String aDocCodeName; // opt: Dokumentname
ScRangePairListRef xColNameRanges;
-@@ -634,6 +636,8 @@ SC_DLLPUBLIC ScDBCollection* GetDBCollection() const;
+@@ -622,6 +624,8 @@ SC_DLLPUBLIC ScDBCollection* GetDBCollection() const;
const String& aFileName,
const String& aTabName );
@@ -279,7 +279,7 @@
/** Creates a new sheet, and makes it linked to the specified sheet in an external document.
@param rnTab (out-param) Returns the sheet index, if sheet could be inserted).
@return TRUE = Sheet created, rnTab contains valid sheet index. */
-@@ -642,6 +646,7 @@ SC_DLLPUBLIC ScDBCollection* GetDBCollection() const;
+@@ -630,6 +634,7 @@ SC_DLLPUBLIC ScDBCollection* GetDBCollection() const;
BOOL HasDdeLinks() const;
BOOL HasAreaLinks() const;
@@ -998,19 +998,19 @@
ocIf = SC_OPCODE_IF,
ocChose = SC_OPCODE_CHOSE,
diff --git sc/inc/refdata.hxx sc/inc/refdata.hxx
-index 92d1320..9e83a45 100644
+index 83db007..b84453e 100644
--- sc/inc/refdata.hxx
+++ sc/inc/refdata.hxx
@@ -116,6 +116,7 @@ struct SingleRefData // Single reference (one address) into the sheet
- BYTE CreateStoreByteFromFlags() const;
- void CreateFlagsFromLoadByte( BYTE );
+ //UNUSED2008-05 BYTE CreateStoreByteFromFlags() const;
+ //UNUSED2008-05 void CreateFlagsFromLoadByte( BYTE );
BOOL operator==( const SingleRefData& ) const;
+ bool operator!=( const SingleRefData& ) const;
};
inline void SingleRefData::InitAddress( SCCOL nColP, SCROW nRowP, SCTAB nTabP )
diff --git sc/inc/scmatrix.hxx sc/inc/scmatrix.hxx
-index dbe8bc7..0f2fcb1 100644
+index dfb62c1..0deebcf 100644
--- sc/inc/scmatrix.hxx
+++ sc/inc/scmatrix.hxx
@@ -115,11 +115,14 @@ class ScMatrix
@@ -1032,7 +1032,7 @@
}
diff --git sc/inc/token.hxx sc/inc/token.hxx
-index ded3a94..bc7e993 100644
+index 6baa03b..d802439 100644
--- sc/inc/token.hxx
+++ sc/inc/token.hxx
@@ -64,7 +64,9 @@ enum StackVarEnum
@@ -1117,10 +1117,10 @@
{
private:
diff --git sc/inc/tokenarray.hxx sc/inc/tokenarray.hxx
-index 1d903ce..1e94c2f 100644
+index d06ee61..702ea9f 100644
--- sc/inc/tokenarray.hxx
+++ sc/inc/tokenarray.hxx
-@@ -193,6 +193,9 @@ public:
+@@ -194,6 +194,9 @@ public:
ScToken* AddDoubleReference( const ComplRefData& rRef );
ScToken* AddName( USHORT n );
ScToken* AddMatrix( ScMatrix* p );
@@ -1166,7 +1166,7 @@
ScDocShell* mpDocShell;
ScAddress maRefPos;
diff --git sc/inc/unonames.hxx sc/inc/unonames.hxx
-index b2c45ac..18c858b 100644
+index 1169755..0dbbfe3 100644
--- sc/inc/unonames.hxx
+++ sc/inc/unonames.hxx
@@ -47,6 +47,7 @@
@@ -1177,7 +1177,7 @@
#define SC_UNO_COLLABELRNG "ColumnLabelRanges"
#define SC_UNO_DATABASERNG "DatabaseRanges"
#define SC_UNO_NAMEDRANGES "NamedRanges"
-@@ -604,6 +605,7 @@
+@@ -605,6 +606,7 @@
#define SC_UNO_FORMULACONVENTION "FormulaConvention"
#define SC_UNO_IGNORELEADING "IgnoreLeadingSpaces"
#define SC_UNO_OPCODEMAP "OpCodeMap"
@@ -1186,10 +1186,10 @@
// Chart2
#define SC_UNONAME_ISHIDDEN "IsHidden"
diff --git sc/source/core/data/cell.cxx sc/source/core/data/cell.cxx
-index 636f46e..fbd55d5 100644
+index b89f356..21c35f8 100644
--- sc/source/core/data/cell.cxx
+++ sc/source/core/data/cell.cxx
-@@ -689,7 +689,12 @@ ScFormulaCell::ScFormulaCell( ScDocument* pDoc, const ScAddress& rNewPos,
+@@ -683,7 +683,12 @@ ScFormulaCell::ScFormulaCell( ScDocument* pDoc, const ScAddress& rNewPos,
for( ScToken* t = pCode->GetNextReferenceOrName(); t && !bCompile;
t = pCode->GetNextReferenceOrName() )
{
@@ -1204,7 +1204,7 @@
ScRangeData* pRangeData = pDoc->GetRangeName()->FindIndex( t->GetIndex() );
if( pRangeData )
diff --git sc/source/core/data/cell2.cxx sc/source/core/data/cell2.cxx
-index fc6df5f..b49a9fd 100644
+index 2f006f7..23ea97f 100644
--- sc/source/core/data/cell2.cxx
+++ sc/source/core/data/cell2.cxx
@@ -51,6 +51,7 @@
@@ -1215,7 +1215,7 @@
// STATIC DATA -----------------------------------------------------------
-@@ -904,6 +905,17 @@ void ScFormulaCell::UpdateReference(UpdateRefMode eUpdateRefMode,
+@@ -850,6 +851,17 @@ void ScFormulaCell::UpdateReference(UpdateRefMode eUpdateRefMode,
delete pOld;
}
@@ -1234,7 +1234,7 @@
void ScFormulaCell::UpdateInsertTab(SCTAB nTable)
diff --git sc/source/core/data/documen2.cxx sc/source/core/data/documen2.cxx
-index b75279e..825baf5 100644
+index 5566a6f..9838bb5 100644
--- sc/source/core/data/documen2.cxx
+++ sc/source/core/data/documen2.cxx
@@ -94,6 +94,7 @@
@@ -1265,7 +1265,7 @@
ScAddInAsync::RemoveDocument( this );
ScAddInListener::RemoveDocument( this );
delete pChartListenerCollection; // vor pBASM wg. evtl. Listener!
-@@ -1429,6 +1436,10 @@ BOOL ScDocument::MoveTab( SCTAB nOldPos, SCTAB nNewPos )
+@@ -801,6 +808,10 @@ BOOL ScDocument::MoveTab( SCTAB nOldPos, SCTAB nNewPos )
if (pDrawLayer)
DrawMovePage( static_cast<sal_uInt16>(nOldPos), static_cast<sal_uInt16>(nNewPos) );
@@ -1276,7 +1276,7 @@
bValid = TRUE;
}
}
-@@ -1548,6 +1559,10 @@ BOOL ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM
+@@ -922,6 +933,10 @@ BOOL ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM
DrawCopyPage( static_cast<sal_uInt16>(nOldPos), static_cast<sal_uInt16>(nNewPos) );
pTab[nNewPos]->SetPageStyle( pTab[nOldPos]->GetPageStyle() );
@@ -1288,7 +1288,7 @@
else
SetAutoCalc( bOldAutoCalc );
diff --git sc/source/core/data/documen3.cxx sc/source/core/data/documen3.cxx
-index 541e2e4..20dae1e 100644
+index 95f9e94..9cfe836 100644
--- sc/source/core/data/documen3.cxx
+++ sc/source/core/data/documen3.cxx
@@ -61,6 +61,7 @@
@@ -1310,7 +1310,7 @@
//------------------------------------------------------------------------
-@@ -478,6 +482,14 @@ BOOL ScDocument::LinkExternalTab( SCTAB& rTab, const String& aDocTab,
+@@ -473,6 +477,14 @@ BOOL ScDocument::LinkExternalTab( SCTAB& rTab, const String& aDocTab,
return TRUE;
}
@@ -1326,7 +1326,7 @@
const String& rFilterName, const String& rFilterOpt, const String& rTabName )
{
diff --git sc/source/core/data/documen8.cxx sc/source/core/data/documen8.cxx
-index fd09e93..719206e 100644
+index d199d26..57510a2 100644
--- sc/source/core/data/documen8.cxx
+++ sc/source/core/data/documen8.cxx
@@ -91,6 +91,7 @@
@@ -1337,7 +1337,7 @@
#include "globstr.hrc"
#include "sc.hrc"
-@@ -1062,6 +1063,33 @@ BOOL ScDocument::IsInLinkUpdate() const
+@@ -1013,6 +1014,33 @@ BOOL ScDocument::IsInLinkUpdate() const
return bInLinkUpdate || IsInDdeLinkUpdate();
}
@@ -1372,7 +1372,7 @@
{
if (pLinkManager)
diff --git sc/source/core/data/document.cxx sc/source/core/data/document.cxx
-index 886156d..6183449 100644
+index c11fa97..30e6128 100644
--- sc/source/core/data/document.cxx
+++ sc/source/core/data/document.cxx
@@ -91,6 +91,7 @@
@@ -1383,7 +1383,7 @@
struct ScDefaultAttr
{
-@@ -368,6 +369,10 @@ BOOL ScDocument::InsertTab( SCTAB nPos, const String& rName,
+@@ -370,6 +371,10 @@ BOOL ScDocument::InsertTab( SCTAB nPos, const String& rName,
if ( pChartListenerCollection )
pChartListenerCollection->UpdateScheduledSeriesRanges();
@@ -1394,7 +1394,7 @@
SetDirty();
bValid = TRUE;
}
-@@ -457,6 +462,12 @@ BOOL ScDocument::DeleteTab( SCTAB nTab, ScDocument* pRefUndoDoc )
+@@ -461,6 +466,12 @@ BOOL ScDocument::DeleteTab( SCTAB nTab, ScDocument* pRefUndoDoc )
}
// #81844# sheet names of references are not valid until sheet is deleted
pChartListenerCollection->UpdateScheduledSeriesRanges();
@@ -1408,10 +1408,10 @@
bValid = TRUE;
}
diff --git sc/source/core/inc/interpre.hxx sc/source/core/inc/interpre.hxx
-index b9dd766..3a85852 100644
+index e51fc2f..c95063e 100644
--- sc/source/core/inc/interpre.hxx
+++ sc/source/core/inc/interpre.hxx
-@@ -505,6 +505,7 @@ BOOL SetSbxVariable( SbxVariable* pVar, SCCOL nCol, SCROW nRow, SCTAB nTab );
+@@ -515,6 +515,7 @@ BOOL SetSbxVariable( SbxVariable* pVar, SCCOL nCol, SCROW nRow, SCTAB nTab );
void ScErrorType();
void ScDBArea();
void ScColRowNameAuto();
@@ -1420,7 +1420,7 @@
void ScHyperLink();
void ScBahtText();
diff --git sc/source/core/tool/address.cxx sc/source/core/tool/address.cxx
-index c92f4aa..2d0bfd1 100644
+index b4203de..5fb004c 100644
--- sc/source/core/tool/address.cxx
+++ sc/source/core/tool/address.cxx
@@ -35,12 +35,15 @@
@@ -2189,7 +2189,7 @@
}
-@@ -1060,7 +1112,7 @@ void ScRange::ExtendTo( const ScRange& rRange )
+@@ -1041,7 +1093,7 @@ void ScRange::ExtendTo( const ScRange& rRange )
}
static USHORT
@@ -2198,7 +2198,7 @@
{
USHORT nRes1 = 0, nRes2 = 0;
xub_StrLen nTmp = 0;
-@@ -1073,13 +1125,12 @@ lcl_ScRange_Parse_OOo( ScRange &aRange, const String& r, ScDocument* pDoc )
+@@ -1054,13 +1106,12 @@ lcl_ScRange_Parse_OOo( ScRange &aRange, const String& r, ScDocument* pDoc )
String aTmp( r );
sal_Unicode* p = aTmp.GetBufferAccess();
p[ nPos ] = 0;
@@ -2215,7 +2215,7 @@
nRes2 &= ~SCA_VALID_TAB; // #REF!
else
{
-@@ -1132,7 +1183,9 @@ lcl_ScRange_Parse_OOo( ScRange &aRange, const String& r, ScDocument* pDoc )
+@@ -1113,7 +1164,9 @@ lcl_ScRange_Parse_OOo( ScRange &aRange, const String& r, ScDocument* pDoc )
}
USHORT ScRange::Parse( const String& r, ScDocument* pDoc,
@@ -2226,7 +2226,7 @@
{
if ( r.Len() <= 0 )
return 0;
-@@ -1141,13 +1194,15 @@ USHORT ScRange::Parse( const String& r, ScDocument* pDoc,
+@@ -1122,13 +1175,15 @@ USHORT ScRange::Parse( const String& r, ScDocument* pDoc,
{
default :
case ScAddress::CONV_OOO:
@@ -2245,7 +2245,7 @@
}
}
-@@ -1187,6 +1242,7 @@ USHORT ScRange::ParseCols( const String& rStr, ScDocument* pDoc,
+@@ -1168,6 +1223,7 @@ USHORT ScRange::ParseCols( const String& rStr, ScDocument* pDoc,
default :
case ScAddress::CONV_OOO: // No full col refs in OOO yet, assume XL notation
case ScAddress::CONV_XL_A1:
@@ -2253,7 +2253,7 @@
if (NULL != (p = lcl_a1_get_col( p, &aStart, &ignored ) ) )
{
if( p[0] == ':')
-@@ -1245,6 +1301,7 @@ USHORT ScRange::ParseRows( const String& rStr, ScDocument* pDoc,
+@@ -1226,6 +1282,7 @@ USHORT ScRange::ParseRows( const String& rStr, ScDocument* pDoc,
default :
case ScAddress::CONV_OOO: // No full row refs in OOO yet, assume XL notation
case ScAddress::CONV_XL_A1:
@@ -2261,7 +2261,7 @@
if (NULL != (p = lcl_a1_get_row( p, &aStart, &ignored ) ) )
{
if( p[0] == ':')
-@@ -1429,6 +1486,7 @@ void ScAddress::Format( String& r, USHORT nFlags, ScDocument* pDoc,
+@@ -1410,6 +1467,7 @@ void ScAddress::Format( String& r, USHORT nFlags, ScDocument* pDoc,
case CONV_XL_A1:
case CONV_XL_R1C1:
@@ -2269,7 +2269,7 @@
if (aDocName.Len() > 0)
{
r += '[';
-@@ -1446,6 +1504,7 @@ void ScAddress::Format( String& r, USHORT nFlags, ScDocument* pDoc,
+@@ -1427,6 +1485,7 @@ void ScAddress::Format( String& r, USHORT nFlags, ScDocument* pDoc,
default :
case CONV_OOO:
case CONV_XL_A1:
@@ -2277,7 +2277,7 @@
if( nFlags & SCA_VALID_COL )
lcl_a1_append_c ( r, nCol, nFlags & SCA_COL_ABSOLUTE );
if( nFlags & SCA_VALID_ROW )
-@@ -1565,6 +1624,7 @@ void ScRange::Format( String& r, USHORT nFlags, ScDocument* pDoc,
+@@ -1546,6 +1605,7 @@ void ScRange::Format( String& r, USHORT nFlags, ScDocument* pDoc,
break;
case ScAddress::CONV_XL_A1:
@@ -2285,7 +2285,7 @@
lcl_ScRange_Format_XL_Header( r, *this, nFlags, pDoc, rDetails );
if( aStart.Col() == 0 && aEnd.Col() >= MAXCOL )
{
-@@ -1688,6 +1748,7 @@ String ScAddress::GetColRowString( bool bAbsolute,
+@@ -1654,6 +1714,7 @@ String ScAddress::GetColRowString( bool bAbsolute,
default :
case ScAddress::CONV_OOO:
case ScAddress::CONV_XL_A1:
@@ -2294,10 +2294,10 @@
aString.Append( '$' );
diff --git sc/source/core/tool/compiler.cxx sc/source/core/tool/compiler.cxx
-index fb06501..785b909 100644
+index 13171af..9b24826 100644
--- sc/source/core/tool/compiler.cxx
+++ sc/source/core/tool/compiler.cxx
-@@ -74,9 +74,11 @@
+@@ -73,9 +73,11 @@
#include "errorcodes.hxx"
#include "parclass.hxx"
#include "autonamecache.hxx"
@@ -2309,7 +2309,7 @@
#if OSL_DEBUG_LEVEL > 1
// For some unknown reason the identical dbg_dump utilities in
-@@ -109,7 +111,7 @@ ScCompiler::NonConstOpCodeMapPtr ScCompiler::mxSymbolsPODF;
+@@ -108,7 +110,7 @@ ScCompiler::NonConstOpCodeMapPtr ScCompiler::mxSymbolsPODF;
ScCompiler::NonConstOpCodeMapPtr ScCompiler::mxSymbolsNative;
ScCompiler::NonConstOpCodeMapPtr ScCompiler::mxSymbolsEnglish;
CharClass* ScCompiler::pCharClassEnglish = NULL;
@@ -2318,7 +2318,7 @@
enum ScanState
{
-@@ -707,20 +709,15 @@ void ScCompiler::SetGrammar( const ScGrammar::Grammar eGrammar )
+@@ -706,20 +708,15 @@ void ScCompiler::SetGrammar( const ScGrammar::Grammar eGrammar )
xMap = ScCompiler::GetOpCodeMap( ::com::sun::star::sheet::FormulaLanguage::NATIVE);
eMyGrammar = xMap->getGrammar();
}
@@ -2346,7 +2346,7 @@
}
-@@ -737,7 +734,25 @@ void ScCompiler::SetFormulaLanguage( const ScCompiler::OpCodeMapPtr & xMap )
+@@ -736,7 +733,25 @@ void ScCompiler::SetFormulaLanguage( const ScCompiler::OpCodeMapPtr & xMap )
}
else
pCharClass = ScGlobal::pCharClass;
@@ -2372,7 +2372,7 @@
}
-@@ -866,20 +881,19 @@ ScCompiler::OpCodeMap::createSequenceOfAvailableMappings( const sal_Int32 nGroup
+@@ -865,20 +880,19 @@ ScCompiler::OpCodeMap::createSequenceOfAvailableMappings( const sal_Int32 nGroup
sal_Int32 nOff;
OpCode eOp;
} aMap[] = {
@@ -2406,7 +2406,7 @@
};
const size_t nCount = sizeof(aMap)/sizeof(aMap[0]);
// Preallocate vector elements.
-@@ -1078,7 +1092,7 @@ ScCompiler::Convention::Convention( ScAddress::Convention eConv )
+@@ -1077,7 +1091,7 @@ ScCompiler::Convention::Convention( ScAddress::Convention eConv )
/* */ t[32] = SC_COMPILER_C_CHAR_DONTCARE | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
/* ! */ t[33] = SC_COMPILER_C_CHAR | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
if (ScAddress::CONV_ODF == meConv)
@@ -2415,7 +2415,7 @@
/* " */ t[34] = SC_COMPILER_C_CHAR_STRING | SC_COMPILER_C_STRING_SEP;
/* # */ t[35] = SC_COMPILER_C_WORD_SEP;
/* $ */ t[36] = SC_COMPILER_C_CHAR_WORD | SC_COMPILER_C_WORD | SC_COMPILER_C_CHAR_IDENT | SC_COMPILER_C_IDENT;
-@@ -1093,8 +1107,10 @@ ScCompiler::Convention::Convention( ScAddress::Convention eConv )
+@@ -1092,8 +1106,10 @@ ScCompiler::Convention::Convention( ScAddress::Convention eConv )
/* - */ t[45] = SC_COMPILER_C_CHAR | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_EXP | SC_COMPILER_C_VALUE_SIGN;
/* . */ t[46] = SC_COMPILER_C_WORD | SC_COMPILER_C_CHAR_VALUE | SC_COMPILER_C_VALUE | SC_COMPILER_C_IDENT;
/* / */ t[47] = SC_COMPILER_C_CHAR | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
@@ -2427,7 +2427,7 @@
/* : */ t[58] = SC_COMPILER_C_CHAR | SC_COMPILER_C_WORD;
/* ; */ t[59] = SC_COMPILER_C_CHAR | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
/* < */ t[60] = SC_COMPILER_C_CHAR_BOOL | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
-@@ -1102,8 +1118,10 @@ for (i = 48; i < 58; i++)
+@@ -1101,8 +1117,10 @@ for (i = 48; i < 58; i++)
/* > */ t[62] = SC_COMPILER_C_CHAR_BOOL | SC_COMPILER_C_BOOL | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
/* ? */ t[63] = SC_COMPILER_C_CHAR_WORD | SC_COMPILER_C_WORD;
/* @ */ // FREE
@@ -2439,7 +2439,7 @@
if (ScAddress::CONV_ODF == meConv)
{
/* [ */ t[91] = SC_COMPILER_C_ODF_LBRACKET;
-@@ -1119,14 +1137,17 @@ for (i = 65; i < 91; i++)
+@@ -1118,14 +1136,17 @@ for (i = 65; i < 91; i++)
/* ^ */ t[94] = SC_COMPILER_C_CHAR | SC_COMPILER_C_WORD_SEP | SC_COMPILER_C_VALUE_SEP;
/* _ */ t[95] = SC_COMPILER_C_CHAR_WORD | SC_COMPILER_C_WORD | SC_COMPILER_C_CHAR_IDENT | SC_COMPILER_C_IDENT;
/* ` */ // FREE
@@ -2459,7 +2459,7 @@
{
/* */ t[32] |= SC_COMPILER_C_WORD;
/* ! */ t[33] |= SC_COMPILER_C_IDENT | SC_COMPILER_C_WORD;
-@@ -1165,9 +1186,14 @@ for (i = 97; i < 123; i++)
+@@ -1164,9 +1185,14 @@ for (i = 97; i < 123; i++)
if( ScAddress::CONV_XL_R1C1 == meConv )
{
@@ -2477,7 +2477,7 @@
}
}
}
-@@ -1191,7 +1217,7 @@ static bool lcl_isValidQuotedText( const String& rFormula, xub_StrLen nSrcPos, P
+@@ -1190,7 +1216,7 @@ static bool lcl_isValidQuotedText( const String& rFormula, xub_StrLen nSrcPos, P
{
rRes.TokenType = KParseType::SINGLE_QUOTE_NAME;
rRes.EndPos = nPos+1;
@@ -2486,7 +2486,7 @@
}
++nPos;
}
-@@ -1199,9 +1225,203 @@ static bool lcl_isValidQuotedText( const String& rFormula, xub_StrLen nSrcPos, P
+@@ -1198,9 +1224,203 @@ static bool lcl_isValidQuotedText( const String& rFormula, xub_StrLen nSrcPos, P
}
}
@@ -2690,7 +2690,7 @@
struct Convention_A1 : public ScCompiler::Convention
{
Convention_A1( ScAddress::Convention eConv ) : ScCompiler::Convention( eConv ) { }
-@@ -1215,14 +1435,14 @@ struct Convention_A1 : public ScCompiler::Convention
+@@ -1212,14 +1432,14 @@ struct Convention_A1 : public ScCompiler::Convention
const CharClass* pCharClass) const
{
ParseResult aRet;
@@ -2707,7 +2707,7 @@
return pCharClass->parseAnyToken( rFormula,
nSrcPos, nStartFlags, aAddAllowed, nContFlags, aAddAllowed );
}
-@@ -1405,6 +1625,121 @@ struct ConventionOOO_A1 : public Convention_A1
+@@ -1386,6 +1606,121 @@ struct ConventionOOO_A1 : public Convention_A1
return sal_Unicode(0);
}
@@ -2829,7 +2829,7 @@
};
-@@ -1423,6 +1758,25 @@ struct ConventionOOO_A1_ODF : public ConventionOOO_A1
+@@ -1404,6 +1739,25 @@ struct ConventionOOO_A1_ODF : public ConventionOOO_A1
{
MakeRefStrImpl( rBuffer, rComp, rRef, bSingleRef, true);
}
@@ -2855,7 +2855,7 @@
};
static const ConventionOOO_A1_ODF ConvOOO_A1_ODF;
-@@ -1526,11 +1880,129 @@ struct ConventionXL
+@@ -1507,11 +1861,129 @@ struct ConventionXL
}
return sal_Unicode(0);
}
@@ -2985,7 +2985,7 @@
void MakeRefStr( rtl::OUStringBuffer& rBuf,
const ScCompiler& rComp,
const ComplRefData& rRef,
-@@ -1584,22 +2056,11 @@ struct ConventionXL_A1 : public Convention_A1, public ConventionXL
+@@ -1565,22 +2037,11 @@ struct ConventionXL_A1 : public Convention_A1, public ConventionXL
}
}
@@ -3010,7 +3010,7 @@
}
}
-@@ -1607,8 +2068,10 @@ struct ConventionXL_A1 : public Convention_A1, public ConventionXL
+@@ -1588,8 +2049,10 @@ struct ConventionXL_A1 : public Convention_A1, public ConventionXL
xub_StrLen nSrcPos,
const CharClass* pCharClass) const
{
@@ -3022,7 +3022,7 @@
return aRet;
static const sal_Int32 nStartFlags = KParseTokens::ANY_LETTER_OR_NUMBER |
-@@ -1624,11 +2087,83 @@ struct ConventionXL_A1 : public Convention_A1, public ConventionXL
+@@ -1605,11 +2068,83 @@ struct ConventionXL_A1 : public Convention_A1, public ConventionXL
{
return ConventionXL::getSpecialSymbol(eSymType);
}
@@ -3106,7 +3106,7 @@
//-----------------------------------------------------------------------------
static void
-@@ -1733,8 +2268,10 @@ struct ConventionXL_R1C1 : public ScCompiler::Convention, public ConventionXL
+@@ -1714,8 +2249,10 @@ struct ConventionXL_R1C1 : public ScCompiler::Convention, public ConventionXL
xub_StrLen nSrcPos,
const CharClass* pCharClass) const
{
@@ -3118,7 +3118,7 @@
return aRet;
static const sal_Int32 nStartFlags = KParseTokens::ANY_LETTER_OR_NUMBER |
-@@ -1751,6 +2288,96 @@ struct ConventionXL_R1C1 : public ScCompiler::Convention, public ConventionXL
+@@ -1732,6 +2269,96 @@ struct ConventionXL_R1C1 : public ScCompiler::Convention, public ConventionXL
{
return ConventionXL::getSpecialSymbol(eSymType);
}
@@ -3215,7 +3215,7 @@
};
static const ConventionXL_R1C1 ConvXL_R1C1;
-@@ -1817,13 +2444,15 @@ void ScCompiler::CheckTabQuotes( String& rString,
+@@ -1798,13 +2425,15 @@ void ScCompiler::CheckTabQuotes( String& rString,
KParseType::IDENTNAME, rString, 0, nStartFlags, EMPTY_STRING, nContFlags, EMPTY_STRING);
bool bNeedsQuote = !((aRes.TokenType & KParseType::IDENTNAME) && aRes.EndPos == rString.Len());
@@ -3232,7 +3232,7 @@
if( bNeedsQuote )
{
static const String one_quote = static_cast<sal_Unicode>( '\'' );
-@@ -1859,6 +2488,7 @@ void ScCompiler::SetRefConvention( ScAddress::Convention eConv )
+@@ -1840,6 +2469,7 @@ void ScCompiler::SetRefConvention( ScAddress::Convention eConv )
case ScAddress::CONV_ODF : SetRefConvention( pConvOOO_A1_ODF ); break;
case ScAddress::CONV_XL_A1 : SetRefConvention( pConvXL_A1 ); break;
case ScAddress::CONV_XL_R1C1 : SetRefConvention( pConvXL_R1C1 ); break;
@@ -3240,7 +3240,7 @@
}
}
-@@ -2185,71 +2815,88 @@ xub_StrLen ScCompiler::NextSymbol(bool bInArray)
+@@ -2172,71 +2802,88 @@ Label_MaskStateMachine:
}
// fall through and follow logic
case ssSkipReference:
@@ -3376,7 +3376,7 @@
}
else if (':' == c)
{
-@@ -2264,7 +2911,7 @@ xub_StrLen ScCompiler::NextSymbol(bool bInArray)
+@@ -2251,7 +2898,7 @@ Label_MaskStateMachine:
eState = ssStop;
}
if (bAddToSymbol && eState != ssSkipReference)
@@ -3385,7 +3385,7 @@
}
break;
case ssStop:
-@@ -2545,7 +3192,8 @@ BOOL ScCompiler::IsDoubleReference( const String& rName )
+@@ -2532,7 +3179,8 @@ BOOL ScCompiler::IsDoubleReference( const String& rName )
{
ScRange aRange( aPos, aPos );
const ScAddress::Details aDetails( pConv->meConv, aPos );
@@ -3395,7 +3395,7 @@
if( nFlags & SCA_VALID )
{
ScRawToken aToken;
-@@ -2564,7 +3212,17 @@ BOOL ScCompiler::IsDoubleReference( const String& rName )
+@@ -2551,7 +3199,17 @@ BOOL ScCompiler::IsDoubleReference( const String& rName )
aRef.Ref2.SetTabDeleted( TRUE ); // #REF!
aRef.Ref2.SetFlag3D( ( nFlags & SCA_TAB2_3D ) != 0 );
aRef.CalcRelFromAbs( aPos );
@@ -3414,7 +3414,7 @@
pRawToken = aToken.Clone();
}
-@@ -2576,7 +3234,8 @@ BOOL ScCompiler::IsSingleReference( const String& rName )
+@@ -2563,7 +3221,8 @@ BOOL ScCompiler::IsSingleReference( const String& rName )
{
ScAddress aAddr( aPos );
const ScAddress::Details aDetails( pConv->meConv, aPos );
@@ -3424,7 +3424,7 @@
// Something must be valid in order to recognize Sheet1.blah or blah.a1
// as a (wrong) reference.
if( nFlags & ( SCA_VALID_COL|SCA_VALID_ROW|SCA_VALID_TAB ) )
-@@ -2600,7 +3259,16 @@ BOOL ScCompiler::IsSingleReference( const String& rName )
+@@ -2587,7 +3246,16 @@ BOOL ScCompiler::IsSingleReference( const String& rName )
nFlags |= SCA_VALID;
}
aRef.CalcRelFromAbs( aPos );
@@ -3442,7 +3442,7 @@
pRawToken = aToken.Clone();
}
-@@ -2708,6 +3376,32 @@ BOOL ScCompiler::IsNamedRange( const String& rUpperName )
+@@ -2695,6 +3363,32 @@ BOOL ScCompiler::IsNamedRange( const String& rUpperName )
return FALSE;
}
@@ -3475,7 +3475,7 @@
BOOL ScCompiler::IsDBRange( const String& rName )
{
USHORT n;
-@@ -3243,7 +3937,7 @@ BOOL ScCompiler::NextNewToken( bool bInArray )
+@@ -3230,7 +3924,7 @@ BOOL ScCompiler::NextNewToken( bool bInArray )
if (mnPredetectedReference)
{
String aStr( cSymbol);
@@ -3484,7 +3484,7 @@
{
/* TODO: it would be nice to generate a #REF! error here, which
* would need an ocBad token with additional error value.
-@@ -3306,6 +4000,7 @@ BOOL ScCompiler::NextNewToken( bool bInArray )
+@@ -3293,6 +3987,7 @@ BOOL ScCompiler::NextNewToken( bool bInArray )
&& !(bAllowBooleans && IsBoolean( aUpper ))
&& !IsValue( aUpper )
&& !IsNamedRange( aUpper )
@@ -3492,7 +3492,7 @@
&& !IsDBRange( aUpper )
&& !IsColRowName( aUpper )
&& !(bMayBeFuncName && IsMacro( aUpper ))
-@@ -3628,9 +4323,9 @@ BOOL ScCompiler::GetToken()
+@@ -3615,9 +4310,9 @@ BOOL ScCompiler::GetToken()
else
{
if ( nWasColRowName >= 2 && pToken->GetOpCode() == ocColRowName )
@@ -3504,7 +3504,7 @@
}
}
}
-@@ -3641,6 +4336,50 @@ BOOL ScCompiler::GetToken()
+@@ -3628,6 +4323,50 @@ BOOL ScCompiler::GetToken()
}
if( pToken->GetOpCode() == ocSubTotal )
glSubTotal = TRUE;
@@ -3555,7 +3555,7 @@
else if( pToken->GetOpCode() == ocName )
{
ScRangeData* pRangeData = pDoc->GetRangeName()->FindIndex( pToken->GetIndex() );
-@@ -3796,7 +4535,7 @@ BOOL ScCompiler::GetToken()
+@@ -3783,7 +4522,7 @@ BOOL ScCompiler::GetToken()
{ // next defined RowNameRange to the right limits column
const ScRange& rRange = pR->GetRange(1);
if ( rRange.aStart.Row() <= nRow && nRow <= rRange.aEnd.Row() )
@@ -3564,7 +3564,7 @@
SCCOL nTmp = rRange.aStart.Col();
if ( nStartCol < nTmp && nTmp <= nMaxCol )
nMaxCol = nTmp - 1;
-@@ -4420,6 +5159,11 @@ void ScCompiler::Factor()
+@@ -4407,6 +5146,11 @@ void ScCompiler::Factor()
bCorrected = TRUE;
}
}
@@ -3576,7 +3576,7 @@
else
{
SetError( errUnknownToken );
-@@ -4701,7 +5445,7 @@ void ScCompiler::MoveRelWrap()
+@@ -4678,7 +5422,7 @@ void ScCompiler::MoveRelWrap()
for( ScToken* t = pArr->GetNextReference(); t;
t = pArr->GetNextReference() )
{
@@ -3585,7 +3585,7 @@
ScRefUpdate::MoveRelWrap( pDoc, aPos, SingleDoubleRefModifier( t->GetSingleRef() ).Ref() );
else
ScRefUpdate::MoveRelWrap( pDoc, aPos, t->GetDoubleRef() );
-@@ -4718,7 +5462,7 @@ void ScCompiler::MoveRelWrap( ScTokenArray& rArr, ScDocument* pDoc,
+@@ -4695,7 +5439,7 @@ void ScCompiler::MoveRelWrap( ScTokenArray& rArr, ScDocument* pDoc,
for( ScToken* t = rArr.GetNextReference(); t;
t = rArr.GetNextReference() )
{
@@ -3594,7 +3594,7 @@
ScRefUpdate::MoveRelWrap( pDoc, rPos, SingleDoubleRefModifier( t->GetSingleRef() ).Ref() );
else
ScRefUpdate::MoveRelWrap( pDoc, rPos, t->GetDoubleRef() );
-@@ -4830,7 +5574,7 @@ ScRangeData* ScCompiler::UpdateReference(UpdateRefMode eUpdateRefMode,
+@@ -4807,7 +5551,7 @@ ScRangeData* ScCompiler::UpdateReference(UpdateRefMode eUpdateRefMode,
else if( t->GetType() != svIndex ) // it may be a DB area!!!
{
t->CalcAbsIfRel( rOldPos );
@@ -3603,7 +3603,7 @@
{
if ( ScRefUpdate::Update( pDoc, eUpdateRefMode, aPos,
r, nDx, nDy, nDz,
-@@ -5638,111 +6382,144 @@ ScToken* ScCompiler::CreateStringFromToken( rtl::OUStringBuffer& rBuffer, ScToke
+@@ -5612,111 +6356,144 @@ ScToken* ScCompiler::CreateStringFromToken( rtl::OUStringBuffer& rBuffer, ScToke
DBG_ERRORFILE("unknown OpCode");
rBuffer.append(ScGlobal::GetRscString(STR_NO_NAME_REF));
}
@@ -3835,18 +3835,18 @@
rBuffer.append(sal_Unicode(' '));
if ( bAllowArrAdvance )
diff --git sc/source/core/tool/interpr4.cxx sc/source/core/tool/interpr4.cxx
-index 5f6faa3..c70d42d 100644
+index 202d9aa..a829a57 100644
--- sc/source/core/tool/interpr4.cxx
+++ sc/source/core/tool/interpr4.cxx
-@@ -74,6 +74,7 @@
+@@ -69,6 +69,7 @@
#include "addinlis.hxx"
#include "jumpmatrix.hxx"
#include "parclass.hxx"
+#include "externalrefmgr.hxx"
- using namespace com::sun::star;
-
-@@ -2980,6 +2981,82 @@ void ScInterpreter::ScColRowNameAuto()
+ #include <math.h>
+ #include <float.h>
+@@ -2981,6 +2982,82 @@ void ScInterpreter::ScColRowNameAuto()
PushError( errNoRef );
}
@@ -3929,7 +3929,7 @@
// --- internals ------------------------------------------------------------
-@@ -3412,6 +3489,7 @@ StackVar ScInterpreter::Interpret()
+@@ -3413,6 +3490,7 @@ StackVar ScInterpreter::Interpret()
case ocDBArea : ScDBArea(); break;
case ocColRowNameAuto : ScColRowNameAuto(); break;
// separated case ocPush : Push( (ScToken&) *pCur ); break;
@@ -3938,10 +3938,10 @@
case ocChose : ScChoseJump(); break;
case ocAdd : ScAdd(); break;
diff --git sc/source/core/tool/refdata.cxx sc/source/core/tool/refdata.cxx
-index 4ac1814..7ec74d8 100644
+index b3b635a..67abc6b 100644
--- sc/source/core/tool/refdata.cxx
+++ sc/source/core/tool/refdata.cxx
-@@ -200,6 +200,10 @@ BOOL SingleRefData::operator==( const SingleRefData& r ) const
+@@ -199,6 +199,10 @@ BOOL SingleRefData::operator==( const SingleRefData& r ) const
(Flags.bTabRel ? nRelTab == r.nRelTab : nTab == r.nTab);
}
@@ -3953,7 +3953,7 @@
static void lcl_putInOrder( SingleRefData & rRef1, SingleRefData & rRef2 )
{
diff --git sc/source/core/tool/token.cxx sc/source/core/tool/token.cxx
-index a20cbd5..3645c87 100644
+index 3299131..51b54a3 100644
--- sc/source/core/tool/token.cxx
+++ sc/source/core/tool/token.cxx
@@ -54,6 +54,8 @@
@@ -3965,7 +3965,7 @@
// ImpTokenIterator wird je Interpreter angelegt, mehrfache auch durch
// SubCode via ScTokenIterator Push/Pop moeglich
IMPL_FIXEDMEMPOOL_NEWDEL( ImpTokenIterator, 32, 16 )
-@@ -209,6 +211,48 @@ void ScRawToken::SetName( USHORT n )
+@@ -193,6 +195,48 @@ void ScRawToken::SetName( USHORT n )
nRefCnt = 0;
}
@@ -4557,7 +4557,7 @@
{
return Add( new ScSingleRefOpToken( ocColRowName, rRef ) );
diff --git sc/source/filter/excel/excform.cxx sc/source/filter/excel/excform.cxx
-index 3070f34..fd87dbf 100644
+index 0de27e7..4b35df6 100644
--- sc/source/filter/excel/excform.cxx
+++ sc/source/filter/excel/excform.cxx
@@ -46,6 +46,7 @@
@@ -4568,7 +4568,7 @@
const UINT16 ExcelToSc::nRowMask = 0x3FFF;
const UINT16 ExcelToSc::nLastInd = 399;
-@@ -1329,6 +1330,13 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
+@@ -1328,6 +1329,13 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
return eRet;
}
@@ -4583,7 +4583,7 @@
{
DBG_ASSERT_BIFF( GetBiff() == EXC_BIFF5 );
diff --git sc/source/filter/excel/excform8.cxx sc/source/filter/excel/excform8.cxx
-index ebf8543..e0467a0 100644
+index ebf8543..0af6d65 100644
--- sc/source/filter/excel/excform8.cxx
+++ sc/source/filter/excel/excform8.cxx
@@ -41,6 +41,18 @@
@@ -4650,7 +4650,7 @@
- aStack << aPool.Store( ocNoName, pExtName->GetName() );
- GetTracer().TraceFormulaExtName();
+ sal_uInt16 nFileId;
-+ if (!GetExternalFileIdFromXti(nXtiIndex, nFileId))
++ if (!GetExternalFileIdFromXti(nXtiIndex, nFileId) || !pExtName->HasFormulaTokens())
+ {
+ aStack << aPool.Store(ocNoName, pExtName->GetName());
+ break;
@@ -4868,7 +4868,7 @@
}
break;
default: bError = TRUE;
-@@ -1143,7 +1206,130 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
+@@ -1143,7 +1206,152 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
return eRet;
}
@@ -4910,7 +4910,7 @@
+ // #98524# always reset flags
+ aSRD.InitFlags();
+ aCRD.InitFlags();
-+
+
+ switch( nOp )
+ {
+ case 0x1C: // Error Value
@@ -4951,7 +4951,7 @@
+ ExcRelToScRel8(nRow, nGrbitCol, aSRD, true);
+ aCRD.Ref1 = aCRD.Ref2 = aSRD;
+ String aTabName = rTabNames[nExtTab1];
-
++
+ if (nExtTab1 == nExtTab2)
+ {
+ // single cell reference
@@ -4965,6 +4965,28 @@
+ }
+ }
+ break;
++ case 0x3B:
++ {
++ // area reference
++ sal_uInt16 nExtTab1, nExtTab2, nRow1, nRow2, nGrbitCol1, nGrbitCol2;
++ rStrm >> nExtTab1 >> nExtTab2 >> nRow1 >> nRow2 >> nGrbitCol1 >> nGrbitCol2;
++ SingleRefData& rR1 = aCRD.Ref1;
++ SingleRefData& rR2 = aCRD.Ref2;
++
++ rR1.nTab = nExtTab1;
++ rR1.SetFlag3D(true);
++ rR1.SetTabRel(false);
++ ExcRelToScRel8(nRow1, nGrbitCol1, rR1, true);
++
++ rR2.nTab = nExtTab2;
++ rR2.SetFlag3D(true);
++ rR2.SetTabRel(false);
++ ExcRelToScRel8(nRow2, nGrbitCol2, rR2, true);
++
++ String aTabName = rTabNames[nExtTab1];
++ aStack << aPool.StoreExtRef(nFileId, aTabName, aCRD);
++ }
++ break;
+ default:
+ bError = true;
+ }
@@ -5000,10 +5022,10 @@
void ExcelToSc8::ExcRelToScRel8( UINT16 nRow, UINT16 nC, SingleRefData &rSRD, const BOOL bName )
{
diff --git sc/source/filter/excel/read.cxx sc/source/filter/excel/read.cxx
-index eea6293..a868e17 100644
+index b04da7a..56ced4c 100644
--- sc/source/filter/excel/read.cxx
+++ sc/source/filter/excel/read.cxx
-@@ -967,7 +967,7 @@ FltError ImportExcel8::Read( void )
+@@ -969,7 +969,7 @@ FltError ImportExcel8::Read( void )
case EXC_ID_SUPBOOK: rLinkMgr.ReadSupbook( maStrm ); break;
case EXC_ID_XCT: rLinkMgr.ReadXct( maStrm ); break;
case EXC_ID_CRN: rLinkMgr.ReadCrn( maStrm ); break;
@@ -5013,7 +5035,7 @@
case EXC_ID_MSODRAWINGGROUP:rObjMgr.ReadMsoDrawingGroup( maStrm ); break;
diff --git sc/source/filter/excel/tokstack.cxx sc/source/filter/excel/tokstack.cxx
-index 20ada63..9c4ddba 100644
+index 182d058..d524ef5 100644
--- sc/source/filter/excel/tokstack.cxx
+++ sc/source/filter/excel/tokstack.cxx
@@ -395,6 +395,34 @@ void TokenPool::GetElement( const UINT16 nId )
@@ -5156,7 +5178,7 @@
diff --git sc/source/filter/excel/xeformula.cxx sc/source/filter/excel/xeformula.cxx
-index 3db8da7..dd46fd7 100644
+index dd20edf..d8ee782 100644
--- sc/source/filter/excel/xeformula.cxx
+++ sc/source/filter/excel/xeformula.cxx
@@ -42,6 +42,11 @@
@@ -6287,7 +6309,7 @@
{
mxImpl->Save( rStrm );
diff --git sc/source/filter/excel/xilink.cxx sc/source/filter/excel/xilink.cxx
-index 01932a5..9174fd9 100644
+index 01932a5..f906ef8 100644
--- sc/source/filter/excel/xilink.cxx
+++ sc/source/filter/excel/xilink.cxx
@@ -38,6 +38,13 @@
@@ -6428,13 +6450,15 @@
if( ::get_flag( nFlags, EXC_EXTN_BUILTIN ) || !::get_flag( nFlags, EXC_EXTN_OLE_OR_DDE ) )
{
if( bAddIn )
-@@ -319,6 +317,28 @@ XclImpExtName::XclImpExtName( XclImpStream& rStrm, bool bAddIn )
+@@ -319,6 +317,30 @@ XclImpExtName::XclImpExtName( XclImpStream& rStrm, bool bAddIn )
if( (meType == xlExtDDE) && (rStrm.GetRecLeft() > 1) )
mxDdeMatrix.reset( new XclImpCachedMatrix( rStrm ) );
+
+ if (meType == xlExtName)
+ {
++ // TODO: For now, only global external names are supported. In future
++ // we should extend this to supporting per-sheet external names.
+ if (mnStorageId == 0)
+ {
+ if (pFormulaConv)
@@ -6457,20 +6481,28 @@
}
XclImpExtName::~XclImpExtName()
-@@ -333,6 +353,12 @@ void XclImpExtName::CreateDdeData( ScDocument& rDoc, const String& rApplic, cons
+@@ -333,6 +355,20 @@ void XclImpExtName::CreateDdeData( ScDocument& rDoc, const String& rApplic, cons
rDoc.CreateDdeLink( rApplic, rTopic, maName, SC_DDE_DEFAULT, xResults );
}
+void XclImpExtName::CreateExtNameData( ScDocument& rDoc, sal_uInt16 nFileId ) const
+{
++ if (!mxArray.get())
++ return;
++
+ ScExternalRefManager* pRefMgr = rDoc.GetExternalRefManager();
+ pRefMgr->storeRangeNameTokens(nFileId, maName, *mxArray);
+}
+
++bool XclImpExtName::HasFormulaTokens() const
++{
++ return (mxArray.get() != NULL);
++}
++
// Cached external cells ======================================================
XclImpCrn::XclImpCrn( XclImpStream& rStrm, const XclAddress& rXclPos ) :
-@@ -341,29 +367,9 @@ XclImpCrn::XclImpCrn( XclImpStream& rStrm, const XclAddress& rXclPos ) :
+@@ -341,29 +377,9 @@ XclImpCrn::XclImpCrn( XclImpStream& rStrm, const XclAddress& rXclPos ) :
{
}
@@ -6502,7 +6534,7 @@
}
// Sheet in an external document ==============================================
-@@ -383,13 +389,40 @@ void XclImpSupbookTab::ReadCrn( XclImpStream& rStrm, const XclAddress& rXclPos )
+@@ -383,13 +399,40 @@ void XclImpSupbookTab::ReadCrn( XclImpStream& rStrm, const XclAddress& rXclPos )
maCrnList.Append( new XclImpCrn( rStrm, rXclPos ) );
}
@@ -6549,7 +6581,7 @@
}
// External document (SUPBOOK) ================================================
-@@ -453,25 +486,9 @@ void XclImpSupbook::ReadCrn( XclImpStream& rStrm )
+@@ -453,25 +496,9 @@ void XclImpSupbook::ReadCrn( XclImpStream& rStrm )
}
}
@@ -6577,7 +6609,7 @@
}
const XclImpExtName* XclImpSupbook::GetExternName( sal_uInt16 nXclIndex ) const
-@@ -492,20 +509,46 @@ const String& XclImpSupbook::GetMacroName( sal_uInt16 nXclNameIdx ) const
+@@ -492,20 +519,46 @@ const String& XclImpSupbook::GetMacroName( sal_uInt16 nXclNameIdx ) const
return (pName && pName->IsVBName()) ? pName->GetScName() : EMPTY_STRING;
}
@@ -6608,19 +6640,19 @@
+{
+ if (meType != EXC_SBTYPE_EXTERN || GetExtDocOptions().GetDocSettings().mnLinkCnt > 0)
+ return;
-+
-+ String aAbsUrl( ScGlobal::GetAbsDocName(maXclUrl, GetDocShell()) );
- // get filter name for external document
- if( !maFilterName.Len() )
- ScDocumentLoader::GetFilterName( aAbsUrl, maFilterName, maFilterOpt, FALSE, FALSE );
-+ ScExternalRefManager* pRefMgr = GetRoot().GetDoc().GetExternalRefManager();
-+ sal_uInt16 nFileId = pRefMgr->getExternalFileId(aAbsUrl);
++ String aAbsUrl( ScGlobal::GetAbsDocName(maXclUrl, GetDocShell()) );
- // create tables
- for( sal_uInt16 nSBTab = nSBTabFirst; nSBTab <= nSBTabLast; ++nSBTab )
- if( XclImpSupbookTab* pSBTab = maSupbTabList.GetObject( nSBTab ) )
- pSBTab->CreateAndFillTable( GetRoot(), aAbsUrl, maFilterName, maFilterOpt );
++ ScExternalRefManager* pRefMgr = GetRoot().GetDoc().GetExternalRefManager();
++ sal_uInt16 nFileId = pRefMgr->getExternalFileId(aAbsUrl);
++
+ sal_uInt16 nCount = static_cast< sal_uInt16 >( maSupbTabList.Count() );
+ for (sal_uInt16 i = 0; i < nCount; ++i)
+ {
@@ -6634,7 +6666,7 @@
}
}
-@@ -531,7 +574,7 @@ void XclImpLinkManagerImpl::ReadExternsheet( XclImpStream& rStrm )
+@@ -531,7 +584,7 @@ void XclImpLinkManagerImpl::ReadExternsheet( XclImpStream& rStrm )
--nXtiCount;
}
@@ -6643,7 +6675,7 @@
}
void XclImpLinkManagerImpl::ReadSupbook( XclImpStream& rStrm )
-@@ -551,10 +594,10 @@ void XclImpLinkManagerImpl::ReadCrn( XclImpStream& rStrm )
+@@ -551,10 +604,10 @@ void XclImpLinkManagerImpl::ReadCrn( XclImpStream& rStrm )
pSupbook->ReadCrn( rStrm );
}
@@ -6656,7 +6688,7 @@
}
bool XclImpLinkManagerImpl::IsSelfRef( sal_uInt16 nXtiIndex ) const
-@@ -568,10 +611,10 @@ bool XclImpLinkManagerImpl::GetScTabRange(
+@@ -568,10 +621,10 @@ bool XclImpLinkManagerImpl::GetScTabRange(
{
if( const XclImpXti* pXti = maXtiList.GetObject( nXtiIndex ) )
{
@@ -6670,7 +6702,7 @@
return true;
}
}
-@@ -584,6 +627,20 @@ const XclImpExtName* XclImpLinkManagerImpl::GetExternName( sal_uInt16 nXtiIndex,
+@@ -584,6 +637,20 @@ const XclImpExtName* XclImpLinkManagerImpl::GetExternName( sal_uInt16 nXtiIndex,
return pSupbook ? pSupbook->GetExternName( nExtName ) : 0;
}
@@ -6691,7 +6723,7 @@
bool XclImpLinkManagerImpl::GetLinkData( String& rApplic, String& rTopic, sal_uInt16 nXtiIndex ) const
{
const XclImpSupbook* pSupbook = GetSupbook( nXtiIndex );
-@@ -596,12 +653,6 @@ const String& XclImpLinkManagerImpl::GetMacroName( sal_uInt16 nExtSheet, sal_uIn
+@@ -596,12 +663,6 @@ const String& XclImpLinkManagerImpl::GetMacroName( sal_uInt16 nExtSheet, sal_uIn
return pSupbook ? pSupbook->GetMacroName( nExtName ) : EMPTY_STRING;
}
@@ -6704,7 +6736,7 @@
const XclImpSupbook* XclImpLinkManagerImpl::GetSupbook( sal_uInt32 nXtiIndex ) const
{
const XclImpXti* pXti = maXtiList.GetObject( nXtiIndex );
-@@ -616,26 +667,17 @@ const XclImpSupbook* XclImpLinkManagerImpl::GetSupbook( const String& rUrl ) con
+@@ -616,26 +677,17 @@ const XclImpSupbook* XclImpLinkManagerImpl::GetSupbook( const String& rUrl ) con
return 0;
}
@@ -6737,7 +6769,7 @@
}
bool XclImpLinkManagerImpl::FindNextTabRange(
-@@ -686,9 +728,9 @@ void XclImpLinkManager::ReadCrn( XclImpStream& rStrm )
+@@ -686,9 +738,9 @@ void XclImpLinkManager::ReadCrn( XclImpStream& rStrm )
mxImpl->ReadCrn( rStrm );
}
@@ -6749,7 +6781,7 @@
}
bool XclImpLinkManager::IsSelfRef( sal_uInt16 nXtiIndex ) const
-@@ -707,6 +749,16 @@ const XclImpExtName* XclImpLinkManager::GetExternName( sal_uInt16 nXtiIndex, sal
+@@ -707,6 +759,16 @@ const XclImpExtName* XclImpLinkManager::GetExternName( sal_uInt16 nXtiIndex, sal
return mxImpl->GetExternName( nXtiIndex, nExtName );
}
@@ -6766,7 +6798,7 @@
bool XclImpLinkManager::GetLinkData( String& rApplic, String& rTopic, sal_uInt16 nXtiIndex ) const
{
return mxImpl->GetLinkData( rApplic, rTopic, nXtiIndex );
-@@ -717,10 +769,5 @@ const String& XclImpLinkManager::GetMacroName( sal_uInt16 nExtSheet, sal_uInt16
+@@ -717,10 +779,5 @@ const String& XclImpLinkManager::GetMacroName( sal_uInt16 nExtSheet, sal_uInt16
return mxImpl->GetMacroName( nExtSheet, nExtName );
}
@@ -6868,7 +6900,7 @@
virtual BOOL GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Size nLen );
diff --git sc/source/filter/inc/tokstack.hxx sc/source/filter/inc/tokstack.hxx
-index 89e955a..5bb6772 100644
+index 4deb8f7..2d59225 100644
--- sc/source/filter/inc/tokstack.hxx
+++ sc/source/filter/inc/tokstack.hxx
@@ -35,6 +35,8 @@
@@ -6938,7 +6970,7 @@
- inline const SingleRefData* GetSRD( const TokenId& nId ) const;
BOOL IsSingleOp( const TokenId& nId, const DefTokenId eId ) const;
const String* GetExternal( const TokenId& nId ) const;
- const String* GetString( const TokenId& nId ) const;
+ //UNUSED2008-05 const String* GetString( const TokenId& nId ) const;
@@ -374,21 +407,5 @@ inline E_TYPE TokenPool::GetType( const TokenId& rId ) const
}
@@ -7005,7 +7037,7 @@
virtual void Save( XclExpStream& rStrm );
diff --git sc/source/filter/inc/xilink.hxx sc/source/filter/inc/xilink.hxx
-index 0d547fe..3983e4d 100644
+index 0d547fe..8b74794 100644
--- sc/source/filter/inc/xilink.hxx
+++ sc/source/filter/inc/xilink.hxx
@@ -107,6 +107,8 @@ enum XclImpExtNameType
@@ -7017,7 +7049,7 @@
/** Stores contents of an external name.
@descr Supported: External defined names, AddIn names, DDE links and OLE objects. */
-@@ -114,21 +116,26 @@ class XclImpExtName
+@@ -114,21 +116,28 @@ class XclImpExtName
{
public:
/** Reads the external name from the stream. */
@@ -7032,6 +7064,8 @@
+ void CreateExtNameData( ScDocument& rDoc, sal_uInt16 nFileId ) const;
+
++ bool HasFormulaTokens() const;
++
inline XclImpExtNameType GetType() const { return meType; }
inline const String& GetName() const { return maName; }
inline sal_uInt32 GetStorageId() const { return mnStorageId; }
@@ -7045,7 +7079,7 @@
String maName; /// The name of the external name.
sal_uInt32 mnStorageId; /// Storage ID for OLE object storages.
XclImpExtNameType meType; /// Type of the external name.
-@@ -168,7 +175,7 @@ public:
+@@ -168,7 +177,7 @@ public:
/** Reads a CRN record and appends it to the current SUPBOOK. */
void ReadCrn( XclImpStream& rStrm );
/** Reads an EXTERNNAME record and appends it to the current SUPBOOK. */
@@ -7054,7 +7088,7 @@
/** Returns true, if the specified XTI entry contains an internal reference. */
bool IsSelfRef( sal_uInt16 nXtiIndex ) const;
-@@ -179,6 +186,11 @@ public:
+@@ -179,6 +188,11 @@ public:
sal_uInt16 nXtiIndex ) const;
/** Returns the specified external name or 0 on error. */
const XclImpExtName* GetExternName( sal_uInt16 nXtiIndex, sal_uInt16 nExtName ) const;
@@ -7066,7 +7100,7 @@
/** Tries to decode the URL of the specified XTI entry to OLE or DDE link components.
@descr For DDE links: Decodes to application name and topic.
For OLE object links: Decodes to class name and document URL.
-@@ -187,10 +199,6 @@ public:
+@@ -187,10 +201,6 @@ public:
/** Returns the specified macro name or an empty string on error. */
const String& GetMacroName( sal_uInt16 nExtSheet, sal_uInt16 nExtName ) const;
@@ -7078,7 +7112,7 @@
typedef ::std::auto_ptr< XclImpLinkManagerImpl > XclImpLinkMgrImplPtr;
XclImpLinkMgrImplPtr mxImpl;
diff --git sc/source/filter/xcl97/XclImpChangeTrack.cxx sc/source/filter/xcl97/XclImpChangeTrack.cxx
-index 022b472..a1efd3e 100644
+index 72d3772..1d7e6a9 100644
--- sc/source/filter/xcl97/XclImpChangeTrack.cxx
+++ sc/source/filter/xcl97/XclImpChangeTrack.cxx
@@ -40,6 +40,7 @@
@@ -7117,7 +7151,7 @@
}
return sal_True;
}
-@@ -329,7 +337,8 @@ void XclImpChangeTrack::ReadChTrCellContent()
+@@ -327,7 +335,8 @@ void XclImpChangeTrack::ReadChTrCellContent()
if( CheckRecord( EXC_CHTR_OP_CELL ) )
{
ScAddress aPosition;
@@ -7127,7 +7161,7 @@
sal_uInt16 nValueType;
*pStrm >> nValueType;
sal_uInt16 nOldValueType = (nValueType >> 3) & EXC_CHTR_TYPE_MASK;
-@@ -490,9 +499,9 @@ XclImpChTrFmlConverter::~XclImpChTrFmlConverter()
+@@ -488,9 +497,9 @@ XclImpChTrFmlConverter::~XclImpChTrFmlConverter()
}
// virtual, called from ExcToSc8::Convert()
@@ -7209,7 +7243,7 @@
//------------------------------------------------------------------
diff --git sc/source/filter/xml/xmlcelli.cxx sc/source/filter/xml/xmlcelli.cxx
-index 92eb208..a990e54 100644
+index 79ba70c..cc0a6a2 100644
--- sc/source/filter/xml/xmlcelli.cxx
+++ sc/source/filter/xml/xmlcelli.cxx
@@ -146,185 +146,131 @@ ScXMLTableRowCellContext::ScXMLTableRowCellContext( ScXMLImport& rImport,
@@ -7564,7 +7598,7 @@
//------------------------------------------------------------------
diff --git sc/source/filter/xml/xmlexprt.cxx sc/source/filter/xml/xmlexprt.cxx
-index fcf3e8b..88449bc 100644
+index 865bd05..7604afa 100644
--- sc/source/filter/xml/xmlexprt.cxx
+++ sc/source/filter/xml/xmlexprt.cxx
@@ -68,6 +68,7 @@
@@ -8256,7 +8290,7 @@
void ScXMLExport::WriteConsolidation()
{
diff --git sc/source/filter/xml/xmlexprt.hxx sc/source/filter/xml/xmlexprt.hxx
-index e4fcc10..a6385f1 100644
+index f021601..7d55e81 100644
--- sc/source/filter/xml/xmlexprt.hxx
+++ sc/source/filter/xml/xmlexprt.hxx
@@ -38,6 +38,8 @@
@@ -8302,7 +8336,7 @@
void ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32 nStartRow,
const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet);
void WriteRowContent();
-@@ -196,6 +202,7 @@ class ScXMLExport : public SvXMLExport
+@@ -197,6 +203,7 @@ class ScXMLExport : public SvXMLExport
void WriteTheLabelRanges(const com::sun::star::uno::Reference< com::sun::star::sheet::XSpreadsheetDocument >& xSpreadDoc);
void WriteLabelRanges( const com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess >& xRangesIAccess, sal_Bool bColumn );
void WriteNamedExpressions(const com::sun::star::uno::Reference <com::sun::star::sheet::XSpreadsheetDocument>& xSpreadDoc);
@@ -8828,7 +8862,7 @@
+
+#endif
diff --git sc/source/filter/xml/xmlimprt.cxx sc/source/filter/xml/xmlimprt.cxx
-index 2299598..2ebdc76 100644
+index 7ac00ad..99beb2d 100644
--- sc/source/filter/xml/xmlimprt.cxx
+++ sc/source/filter/xml/xmlimprt.cxx
@@ -104,6 +104,7 @@
@@ -8839,8 +8873,11 @@
OUString SAL_CALL ScXMLImport_getImplementationName() throw()
{
-@@ -417,22 +418,22 @@ static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTokenMap[] =
+@@ -417,27 +418,25 @@ static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTokenMap[] =
+ XML_TOKEN_MAP_END
+ };
+-#if 0 // apparently not used - 2008-08-15 (Friday)
static __FAR_DATA SvXMLTokenMapEntry aTableRowCellAttrTokenMap[] =
{
- { XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_ROW_CELL_ATTR_STYLE_NAME },
@@ -8876,9 +8913,30 @@
+ { XML_NAMESPACE_OFFICE, XML_CURRENCY, XML_TOK_TABLE_ROW_CELL_ATTR_CURRENCY },
+ XML_TOKEN_MAP_END
};
+-#endif
static __FAR_DATA SvXMLTokenMapEntry aTableAnnotationAttrTokenMap[] =
-@@ -1561,6 +1562,25 @@ ScXMLImport::ScXMLImport(
+ {
+@@ -1121,12 +1120,12 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTokenMap()
+ return *pTableRowCellElemTokenMap;
+ }
+
+-//UNUSED2008-05 const SvXMLTokenMap& ScXMLImport::GetTableRowCellAttrTokenMap()
+-//UNUSED2008-05 {
+-//UNUSED2008-05 if ( !pTableRowCellAttrTokenMap )
+-//UNUSED2008-05 pTableRowCellAttrTokenMap = new SvXMLTokenMap( aTableRowCellAttrTokenMap );
+-//UNUSED2008-05 return *pTableRowCellAttrTokenMap;
+-//UNUSED2008-05 }
++const SvXMLTokenMap& ScXMLImport::GetTableRowCellAttrTokenMap()
++{
++ if ( !pTableRowCellAttrTokenMap )
++ pTableRowCellAttrTokenMap = new SvXMLTokenMap( aTableRowCellAttrTokenMap );
++ return *pTableRowCellAttrTokenMap;
++}
+
+ const SvXMLTokenMap& ScXMLImport::GetTableAnnotationAttrTokenMap()
+ {
+@@ -1565,6 +1564,25 @@ ScXMLImport::ScXMLImport(
GetXMLToken( XML_NP_PRESENTATION ),
GetXMLToken( XML_N_PRESENTATION ),
XML_NAMESPACE_PRESENTATION );
@@ -8904,7 +8962,7 @@
}
ScXMLImport::~ScXMLImport() throw()
-@@ -1777,6 +1797,15 @@ void ScXMLImport::SetStatistics(
+@@ -1781,6 +1799,15 @@ void ScXMLImport::SetStatistics(
}
}
@@ -8921,7 +8979,7 @@
{
/*UniReference < XMLPropertySetMapper > xShapeStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScShapeStylesProperties, xScPropHdlFactory);
diff --git sc/source/filter/xml/xmlimprt.hxx sc/source/filter/xml/xmlimprt.hxx
-index e4fd8a0..cace08e 100644
+index 9e7682d..6e028f5 100644
--- sc/source/filter/xml/xmlimprt.hxx
+++ sc/source/filter/xml/xmlimprt.hxx
@@ -40,7 +40,6 @@
@@ -8967,6 +9025,15 @@
// SvI18NMap& GetI18NMap() { return *pI18NMap; }
// inline const SvXMLImportItemMapper& GetParaItemMapper() const;
+@@ -849,7 +854,7 @@ public:
+ const SvXMLTokenMap& GetTableRowElemTokenMap();
+ const SvXMLTokenMap& GetTableRowAttrTokenMap();
+ const SvXMLTokenMap& GetTableRowCellElemTokenMap();
+-//UNUSED2008-05 const SvXMLTokenMap& GetTableRowCellAttrTokenMap();
++ const SvXMLTokenMap& GetTableRowCellAttrTokenMap();
+ const SvXMLTokenMap& GetTableAnnotationAttrTokenMap();
+ const SvXMLTokenMap& GetDetectiveElemTokenMap();
+ const SvXMLTokenMap& GetDetectiveHighlightedAttrTokenMap();
diff --git sc/source/filter/xml/xmlsceni.cxx sc/source/filter/xml/xmlsceni.cxx
index cfe859d..f4d6c89 100644
--- sc/source/filter/xml/xmlsceni.cxx
@@ -9295,7 +9362,7 @@
sal_Bool bPrintEntireSheet;
diff --git sc/source/filter/xml/xmlwrap.cxx sc/source/filter/xml/xmlwrap.cxx
-index 851d338..035793b 100644
+index 51410d2..5bf61f7 100644
--- sc/source/filter/xml/xmlwrap.cxx
+++ sc/source/filter/xml/xmlwrap.cxx
@@ -85,6 +85,7 @@
@@ -9307,7 +9374,7 @@
// -----------------------------------------------------------------------
diff --git sc/source/ui/docshell/docsh4.cxx sc/source/ui/docshell/docsh4.cxx
-index bc5975d..6701d1c 100644
+index 8e79d9f..783c7f9 100644
--- sc/source/ui/docshell/docsh4.cxx
+++ sc/source/ui/docshell/docsh4.cxx
@@ -123,6 +123,7 @@ using namespace ::com::sun::star;
@@ -9318,7 +9385,7 @@
#include "sharedocdlg.hxx"
-@@ -540,6 +541,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
+@@ -510,6 +511,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
if (nDlgRet == RET_YES || nSet==LM_ALWAYS)
{
ReloadTabLinks();
@@ -11308,10 +11375,10 @@
ScDocFunc aFunc( *pDocSh );
ScBaseCell* pNewCell = new ScFormulaCell( pDoc, aCellPos, &aTokenArray );
diff --git sc/source/ui/unoobj/docuno.cxx sc/source/ui/unoobj/docuno.cxx
-index 5a8c983..6a2fabf 100644
+index fa03a13..a340ff2 100644
--- sc/source/ui/unoobj/docuno.cxx
+++ sc/source/ui/unoobj/docuno.cxx
-@@ -123,6 +123,7 @@ const SfxItemPropertyMap* lcl_GetDocOptPropertyMap()
+@@ -124,6 +124,7 @@ const SfxItemPropertyMap* lcl_GetDocOptPropertyMap()
{MAP_CHAR_LEN(SC_UNO_COLLABELRNG), 0, &getCppuType((uno::Reference<sheet::XLabelRanges>*)0), 0, 0},
{MAP_CHAR_LEN(SC_UNO_DDELINKS), 0, &getCppuType((uno::Reference<container::XNameAccess>*)0), 0, 0},
{MAP_CHAR_LEN(SC_UNO_DEFTABSTOP), 0, &getCppuType((sal_Int16*)0), 0, 0},
@@ -11319,7 +11386,7 @@
{MAP_CHAR_LEN(SC_UNO_FORBIDDEN), 0, &getCppuType((uno::Reference<i18n::XForbiddenCharacters>*)0), beans::PropertyAttribute::READONLY, 0},
{MAP_CHAR_LEN(SC_UNO_HASDRAWPAGES), 0, &getBooleanCppuType(), beans::PropertyAttribute::READONLY, 0},
{MAP_CHAR_LEN(SC_UNO_IGNORECASE), 0, &getBooleanCppuType(), 0, 0},
-@@ -1537,6 +1538,10 @@ uno::Any SAL_CALL ScModelObj::getPropertyValue( const rtl::OUString& aPropertyNa
+@@ -1515,6 +1516,10 @@ uno::Any SAL_CALL ScModelObj::getPropertyValue( const rtl::OUString& aPropertyNa
{
aRet <<= uno::Reference<container::XNameAccess>(new ScDDELinksObj( pDocShell ));
}
@@ -11331,7 +11398,7 @@
{
aRet <<= uno::Reference<container::XNameAccess>(new ScSheetLinksObj( pDocShell ));
diff --git sc/source/ui/unoobj/fmtuno.cxx sc/source/ui/unoobj/fmtuno.cxx
-index eb9f55b..c41ebe5 100644
+index 5809002..0a0332a 100644
--- sc/source/ui/unoobj/fmtuno.cxx
+++ sc/source/ui/unoobj/fmtuno.cxx
@@ -197,14 +197,14 @@ void ScTableConditionalFormat::FillFormat( ScConditionalFormat& rFormat,
@@ -12038,7 +12105,7 @@
}
else
diff --git sc/source/ui/view/tabvwsh4.cxx sc/source/ui/view/tabvwsh4.cxx
-index 436f0eb..2bf1f26 100644
+index ed7d4a5..b5f01f4 100644
--- sc/source/ui/view/tabvwsh4.cxx
+++ sc/source/ui/view/tabvwsh4.cxx
@@ -100,6 +100,7 @@
@@ -12049,7 +12116,7 @@
void ActivateOlk( ScViewData* pViewData );
void DeActivateOlk( ScViewData* pViewData );
-@@ -1833,11 +1834,8 @@ void ScTabViewShell::Construct( BYTE nForceDesignMode )
+@@ -1822,11 +1823,8 @@ void ScTabViewShell::Construct( BYTE nForceDesignMode )
if ( pDocSh->GetCreateMode() != SFX_CREATE_MODE_INTERNAL &&
pDocSh->IsUpdateEnabled() ) // #105575#; update only in the first creation of the ViewShell
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]