diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-08-05 17:05:28 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-08-05 17:05:28 (GMT) |
commit | 9b335b8ef317430a7551a8f2cb86a98b4c330882 (patch) | |
tree | 0c0e843fb53f93e2a6088a07a4bb6e6f66483580 /Swiften/LinkLocal | |
parent | 1873eca1f2147fa18f03fdd849fdd73d1a012be1 (diff) | |
download | swift-contrib-9b335b8ef317430a7551a8f2cb86a98b4c330882.zip swift-contrib-9b335b8ef317430a7551a8f2cb86a98b4c330882.tar.bz2 |
Swiften/LinkLocal: Avoid memory leak.
Diffstat (limited to 'Swiften/LinkLocal')
-rw-r--r-- | Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.cpp | 6 | ||||
-rw-r--r-- | Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.h | 1 | ||||
-rw-r--r-- | Swiften/LinkLocal/LinkLocalConnector.cpp | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.cpp b/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.cpp index f7dfa11..c26f8ee 100644 --- a/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.cpp +++ b/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.cpp @@ -13,6 +13,12 @@ namespace Swift { FakeDNSSDQuerier::FakeDNSSDQuerier(const String& domain) : domain(domain) { } +FakeDNSSDQuerier::~FakeDNSSDQuerier() { + if (!runningQueries.empty()) { + std::cerr << "FakeDNSSDQuerier: Running queries not empty at destruction time" << std::endl; + } +} + boost::shared_ptr<DNSSDBrowseQuery> FakeDNSSDQuerier::createBrowseQuery() { return boost::shared_ptr<DNSSDBrowseQuery>(new FakeDNSSDBrowseQuery(shared_from_this())); } diff --git a/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.h b/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.h index c67ba7b..22bca0c 100644 --- a/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.h +++ b/Swiften/LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.h @@ -23,6 +23,7 @@ namespace Swift { public boost::enable_shared_from_this<FakeDNSSDQuerier> { public: FakeDNSSDQuerier(const String& domain); + ~FakeDNSSDQuerier(); void start() {} void stop() {} diff --git a/Swiften/LinkLocal/LinkLocalConnector.cpp b/Swiften/LinkLocal/LinkLocalConnector.cpp index 326d053..fba4a4e 100644 --- a/Swiften/LinkLocal/LinkLocalConnector.cpp +++ b/Swiften/LinkLocal/LinkLocalConnector.cpp @@ -44,9 +44,9 @@ void LinkLocalConnector::cancel() { } void LinkLocalConnector::handleHostnameResolved(const boost::optional<HostAddress>& address) { + resolveQuery->finish(); + resolveQuery.reset(); if (address) { - resolveQuery->finish(); - resolveQuery.reset(); connection->onConnectFinished.connect( boost::bind(boost::ref(onConnectFinished), _1)); connection->connect(HostAddressPort(*address, service.getPort())); |