View | Details | Raw Unified | Return to issue 61771
Collapse All | Expand All

(-)source/ui/unoobj/shapeuno.cxx (-1 / +15 lines)
Lines 165-171 Link Here
165
165
166
void SAL_CALL ScShapeObj::release() throw()
166
void SAL_CALL ScShapeObj::release() throw()
167
{
167
{
168
	OWeakObject::release();
168
	if (osl_decrementInterlockedCount( &m_refCount ) == 0)
169
    {
170
	    ScUnoGuard aGuard;
171
172
        // restore the ref-count
173
        osl_incrementInterlockedCount( &m_refCount );
174
        // Base classes "release":
175
        // This will decrement the ref count, again, reset any WeakConnectionPoints
176
        // (so for instance the SdrObject holding cannot access us anymore)
177
        // and "delete this".
178
        // All of this has be done inside a single transaction, thus this block
179
        // is guarded with an ScUnoGuard;
180
        OWeakObject::release();
181
        // #i61771# / 2006-02-08 / frank.schoenheit@sun.com
182
    }
169
}
183
}
170
184
171
uno::Reference<beans::XPropertySet> lcl_GetPropertySet( const uno::Reference<uno::XAggregation>& xAgg )
185
uno::Reference<beans::XPropertySet> lcl_GetPropertySet( const uno::Reference<uno::XAggregation>& xAgg )

Return to issue 61771