client: prevent escape of internal refs
This commit is contained in:
@@ -3327,7 +3327,7 @@ private:
|
||||
|
||||
virtual ChannelProvider::shared_pointer getProvider()
|
||||
{
|
||||
return m_context;
|
||||
return m_context->external_from_this();
|
||||
}
|
||||
|
||||
// NOTE: synchronization guarantees that <code>transport</code> is non-<code>0</code> and <code>state == CONNECTED</code>.
|
||||
@@ -3377,8 +3377,8 @@ private:
|
||||
return m_channelID;
|
||||
}
|
||||
public:
|
||||
virtual ClientContextImpl::shared_pointer getContext() {
|
||||
return m_context;
|
||||
virtual ClientContextImpl* getContext() {
|
||||
return m_context.get();
|
||||
}
|
||||
|
||||
virtual pvAccessID getSearchInstanceID() {
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
virtual void destroyChannel(bool force) = 0;
|
||||
virtual void connectionCompleted(pvAccessID sid/*, rights*/) = 0;
|
||||
virtual void createChannelFailed() = 0;
|
||||
virtual std::tr1::shared_ptr<ClientContextImpl> getContext() = 0;
|
||||
virtual ClientContextImpl* getContext() = 0;
|
||||
virtual void channelDestroyedOnServer() = 0;
|
||||
|
||||
virtual pvAccessID getServerChannelID() = 0;
|
||||
|
||||
Reference in New Issue
Block a user