summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild.sh1
-rwxr-xr-xdoc/contributions.txt10
-rwxr-xr-xindra/lib/python/indra/base/lluuid.py2
-rwxr-xr-xindra/llmath/llvolume.cpp2
-rwxr-xr-xindra/llui/llbutton.cpp2
-rwxr-xr-xindra/llui/llcommandmanager.cpp4
-rwxr-xr-xindra/llui/llcommandmanager.h7
-rwxr-xr-xindra/llui/lltabcontainer.cpp23
-rwxr-xr-xindra/llui/lltabcontainer.h11
-rwxr-xr-xindra/llui/lltoolbar.cpp2
-rw-r--r--indra/llwindow/llopenglview-objc.mm7
-rwxr-xr-xindra/newview/app_settings/commands.xml48
-rwxr-xr-xindra/newview/app_settings/settings.xml11
-rwxr-xr-xindra/newview/llfloaterimsession.cpp82
-rwxr-xr-xindra/newview/llfloaterimsession.h4
-rwxr-xr-xindra/newview/llpanelteleporthistory.cpp5
-rwxr-xr-xindra/newview/skins/default/textures/textures.xml3
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_people.xml4
-rwxr-xr-xindra/newview/skins/default/xui/en/widgets/location_input.xml1
-rwxr-xr-xindra/newview/skins/default/xui/en/widgets/tab_container.xml15
21 files changed, 106 insertions, 140 deletions
diff --git a/build.sh b/build.sh
index ccc8476cea..3d270826af 100755
--- a/build.sh
+++ b/build.sh
@@ -370,6 +370,7 @@ then
if [ x"$package" != x ]
then
upload_item installer "$package" binary/octet-stream
+ upload_item quicklink "$package" binary/octet-stream
else
record_failure "Failed to upload $package_id package ($package::$additional_package_name)."
fi
diff --git a/doc/contributions.txt b/doc/contributions.txt
index ccc62f890e..63a40a1fd2 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -180,6 +180,9 @@ Ansariel Hiller
MAINT-2368
STORM-1931
MAINT-2773
+ BUG-3764
+ STORM-1984
+ STORM-1979
Aralara Rajal
Arare Chantilly
CHUIBUG-191
@@ -307,6 +310,7 @@ Christopher Organiser
Ciaran Laval
Cinder Roxley
BUG-2326
+ BUG-3863
OPEN-185
STORM-1703
STORM-1948
@@ -675,6 +679,9 @@ Jonathan Yap
STORM-1953
STORM-1957
OPEN-113
+ STORM-1975
+ STORM-1987
+ STORM-1982
Kadah Coba
STORM-1060
STORM-1843
@@ -1141,6 +1148,7 @@ snowy Sidran
Sovereign Engineer
MAINT-2334
OPEN-189
+ OPEN-195
SpacedOut Frye
VWR-34
VWR-45
@@ -1260,6 +1268,8 @@ Tofu Buzzard
Tony Kembia
Tonya Souther
STORM-1905
+ BUG-3875
+ BUG-3968
Torben Trautman
TouchaHoney Perhaps
TraductoresAnonimos Alter
diff --git a/indra/lib/python/indra/base/lluuid.py b/indra/lib/python/indra/base/lluuid.py
index 369ae4e92f..7413ffe10d 100755
--- a/indra/lib/python/indra/base/lluuid.py
+++ b/indra/lib/python/indra/base/lluuid.py
@@ -72,7 +72,7 @@ class UUID(object):
ip = ''
try:
ip = socket.gethostbyname(socket.gethostname())
- except(socket.gaierror):
+ except(socket.gaierror, socket.error):
# no ip address, so just default to somewhere in 10.x.x.x
ip = '10'
for i in range(3):
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index f74c934b21..cc5742ff7a 100755
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -6747,7 +6747,7 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
return TRUE;
}
-//adapted from Lengyel, Eric. “Computing Tangent Space Basis Vectors for an Arbitrary Mesh”. Terathon Software 3D Graphics Library, 2001. http://www.terathon.com/code/tangent.html
+//adapted from Lengyel, Eric. "Computing Tangent Space Basis Vectors for an Arbitrary Mesh". Terathon Software 3D Graphics Library, 2001. http://www.terathon.com/code/tangent.html
void CalculateTangentArray(U32 vertexCount, const LLVector4a *vertex, const LLVector4a *normal,
const LLVector2 *texcoord, U32 triangleCount, const U16* index_array, LLVector4a *tangent)
{
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index 50ac511d18..3cfe5ac57f 100755
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -641,7 +641,7 @@ void LLButton::draw()
bool use_glow_effect = FALSE;
LLColor4 highlighting_color = LLColor4::white;
- LLColor4 glow_color;
+ LLColor4 glow_color = LLColor4::white;
LLRender::eBlendType glow_type = LLRender::BT_ADD_WITH_ALPHA;
LLUIImage* imagep = NULL;
diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp
index 49cfb2255e..625fb8e870 100755
--- a/indra/llui/llcommandmanager.cpp
+++ b/indra/llui/llcommandmanager.cpp
@@ -50,8 +50,6 @@ const LLCommandId LLCommandId::null = LLCommandId("null command");
LLCommand::Params::Params()
: available_in_toybox("available_in_toybox", false)
, icon("icon")
- , hover_icon_unselected("hover_icon_unselected")
- , hover_icon_selected("hover_icon_selected")
, label_ref("label_ref")
, name("name")
, tooltip_ref("tooltip_ref")
@@ -73,8 +71,6 @@ LLCommand::LLCommand(const LLCommand::Params& p)
: mIdentifier(p.name)
, mAvailableInToybox(p.available_in_toybox)
, mIcon(p.icon)
- , mHoverIconUnselected(p.hover_icon_unselected)
- , mHoverIconSelected(p.hover_icon_selected)
, mLabelRef(p.label_ref)
, mName(p.name)
, mTooltipRef(p.tooltip_ref)
diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h
index 9f276f712d..ff5a8a3257 100755
--- a/indra/llui/llcommandmanager.h
+++ b/indra/llui/llcommandmanager.h
@@ -96,9 +96,6 @@ public:
Mandatory<std::string> name;
Mandatory<std::string> tooltip_ref;
- Optional<std::string> hover_icon_selected;
- Optional<std::string> hover_icon_unselected;
-
Mandatory<std::string> execute_function;
Optional<LLSD> execute_parameters;
@@ -127,8 +124,6 @@ public:
const std::string& labelRef() const { return mLabelRef; }
const std::string& name() const { return mName; }
const std::string& tooltipRef() const { return mTooltipRef; }
- const std::string& hoverIconUnselected() const {return mHoverIconUnselected; }
- const std::string& hoverIconSelected() const {return mHoverIconSelected; }
const std::string& executeFunctionName() const { return mExecuteFunction; }
const LLSD& executeParameters() const { return mExecuteParameters; }
@@ -155,8 +150,6 @@ private:
std::string mLabelRef;
std::string mName;
std::string mTooltipRef;
- std::string mHoverIconUnselected;
- std::string mHoverIconSelected;
std::string mExecuteFunction;
LLSD mExecuteParameters;
diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp
index 6fd2bb1b36..76ba53ec32 100755
--- a/indra/llui/lltabcontainer.cpp
+++ b/indra/llui/lltabcontainer.cpp
@@ -193,15 +193,12 @@ LLTabContainer::TabParams::TabParams()
: tab_top_image_unselected("tab_top_image_unselected"),
tab_top_image_selected("tab_top_image_selected"),
tab_top_image_flash("tab_top_image_flash"),
- tab_top_image_hovered("tab_top_image_hovered"),
tab_bottom_image_unselected("tab_bottom_image_unselected"),
tab_bottom_image_selected("tab_bottom_image_selected"),
tab_bottom_image_flash("tab_bottom_image_flash"),
- tab_bottom_image_hovered("tab_bottom_image_hovered"),
tab_left_image_unselected("tab_left_image_unselected"),
tab_left_image_selected("tab_left_image_selected"),
- tab_left_image_flash("tab_left_image_flash"),
- tab_left_image_hovered("tab_left_image_hovered")
+ tab_left_image_flash("tab_left_image_flash")
{}
LLTabContainer::Params::Params()
@@ -221,8 +218,7 @@ LLTabContainer::Params::Params()
open_tabs_on_drag_and_drop("open_tabs_on_drag_and_drop", false),
tab_icon_ctrl_pad("tab_icon_ctrl_pad", 0),
use_ellipses("use_ellipses"),
- font_halign("halign"),
- use_highlighting_on_hover("use_highlighting_on_hover",false)
+ font_halign("halign")
{}
LLTabContainer::LLTabContainer(const LLTabContainer::Params& p)
@@ -258,8 +254,7 @@ LLTabContainer::LLTabContainer(const LLTabContainer::Params& p)
mCustomIconCtrlUsed(p.use_custom_icon_ctrl),
mOpenTabsOnDragAndDrop(p.open_tabs_on_drag_and_drop),
mTabIconCtrlPad(p.tab_icon_ctrl_pad),
- mUseTabEllipses(p.use_ellipses),
- mUseHighlightingOnHover(p.use_highlighting_on_hover)
+ mUseTabEllipses(p.use_ellipses)
{
static LLUICachedControl<S32> tabcntr_vert_tab_min_width ("UITabCntrVertTabMinWidth", 0);
@@ -908,30 +903,18 @@ void LLTabContainer::update_images(LLTabTuple* tuple, TabParams params, LLTabCon
tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_top_image_unselected));
tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_top_image_selected));
tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_top_image_flash));
- if(mUseHighlightingOnHover)
- {
- tuple->mButton->setImageHoverUnselected(static_cast<LLUIImage*>(params.tab_top_image_hovered));
- }
}
else if (pos == LLTabContainer::BOTTOM)
{
tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_bottom_image_unselected));
tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_bottom_image_selected));
tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_bottom_image_flash));
- if(mUseHighlightingOnHover)
- {
- tuple->mButton->setImageHoverUnselected(static_cast<LLUIImage*>(params.tab_bottom_image_hovered));
- }
}
else if (pos == LLTabContainer::LEFT)
{
tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_left_image_unselected));
tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_left_image_selected));
tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_left_image_flash));
- if(mUseHighlightingOnHover)
- {
- tuple->mButton->setImageHoverUnselected(static_cast<LLUIImage*>(params.tab_left_image_hovered));
- }
}
}
}
diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h
index 7e7d4ac6e6..57862fc626 100755
--- a/indra/llui/lltabcontainer.h
+++ b/indra/llui/lltabcontainer.h
@@ -62,15 +62,12 @@ public:
Optional<LLUIImage*> tab_top_image_unselected,
tab_top_image_selected,
tab_top_image_flash,
- tab_top_image_hovered,
tab_bottom_image_unselected,
tab_bottom_image_selected,
tab_bottom_image_flash,
- tab_bottom_image_hovered,
tab_left_image_unselected,
tab_left_image_selected,
- tab_left_image_flash,
- tab_left_image_hovered;
+ tab_left_image_flash;
TabParams();
};
@@ -117,11 +114,6 @@ public:
*/
Optional<S32> tab_icon_ctrl_pad;
- /**
- * This variable is used to found out should we highlight tab button on hover
- */
- Optional<bool> use_highlighting_on_hover;
-
Params();
};
@@ -315,7 +307,6 @@ private:
bool mOpenTabsOnDragAndDrop;
S32 mTabIconCtrlPad;
bool mUseTabEllipses;
- bool mUseHighlightingOnHover;
};
#endif // LL_TABCONTAINER_H
diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp
index 6bfe113933..928e82cb8c 100755
--- a/indra/llui/lltoolbar.cpp
+++ b/indra/llui/lltoolbar.cpp
@@ -928,8 +928,6 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id)
button_p.label = LLTrans::getString(commandp->labelRef());
button_p.tool_tip = LLTrans::getString(commandp->tooltipRef());
button_p.image_overlay = LLUI::getUIImage(commandp->icon());
- button_p.image_hover_unselected = LLUI::getUIImage(commandp->hoverIconUnselected());
- button_p.image_hover_selected = LLUI::getUIImage(commandp->hoverIconSelected());
button_p.button_flash_enable = commandp->isFlashingAllowed();
button_p.overwriteFrom(mButtonParams[mButtonType]);
LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p);
diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm
index 7415c9d8dc..b393a3796d 100644
--- a/indra/llwindow/llopenglview-objc.mm
+++ b/indra/llwindow/llopenglview-objc.mm
@@ -376,13 +376,6 @@ attributedStringInfo getSegments(NSAttributedString *str)
[[self inputContext] handleEvent:theEvent];
}
- if ([[theEvent charactersIgnoringModifiers] characterAtIndex:0] == NSCarriageReturnCharacter ||
- [[theEvent charactersIgnoringModifiers] characterAtIndex:0] == NSEnterCharacter)
- {
- // callKeyDown won't return the value we expect for enter or return. Handle them as a separate case.
- [[self inputContext] handleEvent:theEvent];
- }
-
// OS X intentionally does not send us key-up information on cmd-key combinations.
// This behaviour is not a bug, and only applies to cmd-combinations (no others).
// Since SL assumes we receive those, we fake it here.
diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml
index ce878f156b..60c942094a 100755
--- a/indra/newview/app_settings/commands.xml
+++ b/indra/newview/app_settings/commands.xml
@@ -3,8 +3,6 @@
<command name="aboutland"
available_in_toybox="true"
icon="Command_AboutLand_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_AboutLand_Label"
tooltip_ref="Command_AboutLand_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -15,8 +13,6 @@
<command name="appearance"
available_in_toybox="true"
icon="Command_Appearance_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Appearance_Label"
tooltip_ref="Command_Appearance_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -27,8 +23,6 @@
<command name="avatar"
available_in_toybox="true"
icon="Command_Avatar_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Avatar_Label"
tooltip_ref="Command_Avatar_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -39,8 +33,6 @@
<command name="build"
available_in_toybox="true"
icon="Command_Build_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Build_Label"
tooltip_ref="Command_Build_Tooltip"
execute_function="Build.Toggle"
@@ -54,8 +46,6 @@
available_in_toybox="true"
is_flashing_allowed="true"
icon="Command_Chat_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Chat_Label"
tooltip_ref="Command_Conversations_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -66,8 +56,6 @@
<command name="compass"
available_in_toybox="false"
icon="Command_Compass_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Compass_Label"
tooltip_ref="Command_Compass_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -78,8 +66,6 @@
<command name="destinations"
available_in_toybox="true"
icon="Command_Destinations_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Destinations_Label"
tooltip_ref="Command_Destinations_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -90,8 +76,6 @@
<command name="gestures"
available_in_toybox="true"
icon="Command_Gestures_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Gestures_Label"
tooltip_ref="Command_Gestures_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -102,8 +86,6 @@
<command name="howto"
available_in_toybox="true"
icon="Command_HowTo_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_HowTo_Label"
tooltip_ref="Command_HowTo_Tooltip"
execute_function="Help.ToggleHowTo"
@@ -112,8 +94,6 @@
<command name="inventory"
available_in_toybox="true"
icon="Command_Inventory_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Inventory_Label"
tooltip_ref="Command_Inventory_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -124,8 +104,6 @@
<command name="map"
available_in_toybox="true"
icon="Command_Map_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Map_Label"
tooltip_ref="Command_Map_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -136,8 +114,6 @@
<command name="marketplace"
available_in_toybox="false"
icon="Command_Marketplace_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Marketplace_Label"
tooltip_ref="Command_Marketplace_Tooltip"
execute_function="Avatar.OpenMarketplace"
@@ -145,8 +121,6 @@
<command name="minimap"
available_in_toybox="true"
icon="Command_MiniMap_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_MiniMap_Label"
tooltip_ref="Command_MiniMap_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -157,8 +131,6 @@
<command name="move"
available_in_toybox="true"
icon="Command_Move_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Move_Label"
tooltip_ref="Command_Move_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -169,8 +141,6 @@
<command name="outbox"
available_in_toybox="false"
icon="Command_Outbox_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Outbox_Label"
tooltip_ref="Command_Outbox_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -181,8 +151,6 @@
<command name="people"
available_in_toybox="true"
icon="Command_People_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_People_Label"
tooltip_ref="Command_People_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -193,8 +161,6 @@
<command name="picks"
available_in_toybox="true"
icon="Command_Picks_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Picks_Label"
tooltip_ref="Command_Picks_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -205,8 +171,6 @@
<command name="places"
available_in_toybox="true"
icon="Command_Places_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Places_Label"
tooltip_ref="Command_Places_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -217,8 +181,6 @@
<command name="preferences"
available_in_toybox="true"
icon="Command_Preferences_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Preferences_Label"
tooltip_ref="Command_Preferences_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -229,8 +191,6 @@
<command name="profile"
available_in_toybox="true"
icon="Command_Profile_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Profile_Label"
tooltip_ref="Command_Profile_Tooltip"
execute_function="Avatar.ToggleMyProfile"
@@ -239,8 +199,6 @@
<command name="search"
available_in_toybox="true"
icon="Command_Search_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Search_Label"
tooltip_ref="Command_Search_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -251,8 +209,6 @@
<command name="snapshot"
available_in_toybox="true"
icon="Command_Snapshot_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Snapshot_Label"
tooltip_ref="Command_Snapshot_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
@@ -273,8 +229,6 @@
<command name="speak"
available_in_toybox="true"
icon="Command_Speak_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_Speak_Label"
tooltip_ref="Command_Speak_Tooltip"
execute_function="Agent.PressMicrophone"
@@ -289,8 +243,6 @@
<command name="view"
available_in_toybox="true"
icon="Command_View_Icon"
- hover_icon_unselected="Command_Highlighting_Icon"
- hover_icon_selected="Command_Highlighting_Selected_Icon"
label_ref="Command_View_Label"
tooltip_ref="Command_View_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index d9093c2a6d..bf34fea635 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -14871,17 +14871,6 @@
<key>Value</key>
<integer>0</integer>
</map>
- <key>DisablePrecacheDelayAfterTeleporting</key>
- <map>
- <key>Comment</key>
- <string>Disables the artificial delay in the viewer that precaches some incoming assets</string>
- <key>Persist</key>
- <integer>0</integer>
- <key>Type</key>
- <string>Boolean</string>
- <key>Value</key>
- <integer>0</integer>
- </map>
<key>FMODExProfilerEnable</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp
index 14e1a486d3..84921849d0 100755
--- a/indra/newview/llfloaterimsession.cpp
+++ b/indra/newview/llfloaterimsession.cpp
@@ -61,6 +61,9 @@
#include "llnotificationmanager.h"
#include "llautoreplace.h"
+const F32 ME_TYPING_TIMEOUT = 4.0f;
+const F32 OTHER_TYPING_TIMEOUT = 9.0f;
+
floater_showed_signal_t LLFloaterIMSession::sIMFloaterShowedSignal;
LLFloaterIMSession::LLFloaterIMSession(const LLUUID& session_id)
@@ -75,7 +78,10 @@ LLFloaterIMSession::LLFloaterIMSession(const LLUUID& session_id)
mTypingTimer(),
mTypingTimeoutTimer(),
mPositioned(false),
- mSessionInitialized(false)
+ mSessionInitialized(false),
+ mMeTypingTimer(),
+ mOtherTypingTimer(),
+ mImInfo()
{
mIsNearbyChat = false;
@@ -96,13 +102,31 @@ LLFloaterIMSession::LLFloaterIMSession(const LLUUID& session_id)
void LLFloaterIMSession::refresh()
{
if (mMeTyping)
-{
+ {
+ // Send an additional Start Typing packet every ME_TYPING_TIMEOUT seconds
+ if (mMeTypingTimer.getElapsedTimeF32() > ME_TYPING_TIMEOUT && false == mShouldSendTypingState)
+ {
+ LL_DEBUGS("TypingMsgs") << "Send additional Start Typing packet" << LL_ENDL;
+ LLIMModel::instance().sendTypingState(mSessionID, mOtherParticipantUUID, TRUE);
+ mMeTypingTimer.reset();
+ }
+
// Time out if user hasn't typed for a while.
if (mTypingTimeoutTimer.getElapsedTimeF32() > LLAgent::TYPING_TIMEOUT_SECS)
{
- setTyping(false);
+ setTyping(false);
+ LL_DEBUGS("TypingMsgs") << "Send stop typing due to timeout" << LL_ENDL;
}
}
+
+ // Clear <name is typing> message if no data received for OTHER_TYPING_TIMEOUT seconds
+ if (mOtherTyping && mOtherTypingTimer.getElapsedTimeF32() > OTHER_TYPING_TIMEOUT)
+ {
+ LL_DEBUGS("TypingMsgs") << "Received: is typing cleared due to timeout" << LL_ENDL;
+ removeTypingIndicator(mImInfo);
+ mOtherTyping = false;
+ }
+
}
// virtual
@@ -953,13 +977,21 @@ void LLFloaterIMSession::setTyping(bool typing)
// much network traffic. Only send in person-to-person IMs.
if ( mShouldSendTypingState && mDialog == IM_NOTHING_SPECIAL )
{
- // Still typing, send 'start typing' notification or
- // send 'stop typing' notification immediately
- if (!mMeTyping || mTypingTimer.getElapsedTimeF32() > 1.f)
+ if ( mMeTyping )
{
- LLIMModel::instance().sendTypingState(mSessionID,
- mOtherParticipantUUID, mMeTyping);
- mShouldSendTypingState = false;
+ if ( mTypingTimer.getElapsedTimeF32() > 1.f )
+ {
+ // Still typing, send 'start typing' notification
+ LLIMModel::instance().sendTypingState(mSessionID, mOtherParticipantUUID, TRUE);
+ mShouldSendTypingState = false;
+ mMeTypingTimer.reset();
+ }
+ }
+ else
+ {
+ // Send 'stop typing' notification immediately
+ LLIMModel::instance().sendTypingState(mSessionID, mOtherParticipantUUID, FALSE);
+ mShouldSendTypingState = false;
}
}
@@ -975,10 +1007,12 @@ void LLFloaterIMSession::setTyping(bool typing)
void LLFloaterIMSession::processIMTyping(const LLIMInfo* im_info, BOOL typing)
{
+ LL_DEBUGS("TypingMsgs") << "typing=" << typing << LL_ENDL;
if ( typing )
{
// other user started typing
addTypingIndicator(im_info);
+ mOtherTypingTimer.reset();
}
else
{
@@ -1202,10 +1236,40 @@ BOOL LLFloaterIMSession::inviteToSession(const uuid_vec_t& ids)
void LLFloaterIMSession::addTypingIndicator(const LLIMInfo* im_info)
{
+/* Operation of "<name> is typing" state machine:
+Not Typing state:
+
+ User types in P2P IM chat ... Send Start Typing, save Started time,
+ start Idle Timer (N seconds) go to Typing state
+
+Typing State:
+
+ User enters a non-return character: if Now - Started > ME_TYPING_TIMEOUT, send
+ Start Typing, restart Idle Timer
+ User enters a return character: stop Idle Timer, send IM and Stop
+ Typing, go to Not Typing state
+ Idle Timer expires: send Stop Typing, go to Not Typing state
+
+The recipient has a complementary state machine in which a Start Typing
+that is not followed by either an IM or another Start Typing within OTHER_TYPING_TIMEOUT
+seconds switches the sender out of typing state.
+
+This has the nice quality of being self-healing for lost start/stop
+messages while adding messages only for the (relatively rare) case of a
+user who types a very long message (one that takes more than ME_TYPING_TIMEOUT seconds
+to type).
+
+Note: OTHER_TYPING_TIMEOUT must be > ME_TYPING_TIMEOUT for proper operation of the state machine
+
+*/
+
// We may have lost a "stop-typing" packet, don't add it twice
if (im_info && !mOtherTyping)
{
mOtherTyping = true;
+ mOtherTypingTimer.reset();
+ // Save im_info so that removeTypingIndicator can be properly called because a timeout has occurred
+ mImInfo = im_info;
// Update speaker
LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID);
diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h
index d6718843ca..2b9d06e744 100755
--- a/indra/newview/llfloaterimsession.h
+++ b/indra/newview/llfloaterimsession.h
@@ -187,6 +187,8 @@ private:
LLFrameTimer mTypingTimer;
LLFrameTimer mTypingTimeoutTimer;
bool mSessionNameUpdatedForTyping;
+ LLFrameTimer mMeTypingTimer;
+ LLFrameTimer mOtherTypingTimer;
bool mSessionInitialized;
LLSD mQueuedMsgsForInit;
@@ -196,6 +198,8 @@ private:
// connection to voice channel state change signal
boost::signals2::connection mVoiceChannelStateChangeConnection;
+
+ const LLIMInfo* mImInfo;
};
#endif // LL_FLOATERIMSESSION_H
diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp
index 0756faf5c0..9c380f63bd 100755
--- a/indra/newview/llpanelteleporthistory.cpp
+++ b/indra/newview/llpanelteleporthistory.cpp
@@ -359,6 +359,11 @@ void LLTeleportHistoryPanel::ContextMenu::onInfo()
void LLTeleportHistoryPanel::ContextMenu::gotSLURLCallback(const std::string& slurl)
{
LLClipboard::instance().copyToClipboard(utf8str_to_wstring(slurl),0,slurl.size());
+
+ LLSD args;
+ args["SLURL"] = slurl;
+
+ LLNotificationsUtil::add("CopySLURL", args);
}
void LLTeleportHistoryPanel::ContextMenu::onCopyToClipboard()
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index bb891996c9..94c187e21a 100755
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -153,8 +153,6 @@ with the same filename but different name
<texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" />
<texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" />
<texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" />
- <texture name="Command_Highlighting_Icon" file_name="toolbar_icons/highlighting.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" />
- <texture name="Command_Highlighting_Selected_Icon" file_name="toolbar_icons/highlighting_selected.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" />
<texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" scale.left="1" scale.top="23" scale.right="15" scale.bottom="1" />
<texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" scale.left="5" scale.top="15" scale.right="28" scale.bottom="1" />
<texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" scale.left="1" scale.top="15" scale.right="23" scale.bottom="1" />
@@ -165,7 +163,6 @@ with the same filename but different name
<texture name="ComboButton_On" file_name="widgets/ComboButton_On.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" />
<texture name="ComboButton_Off" file_name="widgets/ComboButton_Off.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" />
<texture name="ComboButton_UpOff" file_name="widgets/ComboButton_UpOff.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" />
- <texture name="ComboButton_Hovered" file_name="widgets/ComboButton_Hover.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" />
<texture name="Container" file_name="containers/Container.png" preload="false" />
diff --git a/indra/newview/skins/default/xui/en/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/en/menu_teleport_history_item.xml
index 0160d52b17..f939c3996d 100755
--- a/indra/newview/skins/default/xui/en/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/en/menu_teleport_history_item.xml
@@ -17,7 +17,7 @@
function="TeleportHistory.MoreInformation" />
</menu_item_call>
<menu_item_call
- label="Copy to Clipboard"
+ label="Copy SLurl"
layout="topleft"
name="CopyToClipboard">
<menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index 3caf2b3d7e..d2caf63052 100755
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -66,8 +66,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
tab_position="top"
top="0"
halign="center"
- right="-5"
- use_highlighting_on_hover="true">
+ right="-5">
<!-- ================================= NEARBY tab =========================== -->
@@ -507,6 +506,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
right="-10"
top_pad="4"
left="3"
+ use_ellipses="true"
name="groupcount">
You belong to [COUNT] groups, and can join [REMAINING] more.
</text>
diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml
index 4ea1aa6efb..61ec046649 100755
--- a/indra/newview/skins/default/xui/en/widgets/location_input.xml
+++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml
@@ -150,7 +150,6 @@
<combo_button
name="Location History"
label=""
- image_hover_unselected="ComboButton_Hovered"
pad_right="0"/>
<combo_list
bg_writeable_color="MenuDefaultBgColor"
diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml
index 9559be214a..0586119681 100755
--- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml
+++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml
@@ -24,26 +24,17 @@ label_pad_left - padding to the left of tab button labels
tab_bottom_image_unselected="Toolbar_Left_Off"
tab_bottom_image_selected="Toolbar_Left_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
- tab_left_image_selected="SegmentedBtn_Left_Selected_Over"
- tab_top_image_hovered="TabTop_Left_Selected"
- tab_button_image_hovered="Toolbar_Left_Selected"
- tab_left_image_hovered="SegmentedBtn_Left_Selected_Over"/>
+ tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
<middle_tab tab_top_image_unselected="TabTop_Middle_Off"
tab_top_image_selected="TabTop_Middle_Selected"
tab_bottom_image_unselected="Toolbar_Middle_Off"
tab_bottom_image_selected="Toolbar_Middle_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
- tab_left_image_selected="SegmentedBtn_Left_Selected_Over"
- tab_top_image_hovered="TabTop_Middle_Selected"
- tab_button_image_hovered="Toolbar_Middle_Selected"
- tab_left_image_hovered="SegmentedBtn_Left_Selected_Over"/>
+ tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
<last_tab tab_top_image_unselected="TabTop_Right_Off"
tab_top_image_selected="TabTop_Right_Selected"
tab_bottom_image_unselected="Toolbar_Right_Off"
tab_bottom_image_selected="Toolbar_Right_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
- tab_left_image_selected="SegmentedBtn_Left_Selected_Over"
- tab_top_image_hovered="TabTop_Right_Selected"
- tab_button_image_hovered="Toolbar_Right_Selected"
- tab_left_image_hovered="SegmentedBtn_Left_Selected_Over"/>
+ tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
</tab_container>