diff options
| -rw-r--r-- | indra/newview/llremoteparcelrequest.cpp | 16 | 
1 files changed, 14 insertions, 2 deletions
| diff --git a/indra/newview/llremoteparcelrequest.cpp b/indra/newview/llremoteparcelrequest.cpp index fe4e8b5d0c..1ac0175b83 100644 --- a/indra/newview/llremoteparcelrequest.cpp +++ b/indra/newview/llremoteparcelrequest.cpp @@ -57,7 +57,13 @@ void LLRemoteParcelRequestResponder::result(const LLSD& content)  {  	LLUUID parcel_id = content["parcel_id"]; -	mObserverHandle.get()->setParcelID(parcel_id); +	// Panel inspecting the information may be closed and destroyed +	// before this response is received. +	LLRemoteParcelInfoObserver* observer = mObserverHandle.get(); +	if (observer) +	{ +		observer->setParcelID(parcel_id); +	}  }  //If we get back an error (not found, etc...), handle it here @@ -67,7 +73,13 @@ void LLRemoteParcelRequestResponder::error(U32 status, const std::string& reason  	llinfos << "LLRemoteParcelRequest::error("  		<< status << ": " << reason << ")" << llendl; -	mObserverHandle.get()->setErrorStatus(status, reason); +	// Panel inspecting the information may be closed and destroyed +	// before this response is received. +	LLRemoteParcelInfoObserver* observer = mObserverHandle.get(); +	if (observer) +	{ +		observer->setErrorStatus(status, reason); +	}  }  void LLRemoteParcelInfoProcessor::addObserver(const LLUUID& parcel_id, LLRemoteParcelInfoObserver* observer) | 
