embeddedobj/source/commonembedding/miscobj.cxx |    2 -
 embeddedobj/source/general/docholder.cxx       |   43 +++++++++++--------------
 embeddedobj/source/general/intercept.cxx       |    4 +-
 embeddedobj/source/inc/docholder.hxx           |    6 +--
 4 files changed, 26 insertions(+), 29 deletions(-)

New commits:
commit eff4bc45f9834026acea227f7c3d0bd2bffd9af1
Author:     Xisco Fauli <[email protected]>
AuthorDate: Mon Jan 12 16:09:53 2026 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Jan 13 09:48:49 2026 +0100

    embeddedobj: pass OCommonEmbeddedObject by ref
    
    Change-Id: I7308d32e22b99a8f14aed45bbf469aadcc5ca5c7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197125
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/embeddedobj/source/commonembedding/miscobj.cxx 
b/embeddedobj/source/commonembedding/miscobj.cxx
index eec198f7f5b9..208c624608d8 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -115,7 +115,7 @@ void OCommonEmbeddedObject::CommonInit_Impl( const 
uno::Sequence< beans::NamedVa
     if ( !m_xContext.is() )
         throw uno::RuntimeException();
 
-    m_xDocHolder = new embeddedobj::DocumentHolder( m_xContext, this );
+    m_xDocHolder = new embeddedobj::DocumentHolder( m_xContext, *this );
 
     // parse configuration entries
     // TODO/LATER: in future UI names can be also provided here
diff --git a/embeddedobj/source/general/docholder.cxx 
b/embeddedobj/source/general/docholder.cxx
index eddc8a47ca0f..d7f081d768e6 100644
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
@@ -69,8 +69,8 @@
 #include <commonembobj.hxx>
 #include <intercept.hxx>
 
-#define HATCH_BORDER_WIDTH 
(((m_pEmbedObj->getStatus(embed::Aspects::MSOLE_CONTENT)&embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE)
 && \
-                            
m_pEmbedObj->getCurrentState()!=embed::EmbedStates::UI_ACTIVE) ? 0 : 4 )
+#define HATCH_BORDER_WIDTH 
(((m_rEmbedObj.getStatus(embed::Aspects::MSOLE_CONTENT)&embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE)
 && \
+                            
m_rEmbedObj.getCurrentState()!=embed::EmbedStates::UI_ACTIVE) ? 0 : 4 )
 
 using namespace ::com::sun::star;
 
@@ -152,8 +152,8 @@ namespace embeddedobj
 {
 
 DocumentHolder::DocumentHolder( uno::Reference< uno::XComponentContext > 
xContext,
-                                OCommonEmbeddedObject* pEmbObj )
-: m_pEmbedObj( pEmbObj ),
+                                OCommonEmbeddedObject& rEmbObj )
+: m_rEmbedObj( rEmbObj ),
   m_xContext(std::move( xContext )),
   m_bReadOnly( false ),
   m_bWaitForClose( false ),
@@ -954,12 +954,12 @@ bool DocumentHolder::LoadDocToFrame( bool bInPlace )
 
         // set document title to show in the title bar
         css::uno::Reference< css::frame::XTitle > xModelTitle( xDoc, 
css::uno::UNO_QUERY );
-        if( xModelTitle.is() && m_pEmbedObj && 
!m_pEmbedObj->getContainerName().isEmpty() )
+        if( xModelTitle.is() && !m_rEmbedObj.getContainerName().isEmpty() )
         {
             std::locale aResLoc = Translate::Create("sfx");
             OUString sEmbedded = Translate::get(STR_EMBEDDED_TITLE, aResLoc);
-            xModelTitle->setTitle( m_pEmbedObj->getContainerName() + sEmbedded 
);
-            m_aContainerName = m_pEmbedObj->getContainerName();
+            xModelTitle->setTitle( m_rEmbedObj.getContainerName() + sEmbedded 
);
+            m_aContainerName = m_rEmbedObj.getContainerName();
             // TODO: get real m_aDocumentNamePart
             m_aDocumentNamePart = sEmbedded;
         }
@@ -1161,14 +1161,14 @@ void SAL_CALL DocumentHolder::modified( const 
lang::EventObject& aEvent )
 {
     // if the component does not support document::XEventBroadcaster
     // the modify notifications are used as workaround, but only for running 
state
-    if( aEvent.Source == m_xComponent && m_pEmbedObj && 
m_pEmbedObj->getCurrentState() == embed::EmbedStates::RUNNING )
-        m_pEmbedObj->PostEvent_Impl( u"OnVisAreaChanged"_ustr );
+    if( aEvent.Source == m_xComponent && m_rEmbedObj.getCurrentState() == 
embed::EmbedStates::RUNNING )
+        m_rEmbedObj.PostEvent_Impl( u"OnVisAreaChanged"_ustr );
 }
 
 
 void SAL_CALL DocumentHolder::notifyEvent( const document::EventObject& Event )
 {
-    if( m_pEmbedObj && Event.Source == m_xComponent )
+    if( Event.Source == m_xComponent )
     {
         // for now the ignored events are not forwarded, but sent by the 
object itself
         if ( !Event.EventName.startsWith( "OnSave" )
@@ -1176,7 +1176,7 @@ void SAL_CALL DocumentHolder::notifyEvent( const 
document::EventObject& Event )
           && !Event.EventName.startsWith( "OnSaveAs" )
           && !Event.EventName.startsWith( "OnSaveAsDone" )
           && !( Event.EventName.startsWith( "OnVisAreaChanged" ) && 
m_nNoResizeReact ) )
-            m_pEmbedObj->PostEvent_Impl( Event.EventName );
+            m_rEmbedObj.PostEvent_Impl( Event.EventName );
     }
 }
 
@@ -1185,7 +1185,7 @@ void SAL_CALL DocumentHolder::borderWidthsChanged( const 
uno::Reference< uno::XI
                                                     const frame::BorderWidths& 
aNewSize )
 {
     // TODO: may require mutex introduction ???
-    if ( m_pEmbedObj && m_xFrame.is() && aObject == m_xFrame->getController() )
+    if ( m_xFrame.is() && aObject == m_xFrame->getController() )
     {
         if ( m_aBorderWidths.Left != aNewSize.Left
           || m_aBorderWidths.Right != aNewSize.Right
@@ -1203,13 +1203,10 @@ void SAL_CALL DocumentHolder::borderWidthsChanged( 
const uno::Reference< uno::XI
 void SAL_CALL DocumentHolder::requestPositioning( const awt::Rectangle& aRect )
 {
     // TODO: may require mutex introduction ???
-    if ( m_pEmbedObj )
-    {
-        // borders should not be counted
-        awt::Rectangle aObjRect = CalculateBorderedArea( aRect );
-        IntCounterGuard aGuard( m_nNoResizeReact );
-        m_pEmbedObj->requestPositioning( aObjRect );
-    }
+    // borders should not be counted
+    awt::Rectangle aObjRect = CalculateBorderedArea( aRect );
+    IntCounterGuard aGuard( m_nNoResizeReact );
+    m_rEmbedObj.requestPositioning( aObjRect );
 }
 
 
@@ -1241,15 +1238,15 @@ awt::Rectangle SAL_CALL 
DocumentHolder::calcAdjustedRectangle( const awt::Rectan
 
 void SAL_CALL DocumentHolder::activated(  )
 {
-    if ( 
!(m_pEmbedObj->getStatus(embed::Aspects::MSOLE_CONTENT)&embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE)
 )
+    if ( 
!(m_rEmbedObj.getStatus(embed::Aspects::MSOLE_CONTENT)&embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE)
 )
         return;
 
-    if ( m_pEmbedObj->getCurrentState() != embed::EmbedStates::UI_ACTIVE &&
-    
!(m_pEmbedObj->getStatus(embed::Aspects::MSOLE_CONTENT)&embed::EmbedMisc::MS_EMBED_NOUIACTIVATE)
 )
+    if ( m_rEmbedObj.getCurrentState() != embed::EmbedStates::UI_ACTIVE &&
+    
!(m_rEmbedObj.getStatus(embed::Aspects::MSOLE_CONTENT)&embed::EmbedMisc::MS_EMBED_NOUIACTIVATE)
 )
     {
         try
         {
-            m_pEmbedObj->changeState( embed::EmbedStates::UI_ACTIVE );
+            m_rEmbedObj.changeState( embed::EmbedStates::UI_ACTIVE );
         }
         catch ( const css::embed::StateChangeInProgressException& )
         {
diff --git a/embeddedobj/source/general/intercept.cxx 
b/embeddedobj/source/general/intercept.cxx
index 45ffbc89bacf..c1799182cf04 100644
--- a/embeddedobj/source/general/intercept.cxx
+++ b/embeddedobj/source/general/intercept.cxx
@@ -74,13 +74,13 @@ Interceptor::dispatch(
         return;
 
     if(URL.Complete == m_aInterceptedURL[0])
-        m_pDocHolder->GetEmbedObject()->SaveObject_Impl();
+        m_pDocHolder->GetEmbedObject().SaveObject_Impl();
     else if(URL.Complete == m_aInterceptedURL[2] ||
             URL.Complete == m_aInterceptedURL[3] ||
             URL.Complete == m_aInterceptedURL[4])
     {
         try {
-            m_pDocHolder->GetEmbedObject()->changeState( 
embed::EmbedStates::RUNNING );
+            m_pDocHolder->GetEmbedObject().changeState( 
embed::EmbedStates::RUNNING );
         }
         catch( const uno::Exception& )
         {
diff --git a/embeddedobj/source/inc/docholder.hxx 
b/embeddedobj/source/inc/docholder.hxx
index d4aa54d3b10c..a4e7386d4a32 100644
--- a/embeddedobj/source/inc/docholder.hxx
+++ b/embeddedobj/source/inc/docholder.hxx
@@ -54,7 +54,7 @@ class DocumentHolder :
 {
 private:
 
-    OCommonEmbeddedObject* m_pEmbedObj;
+    OCommonEmbeddedObject& m_rEmbedObj;
 
     rtl::Reference<Interceptor>        m_xInterceptor;
     css::uno::Reference< css::frame::XDispatchProviderInterceptor > 
m_xOutplaceInterceptor;
@@ -116,10 +116,10 @@ public:
 
 
     DocumentHolder( css::uno::Reference< css::uno::XComponentContext > 
xContext,
-                    OCommonEmbeddedObject* pEmbObj );
+                    OCommonEmbeddedObject& rEmbObj );
     virtual ~DocumentHolder() override;
 
-    OCommonEmbeddedObject* GetEmbedObject() { return m_pEmbedObj; }
+    OCommonEmbeddedObject& GetEmbedObject() { return m_rEmbedObj; }
 
     void SetComponent( const css::uno::Reference< css::util::XCloseable >& 
xDoc, bool bReadOnly );
     void ResizeHatchWindow();

Reply via email to