summaryrefslogtreecommitdiff
path: root/capabilityagent.cc
diff options
context:
space:
mode:
Diffstat (limited to 'capabilityagent.cc')
-rw-r--r--capabilityagent.cc5
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);
}