Kaydet (Commit) dc735835 authored tarafından Noel Grandin's avatar Noel Grandin

crash-testing fdo86059-1.xlsx

blind fix since I can't reproduce. But I can see from the reported
threads that two different threads are entering SfxItemPool::Put and
consequently the debug runtime throws an iterator exception.

Change-Id: Idaa6a93b134edc49bda8cd7876bb216d5aec7037
Reviewed-on: https://gerrit.libreoffice.org/73272
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 42bf893a
......@@ -2554,6 +2554,10 @@ ScColumnsRange ScTable::GetColumnsRange(SCCOL nColBegin, SCCOL nColEnd) const
// out-of-line the cold part of the CreateColumnIfNotExists function
void ScTable::CreateColumnIfNotExistsImpl( const SCCOL nScCol ) const
{
// When doing multi-threaded load of, e.g. XLS files, we can hit this, which calls
// into SfxItemPool::Put, in parallel with other code that calls into SfxItemPool::Put,
// which is bad since that code is not thread-safe.
SolarMutexGuard aGuard;
const SCCOL aOldColSize = aCol.size();
aCol.resize( static_cast< size_t >( nScCol + 1 ) );
for (SCCOL i = aOldColSize; i <= nScCol; i++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment