summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2016-05-24 11:02:42 +0200
committerNoel Grandin <noel@peralex.com>2016-05-24 11:02:42 +0200
commit95d20a3799998b9816bd2e8aebdbc96c61cead3e (patch)
tree8206ecc848631432cb8b027d5e780483734f808a /svx
parent3caf31b05d7bbf3d50a1bbda6c8b95982cb5c2b5 (diff)
Revert "remove some manual ref-counting"
until I have a better understanding of the UNO reference counting. This reverts commit 111de438ea3e512a541281dc0716cc728ea8d152.
Diffstat (limited to 'svx')
-rw-r--r--svx/source/fmcomp/gridctrl.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx
index a54b3035a965..20830d55b552 100644
--- a/svx/source/fmcomp/gridctrl.cxx
+++ b/svx/source/fmcomp/gridctrl.cxx
@@ -197,7 +197,7 @@ class DisposeListenerGridBridge : public FmXDisposeListener
{
osl::Mutex m_aMutex;
DbGridControl& m_rParent;
- css::uno::Reference<FmXDisposeMultiplexer> m_xRealListener;
+ FmXDisposeMultiplexer* m_pRealListener;
public:
DisposeListenerGridBridge( DbGridControl& _rParent, const Reference< XComponent >& _rxObject);
@@ -209,20 +209,25 @@ public:
DisposeListenerGridBridge::DisposeListenerGridBridge(DbGridControl& _rParent, const Reference< XComponent >& _rxObject)
:FmXDisposeListener(m_aMutex)
,m_rParent(_rParent)
+ ,m_pRealListener(nullptr)
{
if (_rxObject.is())
{
- m_xRealListener = new FmXDisposeMultiplexer(this, _rxObject);
+ m_pRealListener = new FmXDisposeMultiplexer(this, _rxObject);
+ m_pRealListener->acquire();
}
}
DisposeListenerGridBridge::~DisposeListenerGridBridge()
{
- if (m_xRealListener.is())
+ if (m_pRealListener)
{
- m_xRealListener->dispose();
+ m_pRealListener->dispose();
+ m_pRealListener->release();
+ m_pRealListener = nullptr;
}
+
}
static const sal_uInt16 ControlMap[] =