From 136cffbab9137761bd1ec5bf5d4a3b27e7b5807b Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Sat, 9 Feb 2019 16:51:53 -0500 Subject: [PATCH] What a drag --- indra/newview/lltooldraganddrop.cpp | 1 + indra/newview/lltooldraganddrop.h | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index e26d65d93..07c3b12aa 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -524,6 +524,7 @@ void LLToolDragAndDrop::beginMultiDrag( void LLToolDragAndDrop::endDrag() { + mEndDragSignal(); LLSelectMgr::getInstance()->unhighlightAll(); setMouseCapture(FALSE); } diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h index 09de0e6dd..7835a32b8 100644 --- a/indra/newview/lltooldraganddrop.h +++ b/indra/newview/lltooldraganddrop.h @@ -50,6 +50,7 @@ class LLPickInfo; class LLToolDragAndDrop : public LLTool, public LLSingleton { public: + typedef boost::signals2::signal enddrag_signal_t; LLToolDragAndDrop(); // overridden from LLTool @@ -86,6 +87,8 @@ public: const LLUUID& getObjectID() const { return mObjectID; } EAcceptance getLastAccept() { return mLastAccept; } + boost::signals2::connection setEndDragCallback( const enddrag_signal_t::slot_type& cb ) { return mEndDragSignal.connect(cb); } + uuid_vec_t::size_type getCargoIDsCount() const { return mCargoIDs.size(); } static S32 getOperationId() { return sOperationId; } @@ -136,6 +139,8 @@ protected: S32 mCurItemIndex; std::string mToolTipMsg; + enddrag_signal_t mEndDragSignal; + protected: // 3d drop functions. these call down into the static functions // named drop if drop is TRUE and permissions allow