User: hr Date: 05/09/23 05:06:00 Modified: /dba/dbaccess/source/core/dataaccess/ definitioncontainer.cxx
Log: INTEGRATION: CWS dba201b (1.18.36); FILE MERGED 2005/09/21 07:02:17 oj 1.18.36.2: RESYNC: (1.18-1.19); FILE MERGED 2005/07/06 07:46:54 oj 1.18.36.1: #i48015# throw illegalargument exception when object is inserted twice with different name File Changes: Directory: /dba/dbaccess/source/core/dataaccess/ ================================================ File [changed]: definitioncontainer.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/dataaccess/definitioncontainer.cxx?r1=1.19&r2=1.20 Delta lines: +25 -1 -------------------- --- definitioncontainer.cxx 8 Sep 2005 13:29:22 -0000 1.19 +++ definitioncontainer.cxx 23 Sep 2005 12:05:57 -0000 1.20 @@ -566,7 +566,31 @@ // ----------------------------------------------------------------------------- sal_Bool ODefinitionContainer::approveNewObject(const ::rtl::OUString& _sName,const Reference< XContent >& _rxObject) const { - return _rxObject.is(); + Reference<XUnoTunnel> xUnoTunnel(_rxObject,UNO_QUERY); + ::rtl::Reference<OContentHelper> pContent = NULL; + sal_Bool bRet = sal_False; + ODefinitionContainer_Impl* pItem = static_cast<ODefinitionContainer_Impl*>(m_pImpl.get()); + ODefinitionContainer_Impl::Documents::iterator aFind = pItem->m_aDocumentMap.find(_sName); + if ( aFind == pItem->m_aDocumentMap.end() ) + { + if ( bRet = xUnoTunnel.is() ) + { + pContent = reinterpret_cast<OContentHelper*>(xUnoTunnel->getSomething(OContentHelper::getUnoTunnelImplementationId())); + TContentPtr pImpl = pContent->getImpl(); + ODefinitionContainer_Impl::Documents::iterator aIter = + ::std::find_if( + pItem->m_aDocumentMap.begin(), + pItem->m_aDocumentMap.end(), + ::std::compose1( + ::std::bind2nd(::std::equal_to<TContentPtr>(), pImpl), + ::std::select2nd<ODefinitionContainer_Impl::Documents::value_type>() + ) + ); + + bRet = aIter == pItem->m_aDocumentMap.end(); + } + } + return bRet; } // ----------------------------------------------------------------------------- // XPropertyChangeListener --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
