diff options
Diffstat (limited to 'indra/newview/llworldmap.cpp')
-rw-r--r-- | indra/newview/llworldmap.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/indra/newview/llworldmap.cpp b/indra/newview/llworldmap.cpp index c9a3bd2112..572f31f566 100644 --- a/indra/newview/llworldmap.cpp +++ b/indra/newview/llworldmap.cpp @@ -186,6 +186,7 @@ void LLWorldMap::eraseItems() mInfohubs.clear(); mPGEvents.clear(); mMatureEvents.clear(); + mAdultEvents.clear(); mLandForSale.clear(); } // mAgentLocationsMap.clear(); // persists @@ -311,11 +312,23 @@ void LLWorldMap::setCurrentLayer(S32 layer, bool request_layer) sendItemRequest(MAP_ITEM_MATURE_EVENT); } + if (mAdultEvents.size() == 0) + { + // Request for events (adult) + sendItemRequest(MAP_ITEM_ADULT_EVENT); + } + if (mLandForSale.size() == 0) { // Request for Land For Sale sendItemRequest(MAP_ITEM_LAND_FOR_SALE); } + + if (mLandForSaleAdult.size() == 0) + { + // Request for Land For Sale + sendItemRequest(MAP_ITEM_LAND_FOR_SALE_ADULT); + } clearImageRefs(); clearSimFlags(); @@ -742,6 +755,7 @@ void LLWorldMap::processMapItemReply(LLMessageSystem* msg, void**) } case MAP_ITEM_PG_EVENT: // events case MAP_ITEM_MATURE_EVENT: + case MAP_ITEM_ADULT_EVENT: { struct tm* timep; // Convert to Pacific, based on server's opinion of whether @@ -762,16 +776,29 @@ void LLWorldMap::processMapItemReply(LLMessageSystem* msg, void**) { LLWorldMap::getInstance()->mPGEvents.push_back(new_item); } - else + else if (type == MAP_ITEM_MATURE_EVENT) { LLWorldMap::getInstance()->mMatureEvents.push_back(new_item); } + else if (type == MAP_ITEM_ADULT_EVENT) + { + LLWorldMap::getInstance()->mAdultEvents.push_back(new_item); + } + break; } case MAP_ITEM_LAND_FOR_SALE: // land for sale + case MAP_ITEM_LAND_FOR_SALE_ADULT: // adult land for sale { new_item.mToolTip = llformat("%d sq. m. L$%d", new_item.mExtra, new_item.mExtra2); - LLWorldMap::getInstance()->mLandForSale.push_back(new_item); + if (type == MAP_ITEM_LAND_FOR_SALE) + { + LLWorldMap::getInstance()->mLandForSale.push_back(new_item); + } + else if (type == MAP_ITEM_LAND_FOR_SALE_ADULT) + { + LLWorldMap::getInstance()->mLandForSaleAdult.push_back(new_item); + } break; } case MAP_ITEM_CLASSIFIED: // classifieds |