summaryrefslogtreecommitdiffstats
path: root/sfx2
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-18 14:13:39 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-18 14:22:26 +0200
commite3c1c65b39fb4740e416de9e2e1963d8249c8442 (patch)
tree69b390a5a26c4d6d9079a1793d582bfd93a40554 /sfx2
parentuse rtl::Reference in HwpReader (diff)
downloadcore-e3c1c65b39fb4740e416de9e2e1963d8249c8442.tar.gz
core-e3c1c65b39fb4740e416de9e2e1963d8249c8442.zip
use rtl::Reference in SfxInstanceCloseGuard_Impl
instead of storing both a raw pointer and an uno::Reference Change-Id: Ib0197985523b10039a5abea7cab1de3fab4c72c1
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/doc/objserv.cxx20
1 files changed, 8 insertions, 12 deletions
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index 0d5dcfa84183..902a2b0038b5 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -172,14 +172,11 @@ void SAL_CALL SfxClosePreventer_Impl::disposing( const lang::EventObject& ) thro
class SfxInstanceCloseGuard_Impl
{
- SfxClosePreventer_Impl* m_pPreventer;
- uno::Reference< util::XCloseListener > m_xPreventer;
+ rtl::Reference<SfxClosePreventer_Impl> m_xPreventer;
uno::Reference< util::XCloseable > m_xCloseable;
public:
- SfxInstanceCloseGuard_Impl()
- : m_pPreventer( nullptr )
- {}
+ SfxInstanceCloseGuard_Impl() {}
~SfxInstanceCloseGuard_Impl();
@@ -195,9 +192,8 @@ bool SfxInstanceCloseGuard_Impl::Init_Impl( const uno::Reference< util::XCloseab
{
try
{
- m_pPreventer = new SfxClosePreventer_Impl();
- m_xPreventer.set( m_pPreventer );
- xCloseable->addCloseListener( m_xPreventer );
+ m_xPreventer = new SfxClosePreventer_Impl();
+ xCloseable->addCloseListener( m_xPreventer.get() );
m_xCloseable = xCloseable;
bResult = true;
}
@@ -216,7 +212,7 @@ SfxInstanceCloseGuard_Impl::~SfxInstanceCloseGuard_Impl()
{
try
{
- m_xCloseable->removeCloseListener( m_xPreventer );
+ m_xCloseable->removeCloseListener( m_xPreventer.get() );
}
catch( uno::Exception& )
{
@@ -224,11 +220,11 @@ SfxInstanceCloseGuard_Impl::~SfxInstanceCloseGuard_Impl()
try
{
- if ( m_pPreventer )
+ if ( m_xPreventer.is() )
{
- m_pPreventer->SetPreventClose( false );
+ m_xPreventer->SetPreventClose( false );
- if ( m_pPreventer->HasOwnership() )
+ if ( m_xPreventer->HasOwnership() )
m_xCloseable->close( true ); // TODO: do it asynchronously
}
}