diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-04-19 14:12:42 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-04-19 14:12:42 +0300 |
commit | 59d296e2008847b944678f6e3b873435e6d5f826 (patch) | |
tree | a1463939ed33485a20f911f510deb55b37f78cb7 /indra/newview/llfolderview.cpp | |
parent | 71c7b2f6d76b29c527d07c01c52127bf4f5b402e (diff) |
Fixed major bug EXT-6682 (Emptying Lost & Found Folder can crash Viewer2.0 if recent item was added)
Reason: a pointer to renamed item was not nullified in Folder View when rename control lost focus.
Fix: updated focus lost callback to nullify the pointer to renamed item. Had to made this callback non-static to have access to Folder View's member pointer.
Also made "New..." menu items disabled for Lost & Found folder.
Reviewed by Tofu Linden at https://codereview.productengine.com/secondlife/r/251/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llfolderview.cpp')
-rw-r--r-- | indra/newview/llfolderview.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 8d4d6a178a..c492bfcef1 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -1416,8 +1416,8 @@ void LLFolderView::startRenamingSelectedItem( void ) mRenamer->setVisible( TRUE ); // set focus will fail unless item is visible mRenamer->setFocus( TRUE ); - mRenamer->setTopLostCallback(boost::bind(onRenamerLost, _1)); - mRenamer->setFocusLostCallback(boost::bind(onRenamerLost, _1)); + mRenamer->setTopLostCallback(boost::bind(&LLFolderView::onRenamerLost, this, _1)); + mRenamer->setFocusLostCallback(boost::bind(&LLFolderView::onRenamerLost, this, _1)); gViewerWindow->addPopup(mRenamer); } } @@ -2386,9 +2386,9 @@ S32 LLFolderView::notify(const LLSD& info) /// Local function definitions ///---------------------------------------------------------------------------- -//static void LLFolderView::onRenamerLost( LLFocusableElement* renamer) { + mRenameItem = NULL; LLUICtrl* uictrl = dynamic_cast<LLUICtrl*>(renamer); if (uictrl) { |