From b795ac0f5d4309c0099b69b675b25399837ae042 Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Wed, 16 Feb 2011 16:45:18 +0100 Subject: [PATCH] monitorConnect structure fix --- pvAccessApp/remoteClient/clientContextImpl.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pvAccessApp/remoteClient/clientContextImpl.cpp b/pvAccessApp/remoteClient/clientContextImpl.cpp index ea8d9fa..1148dd0 100644 --- a/pvAccessApp/remoteClient/clientContextImpl.cpp +++ b/pvAccessApp/remoteClient/clientContextImpl.cpp @@ -1800,7 +1800,6 @@ namespace epics { { private: MonitorRequester* m_monitorRequester; - Structure* m_structure; bool m_started; PVStructure* m_pvRequest; @@ -1821,7 +1820,7 @@ namespace epics { public: ChannelMonitorImpl(ChannelImpl* channel, MonitorRequester* monitorRequester, PVStructure *pvRequest) : BaseRequestImpl(channel, monitorRequester), - m_monitorRequester(monitorRequester), m_structure(0), + m_monitorRequester(monitorRequester), m_started(false), m_pvRequest(pvRequest), //(dynamic_cast(getPVDataCreate()->createPVField(0, "", pvRequest))), m_monitorStrategy(0) @@ -1912,10 +1911,10 @@ namespace epics { Structure* structure = const_cast(dynamic_cast(transport->getIntrospectionRegistry()->deserialize(payloadBuffer, transport))); m_monitorStrategy->init(structure); - structure->decReferenceCount(); // notify - EXCEPTION_GUARD(m_monitorRequester->monitorConnect(status, this, m_structure)); + EXCEPTION_GUARD(m_monitorRequester->monitorConnect(status, this, structure)); + structure->decReferenceCount(); if (m_started) delete start();