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)

Reply via email to