summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llplugin/llpluginprocessparent.cpp24
-rw-r--r--indra/llplugin/llpluginprocessparent.h7
-rw-r--r--indra/llui/llmultisliderctrl.cpp4
-rw-r--r--indra/media_plugins/webkit/media_plugin_webkit.cpp14
-rw-r--r--indra/newview/llfavoritesbar.cpp14
-rw-r--r--indra/newview/llmediactrl.cpp25
-rw-r--r--indra/newview/llmediactrl.h4
-rw-r--r--indra/newview/llpanellandmarks.cpp15
-rw-r--r--indra/newview/llpanellogin.cpp3
-rw-r--r--indra/newview/llviewermedia.cpp77
-rw-r--r--indra/newview/llviewermedia.h2
-rw-r--r--indra/newview/llviewermenu.cpp11
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_avatar_textures.xml46
-rw-r--r--indra/newview/skins/default/xui/en/floater_day_cycle_options.xml108
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_media_settings_security.xml7
17 files changed, 199 insertions, 167 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index 608e444375..49f9783824 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -39,12 +39,6 @@
#include "llapr.h"
-// If we don't receive a heartbeat in this many seconds, we declare the plugin locked up.
-static const F32 PLUGIN_LOCKED_UP_SECONDS = 15.0f;
-
-// Somewhat longer timeout for initial launch.
-static const F32 PLUGIN_LAUNCH_SECONDS = 20.0f;
-
//virtual
LLPluginProcessParentOwner::~LLPluginProcessParentOwner()
{
@@ -59,11 +53,11 @@ LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner)
mDisableTimeout = false;
mDebug = false;
- // initialize timer - heartbeat test (mHeartbeat.hasExpired())
- // can sometimes return true immediately otherwise and plugins
- // fail immediately because it looks like
-// mHeartbeat.initClass();
- mHeartbeat.setTimerExpirySec(PLUGIN_LOCKED_UP_SECONDS);
+ mPluginLaunchTimeout = 60.0f;
+ mPluginLockupTimeout = 15.0f;
+
+ // Don't start the timer here -- start it when we actually launch the plugin process.
+ mHeartbeat.stop();
}
LLPluginProcessParent::~LLPluginProcessParent()
@@ -326,7 +320,7 @@ void LLPluginProcessParent::idle(void)
// This will allow us to time out if the process never starts.
mHeartbeat.start();
- mHeartbeat.setTimerExpirySec(PLUGIN_LAUNCH_SECONDS);
+ mHeartbeat.setTimerExpirySec(mPluginLaunchTimeout);
setState(STATE_LAUNCHED);
}
}
@@ -560,7 +554,7 @@ void LLPluginProcessParent::receiveMessage(const LLPluginMessage &message)
else if(message_name == "heartbeat")
{
// this resets our timer.
- mHeartbeat.setTimerExpirySec(PLUGIN_LOCKED_UP_SECONDS);
+ mHeartbeat.setTimerExpirySec(mPluginLockupTimeout);
mCPUUsage = message.getValueReal("cpu_usage");
@@ -715,7 +709,7 @@ bool LLPluginProcessParent::pluginLockedUpOrQuit()
bool LLPluginProcessParent::pluginLockedUp()
{
- // If the timer has expired, the plugin has locked up.
- return mHeartbeat.hasExpired();
+ // If the timer is running and has expired, the plugin has locked up.
+ return (mHeartbeat.getStarted() && mHeartbeat.hasExpired());
}
diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h
index 03ce10f86c..524cd9923f 100644
--- a/indra/llplugin/llpluginprocessparent.h
+++ b/indra/llplugin/llpluginprocessparent.h
@@ -102,6 +102,9 @@ public:
bool getDisableTimeout() { return mDisableTimeout; };
void setDisableTimeout(bool disable) { mDisableTimeout = disable; };
+
+ void setLaunchTimeout(F32 timeout) { mPluginLaunchTimeout = timeout; };
+ void setLockupTimeout(F32 timeout) { mPluginLockupTimeout = timeout; };
F64 getCPUUsage() { return mCPUUsage; };
@@ -158,6 +161,10 @@ private:
bool mDebug;
LLProcessLauncher mDebugger;
+
+ F32 mPluginLaunchTimeout; // Somewhat longer timeout for initial launch.
+ F32 mPluginLockupTimeout; // If we don't receive a heartbeat in this many seconds, we declare the plugin locked up.
+
};
#endif // LL_LLPLUGINPROCESSPARENT_H
diff --git a/indra/llui/llmultisliderctrl.cpp b/indra/llui/llmultisliderctrl.cpp
index 87938c19d4..7323323d8c 100644
--- a/indra/llui/llmultisliderctrl.cpp
+++ b/indra/llui/llmultisliderctrl.cpp
@@ -328,7 +328,7 @@ void LLMultiSliderCtrl::updateText()
// static
void LLMultiSliderCtrl::onEditorCommit( LLUICtrl* ctrl, const LLSD& userdata)
{
- LLMultiSliderCtrl* self = dynamic_cast<LLMultiSliderCtrl*>(ctrl);
+ LLMultiSliderCtrl* self = dynamic_cast<LLMultiSliderCtrl*>(ctrl->getParent());
if (!ctrl)
return;
@@ -369,7 +369,7 @@ void LLMultiSliderCtrl::onEditorCommit( LLUICtrl* ctrl, const LLSD& userdata)
// static
void LLMultiSliderCtrl::onSliderCommit(LLUICtrl* ctrl, const LLSD& userdata)
{
- LLMultiSliderCtrl* self = dynamic_cast<LLMultiSliderCtrl*>(ctrl);
+ LLMultiSliderCtrl* self = dynamic_cast<LLMultiSliderCtrl*>(ctrl->getParent());
if (!self)
return;
diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp
index 7be2385fd5..4b6da552cf 100644
--- a/indra/media_plugins/webkit/media_plugin_webkit.cpp
+++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp
@@ -98,6 +98,12 @@ private:
int mLastMouseY;
bool mFirstFocus;
+ void setInitState(int state)
+ {
+// std::cerr << "changing init state to " << state << std::endl;
+ mInitState = state;
+ }
+
////////////////////////////////////////////////////////////////////////////////
//
void update(int milliseconds)
@@ -234,7 +240,7 @@ private:
LLQtWebKit::getInstance()->setBackgroundColor( mBrowserWindowId, 0x00, 0x00, 0x00 );
// Set state _before_ starting the navigate, since onNavigateBegin might get called before this call returns.
- mInitState = INIT_STATE_NAVIGATING;
+ setInitState(INIT_STATE_NAVIGATING);
// Don't do this here -- it causes the dreaded "white flash" when loading a browser instance.
// FIXME: Re-added this because navigating to a "page" initializes things correctly - especially
@@ -289,7 +295,7 @@ private:
{
if(mInitState == INIT_STATE_WAIT_REDRAW)
{
- mInitState = INIT_STATE_RUNNING;
+ setInitState(INIT_STATE_RUNNING);
}
// flag that an update is required
@@ -311,7 +317,7 @@ private:
if(mInitState == INIT_STATE_NAVIGATE_COMPLETE)
{
- mInitState = INIT_STATE_WAIT_REDRAW;
+ setInitState(INIT_STATE_WAIT_REDRAW);
}
}
@@ -334,7 +340,7 @@ private:
}
else if(mInitState == INIT_STATE_NAVIGATING)
{
- mInitState = INIT_STATE_NAVIGATE_COMPLETE;
+ setInitState(INIT_STATE_NAVIGATE_COMPLETE);
}
}
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index da0a9727a9..826cb0bb3b 100644
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -662,12 +662,16 @@ void LLFavoritesBarCtrl::updateButtons()
LLFavoriteLandmarkButton* button = dynamic_cast<LLFavoriteLandmarkButton*> (*child_it);
if (button)
{
- // an child's order and mItems should be same
- if (button->getLandmarkId() != mItems[first_changed_item_index]->getUUID() // sort order has been changed
- || button->getLabelSelected() != mItems[first_changed_item_index]->getDisplayName() // favorite's name has been changed
- || button->getRect().mRight < rightest_point) // favbar's width has been changed
+ const LLViewerInventoryItem *item = mItems[first_changed_item_index].get();
+ if (item)
{
- break;
+ // an child's order and mItems should be same
+ if (button->getLandmarkId() != item->getUUID() // sort order has been changed
+ || button->getLabelSelected() != item->getDisplayName() // favorite's name has been changed
+ || button->getRect().mRight < rightest_point) // favbar's width has been changed
+ {
+ break;
+ }
}
first_changed_item_index++;
}
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index f32866b1fe..199bd966ef 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -95,7 +95,8 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) :
mHidingInitialLoad (false),
mDecoupleTextureSize ( false ),
mTextureWidth ( 1024 ),
- mTextureHeight ( 1024 )
+ mTextureHeight ( 1024 ),
+ mClearCache(false)
{
{
LLColor4 color = p.caret_color().get();
@@ -491,6 +492,21 @@ void LLMediaCtrl::clr404RedirectUrl()
////////////////////////////////////////////////////////////////////////////////
//
+void LLMediaCtrl::clearCache()
+{
+ if(mMediaSource)
+ {
+ mMediaSource->clearCache();
+ }
+ else
+ {
+ mClearCache = true;
+ }
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
void LLMediaCtrl::navigateTo( std::string url_in, std::string mime_type)
{
// don't browse to anything that starts with secondlife:// or sl://
@@ -617,7 +633,12 @@ bool LLMediaCtrl::ensureMediaSourceExists()
mMediaSource->setHomeURL(mHomePageUrl);
mMediaSource->setVisible( getVisible() );
mMediaSource->addObserver( this );
-
+ if(mClearCache)
+ {
+ mMediaSource->clearCache();
+ mClearCache = false;
+ }
+
if(mHideLoading)
{
mHidingInitialLoad = true;
diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h
index f07513a3fd..8f9e6e7179 100644
--- a/indra/newview/llmediactrl.h
+++ b/indra/newview/llmediactrl.h
@@ -117,6 +117,9 @@ public:
// set/clear URL to visit when a 404 page is reached
void set404RedirectUrl( std::string redirect_url );
void clr404RedirectUrl();
+
+ // Clear the browser cache when the instance gets loaded
+ void clearCache();
// accessor/mutator for flag that indicates if frequent updates to texture happen
bool getFrequentUpdates() { return mFrequentUpdates; };
@@ -192,6 +195,7 @@ public:
bool mDecoupleTextureSize;
S32 mTextureWidth;
S32 mTextureHeight;
+ bool mClearCache;
};
#endif // LL_LLMediaCtrl_H
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index 35cd3edc81..e16bac2098 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -233,11 +233,6 @@ void LLLandmarksPanel::onSelectionChange(LLInventorySubTreePanel* inventory_list
deselectOtherThan(inventory_list);
mCurrentSelectedList = inventory_list;
}
-
- LLFolderViewItem* current_item = inventory_list->getRootFolder()->getCurSelectedItem();
- if (!current_item)
- return;
-
updateVerbs();
}
@@ -246,6 +241,7 @@ void LLLandmarksPanel::onSelectorButtonClicked()
// TODO: mantipov: update getting of selected item
// TODO: bind to "i" button
LLFolderViewItem* cur_item = mFavoritesInventoryPanel->getRootFolder()->getCurSelectedItem();
+ if (!cur_item) return;
LLFolderViewEventListener* listenerp = cur_item->getListener();
if (listenerp->getInventoryType() == LLInventoryType::IT_LANDMARK)
@@ -334,6 +330,7 @@ void LLLandmarksPanel::processParcelInfo(const LLParcelData& parcel_data)
if(isLandmarkSelected())
{
LLFolderViewItem* cur_item = getCurSelectedItem();
+ if (!cur_item) return;
LLUUID id = cur_item->getListener()->getUUID();
LLInventoryItem* inv_item = mCurrentSelectedList->getModel()->getItem(id);
doActionOnCurSelectedLandmark(boost::bind(
@@ -761,7 +758,7 @@ void LLLandmarksPanel::onCustomAction(const LLSD& userdata)
{
LLFolderViewItem* cur_item = getCurSelectedItem();
if(!cur_item)
- return ;
+ return;
std::string command_name = userdata.asString();
if("more_info" == command_name)
{
@@ -865,18 +862,18 @@ bool LLLandmarksPanel::canSelectedBeModified(const std::string& command_name) co
// then ask LLFolderView permissions
if (can_be_modified)
{
- LLFolderViewItem* selected = getCurSelectedItem();
+ LLFolderViewItem* selected = getCurSelectedItem();
if ("cut" == command_name)
{
can_be_modified = mCurrentSelectedList->getRootFolder()->canCut();
}
else if ("rename" == command_name)
{
- can_be_modified = selected? selected->getListener()->isItemRenameable() : false;
+ can_be_modified = selected ? selected->getListener()->isItemRenameable() : false;
}
else if ("delete" == command_name)
{
- can_be_modified = selected? selected->getListener()->isItemRemovable(): false;
+ can_be_modified = selected ? selected->getListener()->isItemRemovable(): false;
}
else if("paste" == command_name)
{
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index a9c604b72a..dbe962ed59 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -272,6 +272,9 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
// get the web browser control
LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
web_browser->addObserver(this);
+
+ // Clear the browser's cache to avoid any potential for the cache messing up the login screen.
+ web_browser->clearCache();
// Need to handle login secondlife:///app/ URLs
web_browser->setTrusted( true );
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 103a70e032..df62c9628d 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -160,36 +160,25 @@ public:
std::string media_type = content["content-type"].asString();
std::string::size_type idx1 = media_type.find_first_of(";");
std::string mime_type = media_type.substr(0, idx1);
- completeAny(status, mime_type);
- }
- virtual void error( U32 status, const std::string& reason )
- {
- if(status == 401)
- {
- // This is the "you need to authenticate" status.
- // Treat this like an html page.
- completeAny(status, "text/html");
- }
- else
- if(status == 403)
- {
- completeAny(status, "text/html");
- }
- else
- if(status == 404)
- {
- // 404 is content not found - sites often have bespoke 404 pages so
- // treat them like an html page.
- completeAny(status, "text/html");
- }
- else
- if(status == 406)
+ lldebugs << "status is " << status << ", media type \"" << media_type << "\"" << llendl;
+
+ // 2xx status codes indicate success.
+ // Most 4xx status codes are successful enough for our purposes.
+ // 499 is the error code for host not found, timeout, etc.
+ if( ((status >= 200) && (status < 300)) ||
+ ((status >= 400) && (status < 499)) )
{
- // 406 means the server sent something that we didn't indicate was acceptable
- // Eventually we should send what we accept in the headers but for now,
- // treat 406s like an html page.
- completeAny(status, "text/html");
+ // The probe was successful.
+
+ if(mime_type.empty())
+ {
+ // Some sites don't return any content-type header at all.
+ // Treat an empty mime type as text/html.
+ mime_type = "text/html";
+ }
+
+ completeAny(status, mime_type);
}
else
{
@@ -200,6 +189,7 @@ public:
mMediaImpl->mMediaSourceFailed = true;
}
}
+
}
void completeAny(U32 status, const std::string& mime_type)
@@ -582,8 +572,8 @@ bool LLViewerMedia::isInterestingEnough(const LLVOVolume *object, const F64 &obj
}
else
{
- llinfos << "object interest = " << object_interest << ", lowest loadable = " << sLowestLoadableImplInterest << llendl;
- if(object_interest > sLowestLoadableImplInterest)
+ lldebugs << "object interest = " << object_interest << ", lowest loadable = " << sLowestLoadableImplInterest << llendl;
+ if(object_interest >= sLowestLoadableImplInterest)
result = true;
}
@@ -929,6 +919,7 @@ LLViewerMediaImpl::LLViewerMediaImpl( const LLUUID& texture_id,
mMimeTypeProbe(NULL),
mMediaAutoPlay(false),
mInNearbyMediaList(false),
+ mClearCache(false),
mIsUpdated(false)
{
@@ -1139,6 +1130,12 @@ bool LLViewerMediaImpl::initializePlugin(const std::string& media_type)
media_source->setBrowserUserAgent(LLViewerMedia::getCurrentUserAgent());
media_source->focus(mHasFocus);
+ if(mClearCache)
+ {
+ mClearCache = false;
+ media_source->clear_cache();
+ }
+
mMediaSource = media_source;
updateVolume();
@@ -1352,6 +1349,19 @@ std::string LLViewerMediaImpl::getCurrentMediaURL()
}
//////////////////////////////////////////////////////////////////////////////////////////
+void LLViewerMediaImpl::clearCache()
+{
+ if(mMediaSource)
+ {
+ mMediaSource->clear_cache();
+ }
+ else
+ {
+ mClearCache = true;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
void LLViewerMediaImpl::mouseDown(S32 x, S32 y, MASK mask, S32 button)
{
scaleMouse(&x, &y);
@@ -1633,7 +1643,12 @@ void LLViewerMediaImpl::navigateInternal()
if(scheme.empty() || "http" == scheme || "https" == scheme)
{
- LLHTTPClient::getHeaderOnly( mMediaURL, new LLMimeDiscoveryResponder(this), 10.0f);
+ // If we don't set an Accept header, LLHTTPClient will add one like this:
+ // Accept: application/llsd+xml
+ // which is really not what we want.
+ LLSD headers = LLSD::emptyMap();
+ headers["Accept"] = "*/*";
+ LLHTTPClient::getHeaderOnly( mMediaURL, new LLMimeDiscoveryResponder(this), headers, 10.0f);
}
else if("data" == scheme || "file" == scheme || "about" == scheme)
{
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index 7151186089..28fb379960 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -188,6 +188,7 @@ public:
std::string getCurrentMediaURL();
std::string getHomeURL() { return mHomeURL; }
void setHomeURL(const std::string& home_url) { mHomeURL = home_url; };
+ void clearCache();
std::string getMimeType() { return mMimeType; }
void scaleMouse(S32 *mouse_x, S32 *mouse_y);
void scaleTextureCoords(const LLVector2& texture_coords, S32 *x, S32 *y);
@@ -355,6 +356,7 @@ public:
bool mMediaAutoPlay;
std::string mMediaEntryURL;
bool mInNearbyMediaList; // used by LLFloaterNearbyMedia::refreshList() for performance reasons
+ bool mClearCache;
private:
BOOL mIsUpdated ;
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index f1ae573c32..791e3a1948 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -56,6 +56,7 @@
#include "llfloatercustomize.h"
#include "llfloaterchatterbox.h"
#include "llfloatergodtools.h"
+#include "llfloaterinventory.h"
#include "llfloaterland.h"
#include "llfloaterpay.h"
#include "llfloaterreporter.h"
@@ -5610,7 +5611,15 @@ class LLShowSidetrayPanel : public view_listener_t
bool handleEvent(const LLSD& userdata)
{
std::string panel_name = userdata.asString();
- LLSideTray::getInstance()->showPanel(panel_name, LLSD());
+ // Open up either the sidepanel or new floater.
+ if (LLSideTray::getInstance()->isPanelActive(panel_name))
+ {
+ LLFloaterInventory::showAgentInventory();
+ }
+ else
+ {
+ LLSideTray::getInstance()->showPanel(panel_name, LLSD());
+ }
return true;
}
};
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index 1239152c32..a64716cb35 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1672,9 +1672,7 @@ Only large parcels can be listed in search.
name="replace_texture_help"
width="300"
word_wrap="true">
- Objects using this texture will show the movie or web page after you click the play arrow.
-
-Select the thumbnail to choose a different texture.
+ Objects using this texture will show the movie or web page after you click the play arrow. Select the thumbnail to choose a different texture.
</text>
<check_box
height="16"
diff --git a/indra/newview/skins/default/xui/en/floater_avatar_textures.xml b/indra/newview/skins/default/xui/en/floater_avatar_textures.xml
index a0cb94eb69..54b6edb0ec 100644
--- a/indra/newview/skins/default/xui/en/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/en/floater_avatar_textures.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
legacy_header_height="18"
- height="950"
+ height="650"
layout="topleft"
name="avatar_texture_debug"
help_topic="avatar_texture_debug"
@@ -16,9 +16,9 @@
length="1"
height="16"
layout="topleft"
- left="10"
+ left="30"
name="label"
- top="24"
+ top="40"
width="80">
Baked Textures
</text>
@@ -27,7 +27,7 @@
length="1"
height="16"
layout="topleft"
- left_pad="60"
+ left_pad="50"
name="composite_label"
top_delta="0"
width="120">
@@ -40,16 +40,37 @@
layout="topleft"
left_pad="530"
name="Dump"
- top_delta="1"
+ top_delta="0"
width="150" />
+ <scroll_container
+ color="DkGray2"
+ opaque="true"
+ follows="all"
+ height="590"
+ layout="topleft"
+ left="5"
+ top_pad="5"
+ name="profile_scroll"
+ reserve_scroll_corner="false"
+ width="1240">
+ <panel
+ name="scroll_content_panel"
+ follows="left|top"
+ min_height="300"
+ layout="topleft"
+ top="0"
+ background_visible="false"
+ height="950"
+ left="0"
+ width="1250">
<texture_picker
height="143"
label="Hair"
layout="topleft"
left="10"
name="hair-baked"
- top="47"
+ top="17"
width="128" />
<texture_picker
height="143"
@@ -74,7 +95,7 @@
layout="topleft"
left="10"
name="head-baked"
- top="197"
+ top="167"
width="128" />
<texture_picker
height="143"
@@ -107,7 +128,7 @@
layout="topleft"
left="10"
name="eyes-baked"
- top="347"
+ top="317"
width="128" />
<texture_picker
height="143"
@@ -132,7 +153,7 @@
layout="topleft"
left="10"
name="upper-baked"
- top="497"
+ top="467"
width="128" />
<texture_picker
height="143"
@@ -197,7 +218,7 @@
layout="topleft"
left="10"
name="lower-baked"
- top="647"
+ top="617"
width="128" />
<texture_picker
height="143"
@@ -270,7 +291,7 @@
layout="topleft"
left="10"
name="skirt-baked"
- top="797"
+ top="767"
width="128" />
<texture_picker
height="143"
@@ -280,5 +301,6 @@
name="skirt"
top_delta="0"
width="128" />
-
+</panel>
+</scroll_container>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml
index 35f3e643c3..8c5af2283d 100644
--- a/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml
@@ -65,11 +65,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL12am"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left="8"
name="WL12am"
@@ -80,11 +78,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL3am"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL3am"
@@ -95,11 +91,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL6am"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL6am"
@@ -110,11 +104,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL9am"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL9amHash"
@@ -125,11 +117,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL12pm"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL12pmHash"
@@ -140,11 +130,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL3pm"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL3pm"
@@ -155,11 +143,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL6pm"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL6pm"
@@ -170,11 +156,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL9pm"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL9pm"
@@ -185,11 +169,9 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL12am2"
follows="left|top|right"
- height="6"
+ height="16"
layout="topleft"
left_pad="10"
name="WL12am2"
@@ -200,9 +182,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL12amHash"
follows="left|top|right"
font="SansSerif"
height="14"
@@ -210,135 +190,119 @@
left="20"
name="WL12amHash"
top="54"
- width="4">
+ width="6">
|
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL3amHash"
follows="left|top|right"
font="SansSerif"
height="11"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL3amHash"
top_delta="3"
- width="4">
+ width="6">
I
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL6amHash"
follows="left|top|right"
font="SansSerif"
height="14"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL6amHash"
top_delta="-3"
- width="4">
+ width="6">
|
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL9amHash"
follows="left|top|right"
font="SansSerif"
height="11"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL9amHash2"
top_delta="3"
- width="4">
+ width="6">
I
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL12pmHash"
follows="left|top|right"
font="SansSerif"
height="14"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL12pmHash2"
top_delta="-3"
- width="4">
+ width="6">
|
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL3pmHash"
follows="left|top|right"
font="SansSerif"
height="11"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL3pmHash"
top_delta="3"
- width="4">
+ width="6">
I
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL6pmHash"
follows="left|top|right"
font="SansSerif"
height="14"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL6pmHash"
top_delta="-3"
- width="4">
+ width="6">
|
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL9pmHash"
follows="left|top|right"
font="SansSerif"
height="11"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL9pmHash"
top_delta="3"
- width="4">
+ width="6">
I
</text>
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WL12amHash2"
follows="left|top|right"
font="SansSerif"
height="14"
layout="topleft"
- left_pad="61"
+ left_pad="59"
name="WL12amHash2"
top_delta="-3"
- width="4">
+ width="6">
|
</text>
<button
@@ -346,9 +310,9 @@
label="Add Key"
label_selected="Add Key"
layout="topleft"
- left="550"
+ left="555"
name="WLAddKey"
- top="20"
+ top="30"
width="80" />
<button
height="20"
@@ -362,9 +326,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="DayCycleText"
follows="left|top|right"
font="SansSerif"
height="16"
@@ -378,9 +340,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="DayCycleText"
follows="left|top|right"
font="SansSerif"
height="16"
@@ -424,9 +384,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="WLCurKeyTimeText"
follows="left|top|right"
font="SansSerif"
height="16"
@@ -456,9 +414,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="DayCycleText"
follows="left|top|right"
font="SansSerif"
height="16"
@@ -481,9 +437,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="DayCycleText"
follows="left|top|right"
font="SansSerif"
height="16"
@@ -542,9 +496,7 @@
<text
type="string"
length="1"
- bg_visible="true"
border_visible="true"
- control_name="DayCycleText"
follows="left|top|right"
font="SansSerif"
height="16"
@@ -560,7 +512,7 @@
label="Play"
label_selected="Play"
layout="topleft"
- left_delta="0"
+ left_delta="60"
name="WLAnimSky"
top_pad="5"
width="50" />
@@ -581,7 +533,7 @@
left_pad="5"
name="WLUseLindenTime"
top_delta="0"
- width="140" />
+ width="150" />
<button
height="20"
label="Save Test Day"
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index bcf006f1a0..99debc7473 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -4328,7 +4328,6 @@ Hmm. Gesture [NAME] is missing from the database.
name="UnableToLoadGesture"
type="notifytip">
Unable to load gesture [NAME].
-Please try again.
</notification>
<notification
diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
index 1f41a0d284..1f580831f9 100644
--- a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
+++ b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
@@ -17,7 +17,7 @@
font="SansSerifSmall"
height="16"
initial_value="false"
- label="Only Allow Access to Specified URLs (by prefix)"
+ label="Only Allow Access to Specified URL patterns"
left="10"
mouse_opaque="true"
name="whitelist_enable"
@@ -81,10 +81,9 @@
height="40"
left="30"
text_color="0.6 0.0 0.0 1.0"
+ word_wrap="true"
name="home_url_fails_whitelist">
-Warning: the home page specified in the General tab
-fails to pass this whitelist. It has been disabled
-until a valid entry has been added.
+Warning: the home page specified in the General tab fails to pass this whitelist. It has been disabled until a valid entry has been added.
</text>
</panel>