summaryrefslogtreecommitdiff
path: root/indra/newview/llconversationview.cpp
diff options
context:
space:
mode:
authorMaximB ProductEngine <mberezhnoy@productengine.com>2012-12-04 14:45:19 +0200
committerMaximB ProductEngine <mberezhnoy@productengine.com>2012-12-04 14:45:19 +0200
commit4c3510bc4e4c2365bf75c3fbfdfae6b329a420e0 (patch)
tree6a712f7b27366afc5e99e1b43138be45edeef388 /indra/newview/llconversationview.cpp
parentf888a3fd00ca32275ab2da6437cb011b3ab78f89 (diff)
parent8c24cc8e3635888b766e30001749966eddc0dc7e (diff)
merging
Diffstat (limited to 'indra/newview/llconversationview.cpp')
-rwxr-xr-xindra/newview/llconversationview.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 7988cd1a03..b964cee09f 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -95,7 +95,7 @@ LLConversationViewSession::~LLConversationViewSession()
LLVoiceClient::getInstance()->removeObserver(mVoiceClientObserver);
}
- delete mFlashTimer;
+ mFlashTimer->unset();
}
bool LLConversationViewSession::isHighlightAllowed()
@@ -218,9 +218,15 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )
{
LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem());
LLUUID session_id = item? item->getUUID() : LLUUID();
+ //Will try to select a child node and then itself (if a child was not selected)
BOOL result = LLFolderViewFolder::handleMouseDown(x, y, mask);
- (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
- selectConversationPair(session_id, false);
+
+ //This node (conversation) was selected and a child (participant) was not
+ if(result && getRoot()->getCurSelectedItem() == this)
+ {
+ (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
+ selectConversationPair(session_id, false);
+ }
return result;
}
@@ -549,8 +555,12 @@ BOOL LLConversationViewParticipant::handleMouseDown( S32 x, S32 y, MASK mask )
}
LLUUID session_id = item? item->getUUID() : LLUUID();
BOOL result = LLFolderViewItem::handleMouseDown(x, y, mask);
- (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
- selectConversationPair(session_id, false);
+
+ if(result)
+ {
+ (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
+ selectConversationPair(session_id, false);
+ }
return result;
}