diff options
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); } |