From 0f00eef21798520bcfe27ae03b3f1b2ae938ff13 Mon Sep 17 00:00:00 2001 From: Josh Bell Date: Thu, 1 Nov 2007 23:10:05 +0000 Subject: svn merge -r 71509:72877 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-18-4-Viewer --> release Backport patches and translations from RC branch --- indra/newview/llsrv.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'indra/newview/llsrv.cpp') diff --git a/indra/newview/llsrv.cpp b/indra/newview/llsrv.cpp index 150fcb1583..7271513852 100644 --- a/indra/newview/llsrv.cpp +++ b/indra/newview/llsrv.cpp @@ -51,6 +51,19 @@ std::vector LLSRV::rewriteURI(const std::string& uri) LLPointer resp = new Responder; gAres->rewriteURI(uri, resp); - gAres->processAll(); - return resp->mUris; + gAres->processAll(); + + // It's been observed in deployment that c-ares can return control + // to us without firing all of our callbacks, in which case the + // returned vector will be empty, instead of a singleton as we + // might wish. + + if (!resp->mUris.empty()) + { + return resp->mUris; + } + + std::vector uris; + uris.push_back(uri); + return uris; } -- cgit v1.2.3