Kaydet (Commit) 4a128f33 authored tarafından Noel Grandin's avatar Noel Grandin Kaydeden (comit) Michael Meeks

tdf#109197 crash when deleting user field variables in sw

regression from:
commit a706bb06
"new loplugin: useuniqueptr: sw part 1"

Change-Id: I57f9c9e6d7eeccc033b71d7182c960f3d79df73c
Reviewed-on: https://gerrit.libreoffice.org/40240Reviewed-by: 's avatarMichael Stahl <mstahl@redhat.com>
Tested-by: 's avatarJenkins <ci@libreoffice.org>
üst 3fdc41af
......@@ -1135,15 +1135,18 @@ void SwDocUpdateField::RemoveFieldType( const SwFieldType& rType )
if( pFnd )
{
if( aFieldTypeTable[ n ] == pFnd )
{
aFieldTypeTable[ n ] = static_cast<SwCalcFieldType*>(pFnd->pNext.release());
delete pFnd;
}
else
{
SwHash* pPrev = aFieldTypeTable[ n ];
while( pPrev->pNext.get() != pFnd )
pPrev = pPrev->pNext.get();
pPrev->pNext = std::move(pFnd->pNext);
// no need to explicitly delete here, the embedded linked list uses unique_ptr
}
delete pFnd;
}
}
}
......
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