From c70b05082f7175a43f0957fabcba1f0a2581471c Mon Sep 17 00:00:00 2001 From: gabriel lee Date: Mon, 9 Aug 2010 12:44:28 +0100 Subject: patching from fixes made in dessie/viewer-release --- indra/newview/llpanellandmarks.cpp | 3 +++ indra/newview/llpanelpick.cpp | 3 +++ indra/newview/llpanelplace.cpp | 3 +++ indra/newview/llpanelplaceinfo.cpp | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index ce1131f45c..46c64ec45b 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -522,6 +522,9 @@ void LLLandmarksPanel::setParcelID(const LLUUID& parcel_id) { if (!parcel_id.isNull()) { + //ext-4655, defensive. remove now incase this gets called twice without a remove + LLRemoteParcelInfoProcessor::getInstance()->removeObserver(parcel_id, this); + LLRemoteParcelInfoProcessor::getInstance()->addObserver(parcel_id, this); LLRemoteParcelInfoProcessor::getInstance()->sendParcelInfoRequest(parcel_id); } diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp index f0dc493ebe..423dbfe9db 100644 --- a/indra/newview/llpanelpick.cpp +++ b/indra/newview/llpanelpick.cpp @@ -210,6 +210,9 @@ void LLPanelPickInfo::sendParcelInfoRequest() { if (mParcelId != mRequestedId) { + //ext-4655, remove now incase this gets called twice without a remove + LLRemoteParcelInfoProcessor::getInstance()->removeObserver(mRequestedId, this); + LLRemoteParcelInfoProcessor::getInstance()->addObserver(mParcelId, this); LLRemoteParcelInfoProcessor::getInstance()->sendParcelInfoRequest(mParcelId); diff --git a/indra/newview/llpanelplace.cpp b/indra/newview/llpanelplace.cpp index 1446088c4f..0b189df08d 100644 --- a/indra/newview/llpanelplace.cpp +++ b/indra/newview/llpanelplace.cpp @@ -202,6 +202,9 @@ void LLPanelPlace::sendParcelInfoRequest() { if (mParcelID != mRequestedID) { + //ext-4655, remove now incase this gets called twice without a remove + LLRemoteParcelInfoProcessor::getInstance()->removeObserver(mRequestedID, this); + LLRemoteParcelInfoProcessor::getInstance()->addObserver(mParcelID, this); LLRemoteParcelInfoProcessor::getInstance()->sendParcelInfoRequest(mParcelID); diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp index 99e48cca6d..10e2c1e080 100644 --- a/indra/newview/llpanelplaceinfo.cpp +++ b/indra/newview/llpanelplaceinfo.cpp @@ -133,6 +133,10 @@ void LLPanelPlaceInfo::sendParcelInfoRequest() { if (mParcelID != mRequestedID) { + //ext-4655, defensive. remove now incase this gets called twice without a remove + //as panel never closes its ok atm (but wrong :) + LLRemoteParcelInfoProcessor::getInstance()->removeObserver(mRequestedID, this); + LLRemoteParcelInfoProcessor::getInstance()->addObserver(mParcelID, this); LLRemoteParcelInfoProcessor::getInstance()->sendParcelInfoRequest(mParcelID); -- cgit v1.2.3