summaryrefslogtreecommitdiff
path: root/indra/viewer_components/updater/llupdatechecker.cpp
diff options
context:
space:
mode:
authorMark Palange (Mani) <palange@lindenlab.com>2010-11-10 14:28:54 -0800
committerMark Palange (Mani) <palange@lindenlab.com>2010-11-10 14:28:54 -0800
commit7eed962a6237f74ec980e06d53886259ef225c55 (patch)
tree6f90cd7736c74164f5cfaff071ecfc9f63b7a46f /indra/viewer_components/updater/llupdatechecker.cpp
parentb2e84d739b4f5c00b497e57e892fc10d78af8b76 (diff)
parent9d33a548b636fa739de2aa11ba9ed02b301c53a5 (diff)
Merge
Diffstat (limited to 'indra/viewer_components/updater/llupdatechecker.cpp')
-rw-r--r--indra/viewer_components/updater/llupdatechecker.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/indra/viewer_components/updater/llupdatechecker.cpp b/indra/viewer_components/updater/llupdatechecker.cpp
index d31244cc9b..c6aa9b0f11 100644
--- a/indra/viewer_components/updater/llupdatechecker.cpp
+++ b/indra/viewer_components/updater/llupdatechecker.cpp
@@ -70,7 +70,6 @@ private:
Client & mClient;
LLHTTPClient mHttpClient;
bool mInProgress;
- LLHTTPClient::ResponderPtr mMe;
std::string mVersion;
std::string buildUrl(std::string const & protocolVersion, std::string const & hostUrl,
@@ -109,8 +108,7 @@ const char * LLUpdateChecker::Implementation::sProtocolVersion = "v1.0";
LLUpdateChecker::Implementation::Implementation(LLUpdateChecker::Client & client):
mClient(client),
- mInProgress(false),
- mMe(this)
+ mInProgress(false)
{
; // No op.
}
@@ -118,7 +116,7 @@ LLUpdateChecker::Implementation::Implementation(LLUpdateChecker::Client & client
LLUpdateChecker::Implementation::~Implementation()
{
- mMe.reset(0);
+ ; // No op.
}
@@ -136,9 +134,11 @@ void LLUpdateChecker::Implementation::check(std::string const & protocolVersion,
// The HTTP client will wrap a raw pointer in a boost::intrusive_ptr causing the
// passed object to be silently and automatically deleted. We pass a self-
- // referential intrusive pointer stored as an attribute of this class to keep
- // the client from deletig the update checker implementation instance.
- mHttpClient.get(checkUrl, mMe);
+ // referential intrusive pointer to which we add a reference to keep the
+ // client from deleting the update checker implementation instance.
+ LLHTTPClient::ResponderPtr temporaryPtr(this);
+ boost::intrusive_ptr_add_ref(temporaryPtr.get());
+ mHttpClient.get(checkUrl, temporaryPtr);
}
void LLUpdateChecker::Implementation::completed(U32 status,