--- ucb/source/ucp/tdoc/tdoc_stgelems.cxx.o 2011-11-30 23:38:55.549960900 +0800 +++ ucb/source/ucp/tdoc/tdoc_stgelems.cxx 2012-08-28 16:35:31.670522000 +0800 @@ -191,11 +191,14 @@ void SAL_CALL Storage::release() throw () { - if ( osl_decrementInterlockedCount( &m_refCount ) == 0 ) - { + //#ixxxx, Storage::release overrides OWeakObject::release(), + //need call OWeakObject::release() to release OWeakObject::m_pWeakConnectionPoint + + if ( m_refCount == 1 ) m_xFactory->releaseElement( this ); - delete this; - } + + //delete this; + OWeakObject::release(); } //=========================================================================