From c3b9ed68cfa988ddbbcfae36be04d4a8e69c1983 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Thu, 7 Oct 2010 18:54:30 +0300 Subject: [PATCH] STORM-296 FIXED Item types that can be dropped to Places SP->My Landmarks restricted to landmarks and folders only. --- indra/newview/llplacesinventorypanel.cpp | 18 ++++++++++++++++++ indra/newview/llplacesinventorypanel.h | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/indra/newview/llplacesinventorypanel.cpp b/indra/newview/llplacesinventorypanel.cpp index 29e262199e3..408270a1a04 100644 --- a/indra/newview/llplacesinventorypanel.cpp +++ b/indra/newview/llplacesinventorypanel.cpp @@ -205,6 +205,24 @@ BOOL LLPlacesFolderView::handleRightMouseDown(S32 x, S32 y, MASK mask) return LLFolderView::handleRightMouseDown(x, y, mask); } +BOOL LLPlacesFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) +{ + // Don't accept anything except landmarks and folders to be dropped + // in places folder view. See STORM-296. + if (cargo_type != DAD_LANDMARK && cargo_type != DAD_CATEGORY) + { + *accept = ACCEPT_NO; + return FALSE; + } + + return LLFolderView::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, + accept, tooltip_msg); +} + void LLPlacesFolderView::setupMenuHandle(LLInventoryType::EType asset_type, LLHandle<LLView> menu_handle) { mMenuHandlesByInventoryType[asset_type] = menu_handle; diff --git a/indra/newview/llplacesinventorypanel.h b/indra/newview/llplacesinventorypanel.h index 6641871a0bf..a44776d18b9 100644 --- a/indra/newview/llplacesinventorypanel.h +++ b/indra/newview/llplacesinventorypanel.h @@ -70,6 +70,12 @@ class LLPlacesFolderView : public LLFolderView */ /*virtual*/ BOOL handleRightMouseDown( S32 x, S32 y, MASK mask ); + /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); + void setupMenuHandle(LLInventoryType::EType asset_type, LLHandle<LLView> menu_handle); void setParentLandmarksPanel(LLLandmarksPanel* panel) -- GitLab