diff options
author | Javier <dev.git@javispedro.com> | 2015-12-25 23:33:26 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2015-12-25 23:33:26 +0100 |
commit | ab90fac4e4c306f47ab0903b33d1b3aacb228c46 (patch) | |
tree | e0f04c9270cefe2002410e49b3ac06dd086e049d /capabilityagent.cc | |
parent | 14d20babe395e52d220bbc27e91cec2fddd1ed0f (diff) | |
download | sapd-ab90fac4e4c306f47ab0903b33d1b3aacb228c46.tar.gz sapd-ab90fac4e4c306f47ab0903b33d1b3aacb228c46.zip |
destroy agents on disconnection
Diffstat (limited to 'capabilityagent.cc')
-rw-r--r-- | capabilityagent.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/capabilityagent.cc b/capabilityagent.cc index 3831e5d..cdc80b6 100644 --- a/capabilityagent.cc +++ b/capabilityagent.cc @@ -52,9 +52,10 @@ void CapabilityAgent::registerServices(SAPManager *manager) void CapabilityAgent::peerFound(SAPPeer *peer) { - new CapabilityPeer(peer, peer); // We make the capability peer a child of the peer object itself, // so that the peer can find it. + CapabilityPeer *capPeer = new CapabilityPeer(peer, peer); + connect(peer, SIGNAL(disconnected()), capPeer, SLOT(deleteLater())); } void CapabilityAgent::requestConnection(SAPConnectionRequest *request) @@ -62,5 +63,7 @@ void CapabilityAgent::requestConnection(SAPConnectionRequest *request) SAPPeer *peer = request->peer(); CapabilityPeer *capPeer = peer->findChild<CapabilityPeer*>(); + Q_ASSERT(capPeer); + capPeer->requestConnection(request); } |