From f3c53a84d3e4605546fbe038ad8a2b863d2cc399 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Thu, 19 Nov 2009 22:38:27 +0200 Subject: Fixed normal bug EXT-2348 "My Landmarks: Show On Map does nothing for landmarks from Library" - Added callback to ensure that a landmark is loaded from the global landmark list. - Added disabling "Map" button to indicate that a landmark info is being loaded. --HG-- branch : product-engine --- indra/newview/lllandmarkactions.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'indra/newview/lllandmarkactions.cpp') diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp index 003afafa87..70546ccae6 100644 --- a/indra/newview/lllandmarkactions.cpp +++ b/indra/newview/lllandmarkactions.cpp @@ -374,22 +374,34 @@ void LLLandmarkActions::onRegionResponseNameAndCoords(region_name_and_coords_cal bool LLLandmarkActions::getLandmarkGlobalPos(const LLUUID& landmarkInventoryItemID, LLVector3d& posGlobal) { - LLLandmark* landmark = LLLandmarkActions::getLandmark(landmarkInventoryItemID); + LLViewerInventoryItem* item = gInventory.getItem(landmarkInventoryItemID); + if (NULL == item) + return NULL; + + const LLUUID& asset_id = item->getAssetUUID(); + LLLandmark* landmark = gLandmarkList.getAsset(asset_id, NULL); if (NULL == landmark) return false; return landmark->getGlobalPos(posGlobal); } -LLLandmark* LLLandmarkActions::getLandmark(const LLUUID& landmarkInventoryItemID) +LLLandmark* LLLandmarkActions::getLandmark(const LLUUID& landmarkInventoryItemID, LLLandmarkList::loaded_callback_t cb) { LLViewerInventoryItem* item = gInventory.getItem(landmarkInventoryItemID); if (NULL == item) return NULL; const LLUUID& asset_id = item->getAssetUUID(); - return gLandmarkList.getAsset(asset_id, NULL); + + LLLandmark* landmark = gLandmarkList.getAsset(asset_id, cb); + if (landmark) + { + return landmark; + } + + return NULL; } void LLLandmarkActions::copySLURLtoClipboard(const LLUUID& landmarkInventoryItemID) -- cgit v1.2.3 From 0c468557b9e38ec4be201fa991499ed095a4d8c3 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Fri, 20 Nov 2009 18:20:41 +0200 Subject: Build fix. --HG-- branch : product-engine --- indra/newview/lllandmarkactions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/lllandmarkactions.cpp') diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp index 70546ccae6..d50b68b624 100644 --- a/indra/newview/lllandmarkactions.cpp +++ b/indra/newview/lllandmarkactions.cpp @@ -376,7 +376,7 @@ bool LLLandmarkActions::getLandmarkGlobalPos(const LLUUID& landmarkInventoryItem { LLViewerInventoryItem* item = gInventory.getItem(landmarkInventoryItemID); if (NULL == item) - return NULL; + return false; const LLUUID& asset_id = item->getAssetUUID(); -- cgit v1.2.3