From 3e299ab7642871b9d687940b1968de98f461892d Mon Sep 17 00:00:00 2001 From: Boroondas Gupte Date: Thu, 2 Sep 2010 18:29:42 +0200 Subject: =?UTF-8?q?VWR-20583=20FIXED=20submenu=20indicators=20(=E2=96=B6?= =?UTF-8?q?=20a.k.a.=20U+25B6)=20shouldn't=20be=20hard-coded=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20in=20context=20menu=20su?= =?UTF-8?q?b=20menu=20names?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the same mechanism for adding the triangle in LLContextMenuBranch as is already used in LLMenuItemBranchGL. As a bonus, the triangles will be nicely right-aligned, just as in the main menu. Remaining hard-coded triangles all are in indra/newview/skins/default/xui/*/panel_voice_effect.xml. --- indra/llui/llmenugl.cpp | 3 +-- indra/newview/llvoavatarself.cpp | 24 +++++++++++----------- .../skins/default/xui/da/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/da/menu_object.xml | 8 ++++---- .../default/xui/da/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/de/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/de/menu_object.xml | 8 ++++---- .../default/xui/de/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/en/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/en/menu_object.xml | 8 ++++---- .../default/xui/en/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/es/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/es/menu_object.xml | 8 ++++---- .../default/xui/es/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/fr/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/fr/menu_object.xml | 8 ++++---- .../default/xui/fr/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/it/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/it/menu_object.xml | 8 ++++---- .../default/xui/it/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/ja/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/ja/menu_object.xml | 8 ++++---- .../default/xui/ja/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/pl/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/pl/menu_object.xml | 8 ++++---- .../default/xui/pl/menu_wearable_list_item.xml | 4 ++-- .../skins/default/xui/pt/menu_avatar_self.xml | 8 ++++---- indra/newview/skins/default/xui/pt/menu_object.xml | 6 +++--- .../default/xui/pt/menu_wearable_list_item.xml | 4 ++-- 29 files changed, 102 insertions(+), 103 deletions(-) (limited to 'indra') diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index b4a1bcb7c5..e7a6f1e6f6 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -3727,8 +3727,7 @@ void LLContextMenuBranch::buildDrawLabel( void ) appendAcceleratorString( st ); mDrawAccelLabel = st; - // No special branch suffix - mDrawBranchLabel.clear(); + mDrawBranchLabel = BRANCH_SUFFIX; } void LLContextMenuBranch::showSubMenu() diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 4edbbb7402..0787393ae9 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -246,58 +246,58 @@ BOOL LLVOAvatarSelf::buildMenus() gAttachBodyPartPieMenus[0] = NULL; LLContextMenu::Params params; - params.label(LLTrans::getString("BodyPartsRightArm") + " >"); + params.label(LLTrans::getString("BodyPartsRightArm")); params.name(params.label); params.visible(false); gAttachBodyPartPieMenus[1] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsHead") + " >"); + params.label(LLTrans::getString("BodyPartsHead")); params.name(params.label); gAttachBodyPartPieMenus[2] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsLeftArm") + " >"); + params.label(LLTrans::getString("BodyPartsLeftArm")); params.name(params.label); gAttachBodyPartPieMenus[3] = LLUICtrlFactory::create (params); gAttachBodyPartPieMenus[4] = NULL; - params.label(LLTrans::getString("BodyPartsLeftLeg") + " >"); + params.label(LLTrans::getString("BodyPartsLeftLeg")); params.name(params.label); gAttachBodyPartPieMenus[5] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsTorso") + " >"); + params.label(LLTrans::getString("BodyPartsTorso")); params.name(params.label); gAttachBodyPartPieMenus[6] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsRightLeg") + " >"); + params.label(LLTrans::getString("BodyPartsRightLeg")); params.name(params.label); gAttachBodyPartPieMenus[7] = LLUICtrlFactory::create (params); gDetachBodyPartPieMenus[0] = NULL; - params.label(LLTrans::getString("BodyPartsRightArm") + " >"); + params.label(LLTrans::getString("BodyPartsRightArm")); params.name(params.label); gDetachBodyPartPieMenus[1] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsHead") + " >"); + params.label(LLTrans::getString("BodyPartsHead")); params.name(params.label); gDetachBodyPartPieMenus[2] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsLeftArm") + " >"); + params.label(LLTrans::getString("BodyPartsLeftArm")); params.name(params.label); gDetachBodyPartPieMenus[3] = LLUICtrlFactory::create (params); gDetachBodyPartPieMenus[4] = NULL; - params.label(LLTrans::getString("BodyPartsLeftLeg") + " >"); + params.label(LLTrans::getString("BodyPartsLeftLeg")); params.name(params.label); gDetachBodyPartPieMenus[5] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsTorso") + " >"); + params.label(LLTrans::getString("BodyPartsTorso")); params.name(params.label); gDetachBodyPartPieMenus[6] = LLUICtrlFactory::create (params); - params.label(LLTrans::getString("BodyPartsRightLeg") + " >"); + params.label(LLTrans::getString("BodyPartsRightLeg")); params.name(params.label); gDetachBodyPartPieMenus[7] = LLUICtrlFactory::create (params); diff --git a/indra/newview/skins/default/xui/da/menu_avatar_self.xml b/indra/newview/skins/default/xui/da/menu_avatar_self.xml index ec85bd05a5..af4fdcc154 100644 --- a/indra/newview/skins/default/xui/da/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/da/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/da/menu_object.xml b/indra/newview/skins/default/xui/da/menu_object.xml index c98a07e140..d03cba39f6 100644 --- a/indra/newview/skins/default/xui/da/menu_object.xml +++ b/indra/newview/skins/default/xui/da/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml index 00055c8932..0845f19b15 100644 --- a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml @@ -5,8 +5,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/de/menu_avatar_self.xml b/indra/newview/skins/default/xui/de/menu_avatar_self.xml index 160703bcf3..c74f646abb 100644 --- a/indra/newview/skins/default/xui/de/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/de/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/de/menu_object.xml b/indra/newview/skins/default/xui/de/menu_object.xml index 8bb7b66482..2e5101a28d 100644 --- a/indra/newview/skins/default/xui/de/menu_object.xml +++ b/indra/newview/skins/default/xui/de/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml index 027a68e72e..aa15049632 100644 --- a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml @@ -4,8 +4,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml index d5b993152a..01f97683de 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_self.xml @@ -13,11 +13,11 @@ function="Self.EnableStandUp" /> - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/es/menu_object.xml b/indra/newview/skins/default/xui/es/menu_object.xml index d2743cd4fc..88163994bb 100644 --- a/indra/newview/skins/default/xui/es/menu_object.xml +++ b/indra/newview/skins/default/xui/es/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml index 96fc3a1e68..2187fff294 100644 --- a/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml @@ -4,8 +4,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_self.xml b/indra/newview/skins/default/xui/fr/menu_avatar_self.xml index 3620dc72b0..bcf2757b58 100644 --- a/indra/newview/skins/default/xui/fr/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/fr/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/fr/menu_object.xml b/indra/newview/skins/default/xui/fr/menu_object.xml index 6492a83e06..c60beb9b51 100644 --- a/indra/newview/skins/default/xui/fr/menu_object.xml +++ b/indra/newview/skins/default/xui/fr/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml index 39e8ca2173..383ff6ad6b 100644 --- a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml @@ -4,8 +4,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/it/menu_avatar_self.xml b/indra/newview/skins/default/xui/it/menu_avatar_self.xml index 7796d41286..7d918423c3 100644 --- a/indra/newview/skins/default/xui/it/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/it/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/it/menu_object.xml b/indra/newview/skins/default/xui/it/menu_object.xml index 237b6b3a0e..fdb939e377 100644 --- a/indra/newview/skins/default/xui/it/menu_object.xml +++ b/indra/newview/skins/default/xui/it/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml index 0173e8a66a..aa2114af2a 100644 --- a/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml @@ -4,8 +4,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_self.xml b/indra/newview/skins/default/xui/ja/menu_avatar_self.xml index 6899a819b8..bca90cf5e4 100644 --- a/indra/newview/skins/default/xui/ja/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/ja/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/ja/menu_object.xml b/indra/newview/skins/default/xui/ja/menu_object.xml index e59a500534..8d382abf49 100644 --- a/indra/newview/skins/default/xui/ja/menu_object.xml +++ b/indra/newview/skins/default/xui/ja/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml index 13bfb09f5f..5959bf88e6 100644 --- a/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml @@ -4,8 +4,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_self.xml b/indra/newview/skins/default/xui/pl/menu_avatar_self.xml index aa415db6ea..cf848b919d 100644 --- a/indra/newview/skins/default/xui/pl/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/pl/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/pl/menu_object.xml b/indra/newview/skins/default/xui/pl/menu_object.xml index 763b120f89..391fb49011 100644 --- a/indra/newview/skins/default/xui/pl/menu_object.xml +++ b/indra/newview/skins/default/xui/pl/menu_object.xml @@ -8,12 +8,12 @@ - + - - + + - + diff --git a/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml index b32e4adc5c..b31949a098 100644 --- a/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml @@ -5,8 +5,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_self.xml b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml index 62055303b5..755975f9a5 100644 --- a/indra/newview/skins/default/xui/pt/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml @@ -1,8 +1,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + diff --git a/indra/newview/skins/default/xui/pt/menu_object.xml b/indra/newview/skins/default/xui/pt/menu_object.xml index a5969cacc3..0b0ff000f9 100644 --- a/indra/newview/skins/default/xui/pt/menu_object.xml +++ b/indra/newview/skins/default/xui/pt/menu_object.xml @@ -10,10 +10,10 @@ - - + + - + diff --git a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml index 1874837d65..48ff83578a 100644 --- a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml @@ -4,8 +4,8 @@ - - + + -- cgit v1.2.3 From 1b56428619ca9490d8c7b26e607e9aec321e6907 Mon Sep 17 00:00:00 2001 From: Boroondas Gupte Date: Fri, 3 Sep 2010 11:44:23 +0200 Subject: VWR-20583 FIXED missed some hardcoded '>'s in menu_participant_list.xml --- indra/newview/skins/default/xui/da/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/de/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/en/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/es/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/fr/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/it/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/ja/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/pl/menu_participant_list.xml | 2 +- indra/newview/skins/default/xui/pt/menu_participant_list.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/da/menu_participant_list.xml b/indra/newview/skins/default/xui/da/menu_participant_list.xml index 2bd28e10de..0069dcbacb 100644 --- a/indra/newview/skins/default/xui/da/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/da/menu_participant_list.xml @@ -11,7 +11,7 @@ - + diff --git a/indra/newview/skins/default/xui/de/menu_participant_list.xml b/indra/newview/skins/default/xui/de/menu_participant_list.xml index d5281f0cb2..160f2f97be 100644 --- a/indra/newview/skins/default/xui/de/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/de/menu_participant_list.xml @@ -11,7 +11,7 @@ - + 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 4ed5807808..2c32d9d303 100644 --- a/indra/newview/skins/default/xui/en/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/en/menu_participant_list.xml @@ -130,7 +130,7 @@ layout="topleft" name="Moderator Options Separator"/> - + diff --git a/indra/newview/skins/default/xui/fr/menu_participant_list.xml b/indra/newview/skins/default/xui/fr/menu_participant_list.xml index 63d3d39f9c..f91a30f6bb 100644 --- a/indra/newview/skins/default/xui/fr/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/fr/menu_participant_list.xml @@ -11,7 +11,7 @@ - + diff --git a/indra/newview/skins/default/xui/it/menu_participant_list.xml b/indra/newview/skins/default/xui/it/menu_participant_list.xml index f70b886a1e..52e3c933da 100644 --- a/indra/newview/skins/default/xui/it/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/it/menu_participant_list.xml @@ -11,7 +11,7 @@ - + diff --git a/indra/newview/skins/default/xui/ja/menu_participant_list.xml b/indra/newview/skins/default/xui/ja/menu_participant_list.xml index 3ef83756cb..64d8ded722 100644 --- a/indra/newview/skins/default/xui/ja/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/ja/menu_participant_list.xml @@ -11,7 +11,7 @@ - + diff --git a/indra/newview/skins/default/xui/pl/menu_participant_list.xml b/indra/newview/skins/default/xui/pl/menu_participant_list.xml index 59b4fec6b0..a442f419b4 100644 --- a/indra/newview/skins/default/xui/pl/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/pl/menu_participant_list.xml @@ -11,7 +11,7 @@ - + diff --git a/indra/newview/skins/default/xui/pt/menu_participant_list.xml b/indra/newview/skins/default/xui/pt/menu_participant_list.xml index 01f1d4ef80..ee522210fb 100644 --- a/indra/newview/skins/default/xui/pt/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/pt/menu_participant_list.xml @@ -11,7 +11,7 @@ - + -- cgit v1.2.3 From 98e6d56beb75220cd2cf1d3bccda77b286b9f2c8 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Sat, 18 Sep 2010 01:16:50 +0300 Subject: STORM-159 FIXED Added sharing inventory item by dropping it on resident's Profile SP even when no IM session is started with that resident. --- indra/newview/lltooldraganddrop.cpp | 67 +++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 11 deletions(-) (limited to 'indra') diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index 54484a1dbb..d6e069b3dc 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -1445,6 +1445,43 @@ static void give_inventory_cb(const LLSD& notification, const LLSD& response) } } +static void show_item_sharing_confirmation(const std::string name, + LLViewerInventoryItem* inv_item, + const LLSD& dest, + const LLUUID& dest_agent, + const LLUUID& session_id = LLUUID::null) +{ + if (!inv_item) + { + llassert(NULL != inv_item); + return; + } + + LLSD substitutions; + substitutions["RESIDENTS"] = name; + substitutions["ITEMS"] = inv_item ? inv_item->getName() : LLStringUtil::null; + LLSD payload; + payload["agent_id"] = dest_agent; + payload["item_id"] = inv_item->getUUID(); + payload["session_id"] = session_id; + payload["d&d_dest"] = dest.asString(); + LLNotificationsUtil::add("ShareItemsConfirmation", substitutions, payload, &give_inventory_cb); +} + +static void get_name_cb(const LLUUID& id, + const std::string& first_name, + const std::string& last_name, + LLViewerInventoryItem* inv_item, + const LLSD& dest, + const LLUUID& dest_agent) +{ + show_item_sharing_confirmation(first_name + " " + last_name, + inv_item, + dest, + id, + LLUUID::null); +} + // function used as drag-and-drop handler for simple agent give inventory requests //static bool LLToolDragAndDrop::handleGiveDragAndDrop(LLUUID dest_agent, LLUUID session_id, BOOL drop, @@ -1477,20 +1514,28 @@ bool LLToolDragAndDrop::handleGiveDragAndDrop(LLUUID dest_agent, LLUUID session_ if (drop) { LLIMModel::LLIMSession * session = LLIMModel::instance().findIMSession(session_id); + + // If no IM session found get the destination agent's name by id. if (NULL == session) { - llassert(NULL != session); - return false; + std::string fullname; + + // If destination agent's name is found in cash proceed to showing the confirmation dialog. + // Otherwise set up a callback to show the dialog when the name arrives. + if (gCacheName->getFullName(dest_agent, fullname)) + { + show_item_sharing_confirmation(fullname, inv_item, dest, dest_agent, LLUUID::null); + } + else + { + gCacheName->get(dest_agent, FALSE, boost::bind(&get_name_cb, _1, _2, _3, inv_item, dest, dest_agent)); + } + + return true; } - LLSD substitutions; - substitutions["RESIDENTS"] = session->mName; - substitutions["ITEMS"] = inv_item->getName(); - LLSD payload; - payload["agent_id"] = dest_agent; - payload["item_id"] = inv_item->getUUID(); - payload["session_id"] = session_id; - payload["d&d_dest"] = dest.asString(); - LLNotificationsUtil::add("ShareItemsConfirmation", substitutions, payload, &give_inventory_cb); + + // If an IM session with destination agent is found item offer will be logged in this session. + show_item_sharing_confirmation(session->mName, inv_item, dest, dest_agent, session_id); } } else -- cgit v1.2.3 From 022f9bd9a8b80481bb5ecfd651457fe6df3bae30 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Mon, 20 Sep 2010 19:08:45 +0300 Subject: STORM-192 ADDITIONAL FIX Fixed crash on pressing Ctrl+Shift+W (which closes all floaters). The crash was introduced by my previous fix of this ticket in changeset 8ceebd3612f0. The problem was that, suprisingly, even invisible (faded) toasts were destroyed when you hit Ctrl_Shift+W, however they were still referenced by the toast pool, so the references were invalidated. The easiest fix would be to remove all references to the toast being destroyed, no matter is it visible or not. However, then we'd have to search for each destroyed toast in the pool, which is slow. Besides, removing toasts from the pool compromises the whole idea of pooling (which was introduced to speed up creation of new toasts). Another possible fix is not to destroy any nearby chat toasts when user hits Ctrl+Shift+W. That would save us from any crashes at a price of changing existing behaviour (the toasts will remain visible). So I went for a third option: when closing all floaters, skip invisible ones. Then there won't be attempts to destroy invisible (pooled) toasts, so the crash won't happen, and we don't seem to change any existing behavior. However I'm not 100% sure of the latter statement, so the fix requires extensive testing. --- indra/llui/llfloater.cpp | 4 +++- indra/newview/llnearbychathandler.cpp | 13 ++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index c0942cf3c7..eb5d7a6b6a 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2390,7 +2390,9 @@ void LLFloaterView::closeAllChildren(bool app_quitting) // Attempt to close floater. This will cause the "do you want to save" // dialogs to appear. - if (floaterp->canClose() && !floaterp->isDead()) + // Skip invisible floaters if we're not quitting (STORM-192). + if (floaterp->canClose() && !floaterp->isDead() && + (app_quitting || floaterp->getVisible())) { floaterp->closeFloater(app_quitting); } diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index b6d2e02eef..c80583cd0e 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -54,6 +54,7 @@ LLToastPanelBase* createToastPanel() class LLNearbyChatScreenChannel: public LLScreenChannelBase { + LOG_CLASS(LLNearbyChatScreenChannel); public: LLNearbyChatScreenChannel(const LLUUID& id):LLScreenChannelBase(id) { mStopProcessing = false;}; @@ -90,6 +91,7 @@ public: virtual void deleteAllChildren() { + LL_DEBUGS("NearbyChat") << "Clearing toast pool" << llendl; m_toast_pool.clear(); m_active_toasts.clear(); LLScreenChannelBase::deleteAllChildren(); @@ -99,6 +101,7 @@ protected: void deactivateToast(LLToast* toast); void addToToastPool(LLToast* toast) { + LL_DEBUGS("NearbyChat") << "Pooling toast" << llendl; toast->setVisible(FALSE); toast->stopTimer(); toast->setIsHidden(true); @@ -153,6 +156,7 @@ void LLNearbyChatScreenChannel::deactivateToast(LLToast* toast) return; } + LL_DEBUGS("NearbyChat") << "Deactivating toast" << llendl; m_active_toasts.erase(pos); } @@ -163,6 +167,8 @@ void LLNearbyChatScreenChannel::createOverflowToast(S32 bottom, F32 timer) void LLNearbyChatScreenChannel::onToastDestroyed(LLToast* toast, bool app_quitting) { + LL_DEBUGS("NearbyChat") << "Toast destroyed (app_quitting=" << app_quitting << ")" << llendl; + if (app_quitting) { // Viewer is quitting. @@ -179,7 +185,9 @@ void LLNearbyChatScreenChannel::onToastDestroyed(LLToast* toast, bool app_quitti } void LLNearbyChatScreenChannel::onToastFade(LLToast* toast) -{ +{ + LL_DEBUGS("NearbyChat") << "Toast fading" << llendl; + //fade mean we put toast to toast pool if(!toast) return; @@ -208,6 +216,7 @@ bool LLNearbyChatScreenChannel::createPoolToast() toast->setOnFadeCallback(boost::bind(&LLNearbyChatScreenChannel::onToastFade, this, _1)); + LL_DEBUGS("NearbyChat") << "Creating and pooling toast" << llendl; m_toast_pool.push_back(toast); return true; } @@ -245,6 +254,7 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification) if(m_toast_pool.empty()) { //"pool" is empty - create one more panel + LL_DEBUGS("NearbyChat") << "Empty pool" << llendl; if(!createPoolToast())//created toast will go to pool. so next call will find it return; addNotification(notification); @@ -264,6 +274,7 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification) //take 1st element from pool, (re)initialize it, put it in active toasts + LL_DEBUGS("NearbyChat") << "Getting toast from pool" << llendl; LLToast* toast = m_toast_pool.back(); m_toast_pool.pop_back(); -- cgit v1.2.3 From 101bf8f0239b03d22e4ca4573adb30146a618de1 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Tue, 21 Sep 2010 00:17:16 +0300 Subject: STORM-189 FIXED Applied text wrapping to fix long string truncation in Build tools->Features. --- indra/newview/skins/default/xui/en/floater_tools.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 1d58e7a540..af8ab3fd9e 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -2022,12 +2022,13 @@ even though the user gets a free copy. type="string" length="1" follows="left|top" - height="10" + height="20" layout="topleft" left="10" name="select_single" top="5" - width="252"> + width="252" + word_wrap="true"> Select only one primitive to edit features. Date: Tue, 21 Sep 2010 13:08:33 +0100 Subject: STORM-165 decode_priority clamp issue in texture fetching Patch by Merov ported and reviewed by Tofu, from SG2. --- indra/newview/llviewertexture.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 0ad54f238e..5c262838ae 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1820,7 +1820,7 @@ bool LLViewerFetchedTexture::updateFetch() S32 current_discard = getCurrentDiscardLevelForFetching() ; S32 desired_discard = getDesiredDiscardLevel(); F32 decode_priority = getDecodePriority(); - decode_priority = llmax(decode_priority, 0.0f); + decode_priority = llclamp(decode_priority, 0.0f, maxDecodePriority()); if (mIsFetching) { -- cgit v1.2.3