[Libreoffice-commits] core.git: 2 commits - sc/inc sc/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Thu Apr 18 06:50:46 UTC 2019
sc/inc/document.hxx | 2 ++
sc/source/core/data/dociter.cxx | 4 ++--
sc/source/core/data/documen3.cxx | 5 +++++
sc/source/core/data/document10.cxx | 9 +++++++++
sc/source/filter/xml/XMLStylesExportHelper.cxx | 1 +
5 files changed, 19 insertions(+), 2 deletions(-)
New commits:
commit ac9aa53d51a4f359342274d107aed6df85658c55
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Apr 17 21:40:28 2019 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Apr 18 08:49:41 2019 +0200
crashtesting: failure on import of ooo6593-5.stc
since
commit 7282014e362a1529a36c88eb308df8ed359c2cfa
Date: Fri Feb 1 15:15:16 2019 +0100
tdf#50916 Makes numbers of columns dynamic
Change-Id: I858e61b3a1158bf47b5855e56d63c77cc87aa09b
Reviewed-on: https://gerrit.libreoffice.org/70902
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 48dbe6c04e69..cdeab88fdfcb 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -787,6 +787,7 @@ public:
ScRangePairListRef& GetRowNameRangesRef() { return xRowNameRanges; }
SC_DLLPUBLIC SCCOL ClampToAllocatedColumns(SCTAB nTab, SCCOL nCol) const;
+ SC_DLLPUBLIC SCCOL GetAllocatedColumnsCount(SCTAB nTab) const;
SC_DLLPUBLIC ScDBCollection* GetDBCollection() const { return pDBCollection.get();}
void SetDBCollection( std::unique_ptr<ScDBCollection> pNewDBCollection,
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 8458e2895684..ec81363846f2 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -829,7 +829,6 @@ ScCellIterator::ScCellIterator( ScDocument* pDoc, const ScRange& rRange, Subtota
maEndPos(rRange.aEnd),
mnSubTotalFlags(nSubTotalFlags)
{
- maEndPos.SetCol( pDoc->ClampToAllocatedColumns(maStartPos.Tab(), maEndPos.Col()) );
init();
}
@@ -914,7 +913,8 @@ bool ScCellIterator::getCurrent()
do
{
maCurPos.IncCol();
- if (maCurPos.Col() > maEndPos.Col())
+ if (maCurPos.Col() >= mpDoc->GetAllocatedColumnsCount(maCurPos.Tab())
+ || maCurPos.Col() > maEndPos.Col())
{
maCurPos.SetCol(maStartPos.Col());
maCurPos.IncTab();
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index 75f1cdab071a..0bcf1aa37580 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -2103,4 +2103,9 @@ SCCOL ScDocument::ClampToAllocatedColumns(SCTAB nTab, SCCOL nCol) const
return maTabs[nTab]->ClampToAllocatedColumns(nCol);
}
+SCCOL ScDocument::GetAllocatedColumnsCount(SCTAB nTab) const
+{
+ return maTabs[nTab]->GetAllocatedColumnsCount();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 3df2e918408535acd2c4d028bfae70901ad24e62
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Apr 17 21:03:26 2019 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Apr 18 08:49:32 2019 +0200
crashtesting: failure on export of ooo118068-1.ods to ods
since
commit 7282014e362a1529a36c88eb308df8ed359c2cfa
Date: Fri Feb 1 15:15:16 2019 +0100
tdf#50916 Makes numbers of columns dynamic
Change-Id: Ib8dc06b80beed81a2543f343483599c425e87369
Reviewed-on: https://gerrit.libreoffice.org/70901
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index bd6db82a7d00..48dbe6c04e69 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -2454,6 +2454,7 @@ public:
void DeleteBroadcasters( sc::ColumnBlockPosition& rBlockPos, const ScAddress& rTopPos, SCROW nLength );
std::unique_ptr<sc::ColumnIterator> GetColumnIterator( SCTAB nTab, SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
+ void CreateColumnIfNotExists( SCTAB nTab, SCCOL nCol );
SC_DLLPUBLIC void StoreTabToCache(SCTAB nTab, SvStream& rStrm) const;
SC_DLLPUBLIC void RestoreTabFromCache(SCTAB nTab, SvStream& rStream);
diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx
index c286ecba4c98..429fc33074fb 100644
--- a/sc/source/core/data/document10.cxx
+++ b/sc/source/core/data/document10.cxx
@@ -916,6 +916,15 @@ std::unique_ptr<sc::ColumnIterator> ScDocument::GetColumnIterator( SCTAB nTab, S
return pTab->GetColumnIterator(nCol, nRow1, nRow2);
}
+void ScDocument::CreateColumnIfNotExists( SCTAB nTab, SCCOL nCol )
+{
+ const ScTable* pTab = FetchTable(nTab);
+ if (!pTab)
+ return;
+
+ pTab->CreateColumnIfNotExists(nCol);
+}
+
bool ScDocument::EnsureFormulaCellResults( const ScRange& rRange, bool bSkipRunning )
{
bool bAnyDirty = false;
diff --git a/sc/source/filter/xml/XMLStylesExportHelper.cxx b/sc/source/filter/xml/XMLStylesExportHelper.cxx
index 6b2fb2e4a2a4..9cc648340a3c 100644
--- a/sc/source/filter/xml/XMLStylesExportHelper.cxx
+++ b/sc/source/filter/xml/XMLStylesExportHelper.cxx
@@ -455,6 +455,7 @@ void ScMyDefaultStyles::FillDefaultStyles(const sal_Int32 nTable,
return ;
SCTAB nTab = static_cast<SCTAB>(nTable);
+ pDoc->CreateColumnIfNotExists(nTab, nLastCol);
sal_Int32 nPos;
ScMyDefaultStyleList* pDefaults = &maColDefaults;
bool bPrevAutoStyle(false);
More information about the Libreoffice-commits
mailing list