diff options
author | Richard Linden <none@none> | 2011-08-16 13:59:46 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2011-08-16 13:59:46 -0700 |
commit | bffd5b3a6c71fcfb0b802470cf81c053a5131dbe (patch) | |
tree | 2d4beef215702644eec98458baf8e5126577044c | |
parent | 25f1653ca0a25c73b3c0649ee5bb7c65e5378eac (diff) |
EXP-1099 FIX Cannot drag item on to empty space in outbox folder
-rw-r--r-- | indra/newview/llfolderview.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index bdb7262416..6461a5525e 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -527,6 +527,7 @@ void LLFolderView::reshape(S32 width, S32 height, BOOL called_from_parent) scroll_rect = mScrollContainer->getContentWindowRect(); } width = llmax(mMinWidth, scroll_rect.getWidth()); + height = llmax(height, scroll_rect.getHeight()); // restrict width with scroll container's width if (mUseEllipses) @@ -1905,21 +1906,15 @@ BOOL LLFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, std::string& tooltip_msg) { mDragAndDropThisFrame = TRUE; + // have children handle it first BOOL handled = LLView::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); - // When there are no visible children drag and drop is handled + // when drop is not handled by child, it should be handled // by the folder which is the hierarchy root. - if (!handled && !hasVisibleChildren()) + if (!handled && getListener()->getUUID().notNull()) { - if (mFolders.empty()) - { - handled = handleDragAndDropFromChild(mask,drop,cargo_type,cargo_data,accept,tooltip_msg); - } - else - { - handled = mFolders.front()->handleDragAndDropFromChild(mask,drop,cargo_type,cargo_data,accept,tooltip_msg); - } + LLFolderViewFolder::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); } if (handled) |