From 88a6cbdaecc06c0ff174d29ca9ff600775edff49 Mon Sep 17 00:00:00 2001
From: Andrew Dyukov <adyukov@productengine.com>
Date: Tue, 26 Jan 2010 22:29:17 +0200
Subject: [PATCH] Workaround for EXT-4725(Viewer crashes if try to call from
 'Nearby voice' floater).

- Enabling/disabling 'Call'menu item is moved to createMenu(). Some way to properly enable/disable it in
 enableContextMenuItem() should be found.

--HG--
branch : product-engine
---
 indra/newview/llparticipantlist.cpp                         | 6 ++++++
 .../newview/skins/default/xui/en/menu_participant_list.xml  | 3 ---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index f83f3eba96..d54cbfe203 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -433,6 +433,12 @@ LLContextMenu* LLParticipantList::LLParticipantListMenu::createMenu()
 	LLContextMenu* main_menu = LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>(
 		"menu_participant_list.xml", LLMenuGL::sMenuContainer, LLViewerMenuHolderGL::child_registry_t::instance());
 
+	// AD *TODO: This is workaround for EXT-4725- way to properly enable/disable "Call" menu item in
+	// enableContextMenuItem() should be found.
+	bool not_agent = mUUIDs.front() != gAgentID;
+	bool can_call = not_agent && LLVoiceClient::voiceEnabled() && gVoiceClient->voiceWorking();
+	main_menu->setItemEnabled("Call", can_call);
+
 	// Don't show sort options for P2P chat
 	bool is_sort_visible = (mParent.mAvatarList && mParent.mAvatarList->size() > 1);
 	main_menu->setItemVisible("SortByName", is_sort_visible);
diff --git a/indra/newview/skins/default/xui/en/menu_participant_list.xml b/indra/newview/skins/default/xui/en/menu_participant_list.xml
index 805ffbae66..04e02d0f6c 100644
--- a/indra/newview/skins/default/xui/en/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/en/menu_participant_list.xml
@@ -57,9 +57,6 @@
      name="Call">
          <menu_item_call.on_click
          function="Avatar.Call" />
-        <menu_item_call.on_enable
-         function="ParticipantList.EnableItem"
-         parameter="can_call" />
     </menu_item_call>
     <menu_item_call
      enabled="true"
-- 
GitLab