summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llsettingspicker.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/indra/newview/llsettingspicker.cpp b/indra/newview/llsettingspicker.cpp
index e2d6d43ae3..fcc615db6e 100644
--- a/indra/newview/llsettingspicker.cpp
+++ b/indra/newview/llsettingspicker.cpp
@@ -356,9 +356,9 @@ BOOL LLFloaterSettingsPicker::handleDoubleClick(S32 x, S32 y, MASK mask)
S32 inventory_y = y - mInventoryPanel->getRect().mBottom;
if (mInventoryPanel->parentPointInView(inventory_x, inventory_y))
{
- // make sure item (not folder) is selected
+ // make sure item is selected and visible
LLFolderViewItem* item_viewp = mInventoryPanel->getItemByID(mSettingItemID);
- if (item_viewp && item_viewp->getIsCurSelection())
+ if (item_viewp && item_viewp->getIsCurSelection() && item_viewp->getVisible())
{
LLRect target_rect;
item_viewp->localRectToOtherView(item_viewp->getLocalRect(), &target_rect, this);
@@ -373,10 +373,10 @@ BOOL LLFloaterSettingsPicker::handleDoubleClick(S32 x, S32 y, MASK mask)
(*mCommitSignal)(this, res);
}
closeFloater();
+ // hit inside panel on selected item, double click should do nothing
+ result = TRUE;
}
}
- // hit inside panel on free place or (de)unselected item, double click should do nothing
- result = TRUE;
}
}
@@ -392,7 +392,7 @@ BOOL LLFloaterSettingsPicker::handleKeyHere(KEY key, MASK mask)
if ((key == KEY_RETURN) && (mask == MASK_NONE))
{
LLFolderViewItem* item_viewp = mInventoryPanel->getItemByID(mSettingItemID);
- if (item_viewp && item_viewp->getIsCurSelection())
+ if (item_viewp && item_viewp->getIsCurSelection() && item_viewp->getVisible())
{
// Quick-apply
if (mCommitSignal)