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 ) |