diff --git a/indra/newview/llfloatercreatelandmark.cpp b/indra/newview/llfloatercreatelandmark.cpp index eb93a6a75a..813b7ceec8 100644 --- a/indra/newview/llfloatercreatelandmark.cpp +++ b/indra/newview/llfloatercreatelandmark.cpp @@ -143,7 +143,7 @@ void LLFloaterCreateLandmark::setLandmarkInfo(const LLUUID &folder_id) mLandmarkTitleEditor->setText(name); } - LLLandmarkActions::createLandmarkHere(name, "", folder_id.notNull() ? folder_id : gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE)); + LLLandmarkActions::createLandmarkHere(name, "", folder_id.notNull() ? folder_id : mLandmarksID); } bool cmp_folders(const folder_pair_t& left, const folder_pair_t& right) @@ -202,6 +202,10 @@ void LLFloaterCreateLandmark::populateFoldersList(const LLUUID &folder_id) { mFolderCombo->setCurrentByID(folder_id); } + else + { + mFolderCombo->setCurrentByID(mLandmarksID); + } } void LLFloaterCreateLandmark::onCreateFolderClicked() @@ -320,4 +324,4 @@ void LLFloaterCreateLandmark::setItem(const uuid_set_t& items) } } } -} \ No newline at end of file +} diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp index eee554806d..31e76267e6 100644 --- a/indra/newview/lllandmarklist.cpp +++ b/indra/newview/lllandmarklist.cpp @@ -74,6 +74,16 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t { return NULL; } + + if (cb) + { + // Multiple different sources can request same landmark, + // mLoadedCallbackMap is a multimap that allows multiple pairs with same key + // Todo: this might need to be improved to not hold identical callbacks multiple times + loaded_callback_map_t::value_type vt(asset_uuid, cb); + mLoadedCallbackMap.insert(vt); + } + if ( mWaitList.find(asset_uuid) != mWaitList.end() ) { // Landmark is sheduled for download, but not requested yet @@ -89,12 +99,6 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t return NULL; } } - - if (cb) - { - loaded_callback_map_t::value_type vt(asset_uuid, cb); - mLoadedCallbackMap.insert(vt); - } if (mRequestedList.size() > MAX_SIMULTANEOUS_REQUESTS) { diff --git a/indra/newview/skins/default/xui/en/floater_create_landmark.xml b/indra/newview/skins/default/xui/en/floater_create_landmark.xml index 8d361c238e..c8b3d9c664 100644 --- a/indra/newview/skins/default/xui/en/floater_create_landmark.xml +++ b/indra/newview/skins/default/xui/en/floater_create_landmark.xml @@ -47,7 +47,7 @@ layout="topleft" name="folder_label" top_pad="10" - value="Landmark location:" + value="Save this landmark in:" width="290" />