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();
