Revert "don't write item right before destruction"
triggers warnings in the dtor if RefCount isn't reset.
revert till we have better ref counts and don't need debug code in dtor.
This reverts commit b74d2433c8
.
Change-Id: I1835885d94e15339aa7602037d850e1524fd9662
Reviewed-on: https://gerrit.libreoffice.org/29427
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Tested-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
This commit is contained in:
@@ -59,6 +59,10 @@ void SfxItemDisruptor_Impl::LaunchDeleteOnIdle()
|
||||
SfxItemDisruptor_Impl::~SfxItemDisruptor_Impl()
|
||||
{
|
||||
m_Idle.Stop();
|
||||
|
||||
// reset RefCount (was set to SFX_ITEMS_SPECIAL before!)
|
||||
pItem->SetRefCount( 0 );
|
||||
|
||||
delete pItem;
|
||||
}
|
||||
|
||||
|
@@ -334,12 +334,9 @@ void SfxItemPool::ReleaseDefaults
|
||||
for ( sal_uInt16 n = 0; n < nCount; ++n )
|
||||
{
|
||||
assert(IsStaticDefaultItem(pDefaults[n]));
|
||||
|
||||
pDefaults[n]->SetRefCount(0);
|
||||
if ( bDelete )
|
||||
{ delete pDefaults[n] ; pDefaults[n]= nullptr; }
|
||||
else
|
||||
pDefaults[n]->SetRefCount(0);
|
||||
|
||||
}
|
||||
|
||||
if ( bDelete )
|
||||
@@ -520,6 +517,9 @@ void SfxItemPool::Delete()
|
||||
auto& rItemPtr = pImpl->maPoolDefaults[n];
|
||||
if (rItemPtr)
|
||||
{
|
||||
#ifdef DBG_UTIL
|
||||
SetRefCount(*rItemPtr, 0);
|
||||
#endif
|
||||
delete rItemPtr;
|
||||
rItemPtr = nullptr;
|
||||
}
|
||||
@@ -549,6 +549,9 @@ void SfxItemPool::Delete()
|
||||
{
|
||||
if (rItemPtr)
|
||||
{
|
||||
#ifdef DBG_UTIL
|
||||
SetRefCount(*rItemPtr, 0);
|
||||
#endif
|
||||
delete rItemPtr;
|
||||
rItemPtr = nullptr;
|
||||
}
|
||||
@@ -568,6 +571,7 @@ void SfxItemPool::SetPoolDefaultItem(const SfxPoolItem &rItem)
|
||||
pNewDefault->SetKind(SfxItemKind::PoolDefault);
|
||||
if (rOldDefault)
|
||||
{
|
||||
rOldDefault->SetRefCount(0);
|
||||
DELETEZ(rOldDefault);
|
||||
}
|
||||
rOldDefault = pNewDefault;
|
||||
@@ -592,6 +596,7 @@ void SfxItemPool::ResetPoolDefaultItem( sal_uInt16 nWhichId )
|
||||
pImpl->maPoolDefaults[GetIndex_Impl(nWhichId)];
|
||||
if (rOldDefault)
|
||||
{
|
||||
rOldDefault->SetRefCount(0);
|
||||
DELETEZ(rOldDefault);
|
||||
}
|
||||
}
|
||||
|
@@ -470,6 +470,7 @@ void SfxItemPool_Impl::readTheItems (
|
||||
{
|
||||
// Reuse
|
||||
SfxItemPool::AddRef( *pOldItem, rpNewItem->GetRefCount() );
|
||||
SfxItemPool::SetRefCount( *rpNewItem, 0 );
|
||||
delete rpNewItem;
|
||||
rpNewItem = pOldItem;
|
||||
bFound = true;
|
||||
|
Reference in New Issue
Block a user