connectivity/source/commontools/conncleanup.cxx | 2 connectivity/source/cpool/ZDriverWrapper.cxx | 2 connectivity/source/drivers/calc/CDriver.cxx | 2 connectivity/source/drivers/dbase/DDriver.cxx | 2 connectivity/source/drivers/evoab2/NResultSet.cxx | 2 connectivity/source/drivers/flat/EDriver.cxx | 2 connectivity/source/drivers/jdbc/JStatement.cxx | 2 connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx | 2 connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx | 2 connectivity/source/drivers/writer/WDriver.cxx | 7 -- reportdesign/source/core/api/FixedLine.cxx | 4 - reportdesign/source/core/api/Functions.cxx | 2 reportdesign/source/core/api/Groups.cxx | 2 reportdesign/source/core/api/ReportDefinition.cxx | 26 ++++------ reportdesign/source/core/api/Section.cxx | 2 reportdesign/source/core/sdr/RptModel.cxx | 10 +-- reportdesign/source/core/sdr/RptPage.cxx | 2 17 files changed, 34 insertions(+), 39 deletions(-)
New commits: commit e2360bfd6263dace3c0c441b78537c214687656f Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sun Apr 23 20:13:17 2023 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sun Jun 4 22:35:38 2023 +0200 Use getXWeak in connectivity Change-Id: Id301a9321f77e5ccc1269a3b677e9faeb19a4011 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150841 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/connectivity/source/commontools/conncleanup.cxx b/connectivity/source/commontools/conncleanup.cxx index cdb5069cb322..5504c4e14253 100644 --- a/connectivity/source/commontools/conncleanup.cxx +++ b/connectivity/source/commontools/conncleanup.cxx @@ -78,7 +78,7 @@ namespace dbtools void OAutoConnectionDisposer::stopPropertyListening( const Reference< XPropertySet >& _rxEventSource ) { // prevent deletion of ourself while we're herein - Reference< XInterface > xKeepAlive(static_cast< XWeak* >(this)); + Reference< XInterface > xKeepAlive(getXWeak()); try { // remove ourself as property change listener diff --git a/connectivity/source/cpool/ZDriverWrapper.cxx b/connectivity/source/cpool/ZDriverWrapper.cxx index 811f103bc9a6..9a1bdf971f97 100644 --- a/connectivity/source/cpool/ZDriverWrapper.cxx +++ b/connectivity/source/cpool/ZDriverWrapper.cxx @@ -48,7 +48,7 @@ namespace connectivity OSL_ENSURE(m_xDriver.is(), "ODriverWrapper::ODriverWrapper: invalid aggregate (no XDriver)!"); // set ourself as delegator - m_xDriverAggregate->setDelegator( static_cast< XWeak* >( this ) ); + m_xDriverAggregate->setDelegator( getXWeak() ); } osl_atomic_decrement( &m_refCount ); } diff --git a/connectivity/source/drivers/calc/CDriver.cxx b/connectivity/source/drivers/calc/CDriver.cxx index b7b11cc29176..eccf97751c8f 100644 --- a/connectivity/source/drivers/calc/CDriver.cxx +++ b/connectivity/source/drivers/calc/CDriver.cxx @@ -53,7 +53,7 @@ connectivity_calc_ODriver( } if (ret) ret->acquire(); - return static_cast<cppu::OWeakObject*>(ret.get()); + return getXWeak(ret.get()); } diff --git a/connectivity/source/drivers/dbase/DDriver.cxx b/connectivity/source/drivers/dbase/DDriver.cxx index 8eae0013c940..ff0ec256e18a 100644 --- a/connectivity/source/drivers/dbase/DDriver.cxx +++ b/connectivity/source/drivers/dbase/DDriver.cxx @@ -51,7 +51,7 @@ connectivity_dbase_ODriver( } if (ret) ret->acquire(); - return static_cast<cppu::OWeakObject*>(ret.get()); + return getXWeak(ret.get()); } diff --git a/connectivity/source/drivers/evoab2/NResultSet.cxx b/connectivity/source/drivers/evoab2/NResultSet.cxx index 2505cbf3dc81..043be2553f86 100644 --- a/connectivity/source/drivers/evoab2/NResultSet.cxx +++ b/connectivity/source/drivers/evoab2/NResultSet.cxx @@ -912,7 +912,7 @@ Reference< XInterface > SAL_CALL OEvoabResultSet::getStatement( ) { ::osl::MutexGuard aGuard( m_aMutex ); checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - return static_cast<cppu::OWeakObject*>(m_pStatement); + return cppu::getXWeak(m_pStatement); } diff --git a/connectivity/source/drivers/flat/EDriver.cxx b/connectivity/source/drivers/flat/EDriver.cxx index 29492895510e..51e357611558 100644 --- a/connectivity/source/drivers/flat/EDriver.cxx +++ b/connectivity/source/drivers/flat/EDriver.cxx @@ -54,7 +54,7 @@ connectivity_flat_ODriver( } if (ret) ret->acquire(); - return static_cast<cppu::OWeakObject*>(ret.get()); + return getXWeak(ret.get()); } Reference< XConnection > SAL_CALL ODriver::connect( const OUString& url, const Sequence< PropertyValue >& info ) diff --git a/connectivity/source/drivers/jdbc/JStatement.cxx b/connectivity/source/drivers/jdbc/JStatement.cxx index f4b7eb837c0d..1d5326ca6302 100644 --- a/connectivity/source/drivers/jdbc/JStatement.cxx +++ b/connectivity/source/drivers/jdbc/JStatement.cxx @@ -380,7 +380,7 @@ Any SAL_CALL java_sql_Statement_Base::getWarnings( ) java_sql_SQLWarning_BASE warn_base( t.pEnv, out ); return Any( static_cast< css::sdbc::SQLException >( - java_sql_SQLWarning(warn_base,*static_cast<cppu::OWeakObject*>(this)))); + java_sql_SQLWarning(warn_base,getXWeak()))); } return Any(); diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx index 90d0e3d8746a..b2c7d31842c4 100644 --- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx +++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx @@ -183,7 +183,7 @@ OPreparedResultSet::OPreparedResultSet(OConnection& rConn, OPreparedStatement* p : OPreparedResultSet_BASE(m_aMutex) , OPropertySetHelper(OPreparedResultSet_BASE::rBHelper) , m_rConnection(rConn) - , m_aStatement(css::uno::Reference<css::uno::XWeak>(static_cast<OWeakObject*>(pStmt))) + , m_aStatement(css::uno::Reference(cppu::getXWeak(pStmt))) , m_pStmt(pMyStmt) , m_encoding(rConn.getConnectionEncoding()) , m_nColumnCount(mysql_stmt_field_count(pMyStmt)) diff --git a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx index 6d7b6d4d9a77..5fc0fc9a7d46 100644 --- a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx +++ b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx @@ -108,7 +108,7 @@ OResultSet::OResultSet(OConnection& rConn, OCommonStatement* pStmt, MYSQL_RES* p : OResultSet_BASE(m_aMutex) , OPropertySetHelper(OResultSet_BASE::rBHelper) , m_pMysql(rConn.getMysqlConnection()) - , m_aStatement(css::uno::Reference<css::uno::XWeak>(static_cast<OWeakObject*>(pStmt))) + , m_aStatement(css::uno::Reference(cppu::getXWeak(pStmt))) , m_pResult(pResult) , m_encoding(_encoding) { diff --git a/connectivity/source/drivers/writer/WDriver.cxx b/connectivity/source/drivers/writer/WDriver.cxx index fa3a3dcf685a..21325d73f6b6 100644 --- a/connectivity/source/drivers/writer/WDriver.cxx +++ b/connectivity/source/drivers/writer/WDriver.cxx @@ -38,17 +38,14 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* connectivity_writer_ODriver(css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& /*rArguments*/) { - rtl::Reference<ODriver> ret; try { - ret = new ODriver(context); + return acquire(new ODriver(context)); } catch (...) { } - if (ret) - ret->acquire(); - return static_cast<cppu::OWeakObject*>(ret.get()); + return nullptr; } uno::Reference<sdbc::XConnection> commit c6f819836197d519153f9bc6775832cb0435eaf6 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sun Apr 23 20:14:23 2023 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sun Jun 4 22:35:28 2023 +0200 Use getXWeak in reportdesign Change-Id: I5d7c6b4b3d9440c6ae63a133e1b7d1374fa61063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150861 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/reportdesign/source/core/api/FixedLine.cxx b/reportdesign/source/core/api/FixedLine.cxx index 78ab6a9f8cf7..f20561b8b567 100644 --- a/reportdesign/source/core/api/FixedLine.cxx +++ b/reportdesign/source/core/api/FixedLine.cxx @@ -507,9 +507,9 @@ awt::Size SAL_CALL OFixedLine::getSize( ) void SAL_CALL OFixedLine::setSize( const awt::Size& aSize ) { if ( aSize.Width < MIN_WIDTH && m_nOrientation == 1 ) - throw beans::PropertyVetoException("Too small width for FixedLine; minimum is " + OUString::number(MIN_WIDTH) + "0 micrometer", static_cast<cppu::OWeakObject*>(this)); + throw beans::PropertyVetoException("Too small width for FixedLine; minimum is " + OUString::number(MIN_WIDTH) + "0 micrometer", getXWeak()); else if ( aSize.Height < MIN_HEIGHT && m_nOrientation == 0 ) - throw beans::PropertyVetoException("Too small height for FixedLine; minimum is " + OUString::number(MIN_HEIGHT) + "0 micrometer", static_cast<cppu::OWeakObject*>(this)); + throw beans::PropertyVetoException("Too small height for FixedLine; minimum is " + OUString::number(MIN_HEIGHT) + "0 micrometer", getXWeak()); OShapeHelper::setSize(aSize,this); } diff --git a/reportdesign/source/core/api/Functions.cxx b/reportdesign/source/core/api/Functions.cxx index c2124e9378e3..3d8bd6b6d61f 100644 --- a/reportdesign/source/core/api/Functions.cxx +++ b/reportdesign/source/core/api/Functions.cxx @@ -56,7 +56,7 @@ void SAL_CALL OFunctions::disposing() for (auto& rFunction : m_aFunctions) rFunction->dispose(); m_aFunctions.clear(); - lang::EventObject aDisposeEvent( static_cast< ::cppu::OWeakObject* >( this ) ); + lang::EventObject aDisposeEvent( getXWeak() ); m_aContainerListeners.disposeAndClear( aDisposeEvent ); m_xContext.clear(); } diff --git a/reportdesign/source/core/api/Groups.cxx b/reportdesign/source/core/api/Groups.cxx index a2ce3dfdc2fb..375b8b0f545b 100644 --- a/reportdesign/source/core/api/Groups.cxx +++ b/reportdesign/source/core/api/Groups.cxx @@ -56,7 +56,7 @@ void SAL_CALL OGroups::disposing() for(auto& rGroup : m_aGroups) rGroup->dispose(); m_aGroups.clear(); - lang::EventObject aDisposeEvent( static_cast< ::cppu::OWeakObject* >( this ) ); + lang::EventObject aDisposeEvent( getXWeak() ); m_aContainerListeners.disposeAndClear( aDisposeEvent ); m_xContext.clear(); } diff --git a/reportdesign/source/core/api/ReportDefinition.cxx b/reportdesign/source/core/api/ReportDefinition.cxx index 475c59e285dc..c9a9f7f2f4cb 100644 --- a/reportdesign/source/core/api/ReportDefinition.cxx +++ b/reportdesign/source/core/api/ReportDefinition.cxx @@ -609,7 +609,7 @@ void OReportDefinition::init() if ( sMediaType.isEmpty() ) xStorProps->setPropertyValue("MediaType",uno::Any(OUString(MIMETYPE_OASIS_OPENDOCUMENT_REPORT_ASCII))); } - m_pImpl->m_pObjectContainer = std::make_shared<comphelper::EmbeddedObjectContainer>(m_pImpl->m_xStorage , static_cast<cppu::OWeakObject*>(this) ); + m_pImpl->m_pObjectContainer = std::make_shared<comphelper::EmbeddedObjectContainer>(m_pImpl->m_xStorage , getXWeak() ); } catch (const uno::Exception&) { @@ -629,7 +629,7 @@ void SAL_CALL OReportDefinition::disposing() uno::Reference< frame::XModel > xHoldAlive( this ); - lang::EventObject aDisposeEvent( static_cast< ::cppu::OWeakObject* >( this ) ); + lang::EventObject aDisposeEvent( getXWeak() ); m_pImpl->m_aModifyListeners.disposeAndClear( aDisposeEvent ); m_pImpl->m_aCloseListener.disposeAndClear( aDisposeEvent ); m_pImpl->m_aLegacyEventListeners.disposeAndClear( aDisposeEvent ); @@ -1069,7 +1069,7 @@ void SAL_CALL OReportDefinition::close(sal_Bool bDeliverOwnership) ::osl::ResettableMutexGuard aGuard(m_aMutex); ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed); // notify our container listeners - lang::EventObject aEvt( static_cast< ::cppu::OWeakObject* >( this ) ); + lang::EventObject aEvt( getXWeak() ); aGuard.clear(); m_pImpl->m_aCloseListener.forEach( [&aEvt, &bDeliverOwnership] (uno::Reference<util::XCloseListener> const& xListener) { @@ -1258,7 +1258,7 @@ void OReportDefinition::impl_loadFromStorage_nolck_throw( const uno::Reference< uno::UNO_QUERY_THROW ); uno::Reference< document::XImporter> xImporter(xFilter,uno::UNO_QUERY_THROW); - uno::Reference<XComponent> xComponent(static_cast<OWeakObject*>(this),uno::UNO_QUERY); + uno::Reference<XComponent> xComponent(getXWeak(),uno::UNO_QUERY); xImporter->setTargetDocument(xComponent); utl::MediaDescriptor aTemp; @@ -1345,7 +1345,7 @@ void SAL_CALL OReportDefinition::storeToStorage( const uno::Reference< embed::XS pDelegatorArguments[nArgsLen++] <<= xGraphicStorageHandler; pDelegatorArguments[nArgsLen++] <<= xObjectResolver; - uno::Reference<XComponent> xCom(static_cast<OWeakObject*>(this),uno::UNO_QUERY); + uno::Reference<XComponent> xCom(getXWeak(),uno::UNO_QUERY); // Try to write to settings.xml, meta.xml, and styles.xml; only really care about success of // write to content.xml (keeping logic of commit 94ccba3eebc83b58e74e18f0e028c6a995ce6aa6) xInfoSet->setPropertyValue("StreamName", uno::Any(OUString("settings.xml"))); @@ -1423,7 +1423,7 @@ void SAL_CALL OReportDefinition::switchToStorage( // notify our container listeners m_pImpl->m_aStorageChangeListeners.forEach( [this, &xStorage] (uno::Reference<document::XStorageChangeListener> const& xListener) { - return xListener->notifyStorageChange(static_cast<OWeakObject*>(this), xStorage); + return xListener->notifyStorageChange(getXWeak(), xStorage); }); } @@ -2007,7 +2007,7 @@ uno::Reference< uno::XInterface > SAL_CALL OReportDefinition::createInstanceWith aValue.Value >>= xStorage; } m_pImpl->m_pObjectContainer->SwitchPersistence(xStorage); - xRet = static_cast< ::cppu::OWeakObject* >(SvXMLEmbeddedObjectHelper::Create( xStorage,*this, SvXMLEmbeddedObjectHelperMode::Read ).get()); + xRet = cppu::getXWeak(SvXMLEmbeddedObjectHelper::Create( xStorage,*this, SvXMLEmbeddedObjectHelperMode::Read ).get()); } return xRet; } @@ -2090,20 +2090,18 @@ uno::Reference< uno::XInterface > SAL_CALL OReportDefinition::createInstance( co return m_pImpl->m_xMarkerTable; } else if ( aServiceSpecifier == "com.sun.star.document.ImportEmbeddedObjectResolver" ) - return static_cast< ::cppu::OWeakObject* >(SvXMLEmbeddedObjectHelper::Create( m_pImpl->m_xStorage,*this, SvXMLEmbeddedObjectHelperMode::Read ).get()); + return cppu::getXWeak(SvXMLEmbeddedObjectHelper::Create( m_pImpl->m_xStorage,*this, SvXMLEmbeddedObjectHelperMode::Read ).get()); else if ( aServiceSpecifier == "com.sun.star.document.ExportEmbeddedObjectResolver" ) - return static_cast< ::cppu::OWeakObject* >(SvXMLEmbeddedObjectHelper::Create( m_pImpl->m_xStorage,*this, SvXMLEmbeddedObjectHelperMode::Write ).get()); + return cppu::getXWeak(SvXMLEmbeddedObjectHelper::Create( m_pImpl->m_xStorage,*this, SvXMLEmbeddedObjectHelperMode::Write ).get()); else if (aServiceSpecifier == "com.sun.star.document.ImportGraphicStorageHandler") { rtl::Reference<SvXMLGraphicHelper> xGraphicHelper = SvXMLGraphicHelper::Create(m_pImpl->m_xStorage,SvXMLGraphicHelperMode::Write); - uno::Reference< uno::XInterface> xRet(static_cast< ::cppu::OWeakObject* >(xGraphicHelper.get())); - return xRet; + return cppu::getXWeak(xGraphicHelper.get()); } else if (aServiceSpecifier == "com.sun.star.document.ExportGraphicStorageHandler") { rtl::Reference<SvXMLGraphicHelper> xGraphicHelper = SvXMLGraphicHelper::Create(m_pImpl->m_xStorage,SvXMLGraphicHelperMode::Write); - uno::Reference< uno::XInterface> xRet(static_cast< ::cppu::OWeakObject* >(xGraphicHelper.get())); - return xRet; + return cppu::getXWeak(xGraphicHelper.get()); } else if ( aServiceSpecifier == "com.sun.star.chart2.data.DataProvider" ) { @@ -2628,7 +2626,7 @@ uno::Any SAL_CALL OReportDefinition::getTransferData( const datatransfer::DataFl uno::Any aResult; if( !isDataFlavorSupported( aFlavor ) ) { - throw datatransfer::UnsupportedFlavorException(aFlavor.MimeType, static_cast< ::cppu::OWeakObject* >( this )); + throw datatransfer::UnsupportedFlavorException(aFlavor.MimeType, getXWeak()); } try diff --git a/reportdesign/source/core/api/Section.cxx b/reportdesign/source/core/api/Section.cxx index e7a8e7561b64..1c98d239243f 100644 --- a/reportdesign/source/core/api/Section.cxx +++ b/reportdesign/source/core/api/Section.cxx @@ -157,7 +157,7 @@ void SAL_CALL OSection::dispose() void SAL_CALL OSection::disposing() { - lang::EventObject aDisposeEvent( static_cast< ::cppu::OWeakObject* >( this ) ); + lang::EventObject aDisposeEvent( getXWeak() ); m_aContainerListeners.disposeAndClear( aDisposeEvent ); } diff --git a/reportdesign/source/core/sdr/RptModel.cxx b/reportdesign/source/core/sdr/RptModel.cxx index 3dc4bb216b57..6f7cfa1482d8 100644 --- a/reportdesign/source/core/sdr/RptModel.cxx +++ b/reportdesign/source/core/sdr/RptModel.cxx @@ -159,31 +159,31 @@ uno::Reference< uno::XInterface > OReportModel::createShape(const OUString& aSer } else if ( aServiceSpecifier == SERVICE_FIXEDTEXT) { - xRet = static_cast<cppu::OWeakObject*>(new OFixedText(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape)); + xRet = getXWeak(new OFixedText(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape)); if ( _rShape.is() ) throw uno::Exception("no shape", nullptr); } else if ( aServiceSpecifier == SERVICE_FIXEDLINE) { - xRet = static_cast<cppu::OWeakObject*>(new OFixedLine(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape,nOrientation)); + xRet = getXWeak(new OFixedLine(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape,nOrientation)); if ( _rShape.is() ) throw uno::Exception("no shape", nullptr); } else if ( aServiceSpecifier == SERVICE_IMAGECONTROL ) { - xRet = static_cast<cppu::OWeakObject*>(new OImageControl(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape)); + xRet = getXWeak(new OImageControl(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape)); if ( _rShape.is() ) throw uno::Exception("no shape", nullptr); } else if ( aServiceSpecifier == SERVICE_REPORTDEFINITION ) { - xRet = static_cast<cppu::OWeakObject*>(new OReportDefinition(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape)); + xRet = getXWeak(new OReportDefinition(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape)); if ( _rShape.is() ) throw uno::Exception("no shape", nullptr); } else if ( _rShape.is() ) { - xRet = static_cast<cppu::OWeakObject*>(new OShape(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape,aServiceSpecifier)); + xRet = getXWeak(new OShape(m_pReportDefinition->getContext(),m_pReportDefinition,_rShape,aServiceSpecifier)); if ( _rShape.is() ) throw uno::Exception("no shape", nullptr); } diff --git a/reportdesign/source/core/sdr/RptPage.cxx b/reportdesign/source/core/sdr/RptPage.cxx index 98b8ef8741bb..c72d20ba5066 100644 --- a/reportdesign/source/core/sdr/RptPage.cxx +++ b/reportdesign/source/core/sdr/RptPage.cxx @@ -122,7 +122,7 @@ void OReportPage::insertObject(const uno::Reference< report::XReportComponent >& uno::Reference< uno::XInterface > OReportPage::createUnoPage() { - return static_cast<cppu::OWeakObject*>( new reportdesign::OReportDrawPage(this,m_xSection) ); + return cppu::getXWeak( new reportdesign::OReportDrawPage(this,m_xSection) ); } void OReportPage::removeTempObject(SdrObject const *_pToRemoveObj)