Automated merge with ssh://hg.lindenlab.com/richard/viewer-social-3

meow-7.2.2
Richard Linden 2011-04-19 13:33:47 -07:00
commit 08fa1c613a
6 changed files with 41 additions and 25 deletions

View File

@ -35,7 +35,7 @@
// system includes
#include <boost/tokenizer.hpp>
#define THROTTLE_PERIOD 20 // required secs between throttled commands
#define THROTTLE_PERIOD 5 // required seconds between throttled commands
static LLCommandDispatcherListener sCommandDispatcherListener;
@ -134,7 +134,7 @@ bool LLCommandHandlerRegistry::dispatch(const std::string& cmd,
if (cur_time < last_throttle_time + THROTTLE_PERIOD)
{
// block request from external browser if it happened
// within THROTTLE_PERIOD secs of the last command
// within THROTTLE_PERIOD seconds of the last command
LL_WARNS_ONCE("SLURL") << "Throttled SLURL command from untrusted browser" << LL_ENDL;
if (! slurl_throttled)
{

View File

@ -344,7 +344,7 @@ void LLFloaterPreference::processProperties( void* pData, EAvatarProcessorType t
if ( APT_PROPERTIES == type )
{
const LLAvatarData* pAvatarData = static_cast<const LLAvatarData*>( pData );
if( pAvatarData && gAgent.getID() == pAvatarData->avatar_id )
if (pAvatarData && (gAgent.getID() == pAvatarData->avatar_id) && (pAvatarData->avatar_id != LLUUID::null))
{
storeAvatarProperties( pAvatarData );
processProfileProperties( pAvatarData );
@ -354,9 +354,9 @@ void LLFloaterPreference::processProperties( void* pData, EAvatarProcessorType t
void LLFloaterPreference::storeAvatarProperties( const LLAvatarData* pAvatarData )
{
if (gAgent.isInitialized() && (gAgent.getID() != LLUUID::null))
if (LLStartUp::getStartupState() == STATE_STARTED)
{
mAvatarProperties.avatar_id = gAgent.getID();
mAvatarProperties.avatar_id = pAvatarData->avatar_id;
mAvatarProperties.image_id = pAvatarData->image_id;
mAvatarProperties.fl_image_id = pAvatarData->fl_image_id;
mAvatarProperties.about_text = pAvatarData->about_text;
@ -376,19 +376,32 @@ void LLFloaterPreference::processProfileProperties(const LLAvatarData* pAvatarDa
void LLFloaterPreference::saveAvatarProperties( void )
{
mAvatarProperties.allow_publish = getChild<LLUICtrl>("online_searchresults")->getValue();
if (mAvatarProperties.allow_publish)
const BOOL allowPublish = getChild<LLUICtrl>("online_searchresults")->getValue();
if (allowPublish)
{
mAvatarProperties.flags |= AVATAR_ALLOW_PUBLISH;
}
if (mAvatarDataInitialized)
//
// NOTE: We really don't want to send the avatar properties unless we absolutely
// need to so we can avoid the accidental profile reset bug, so, if we're
// logged in, the avatar data has been initialized and we have a state change
// for the "allow publish" flag, then set the flag to its new value and send
// the properties update.
//
// NOTE: The only reason we can not remove this update altogether is because of the
// "allow publish" flag, the last remaining profile setting in the viewer
// that doesn't exist in the web profile.
//
if ((LLStartUp::getStartupState() == STATE_STARTED) && mAvatarDataInitialized && (allowPublish != mAvatarProperties.allow_publish))
{
mAvatarProperties.allow_publish = allowPublish;
LLAvatarPropertiesProcessor::getInstance()->sendAvatarPropertiesUpdate( &mAvatarProperties );
}
}
BOOL LLFloaterPreference::postBuild()
{
gSavedSettings.getControl("PlainTextChatHistory")->getSignal()->connect(boost::bind(&LLIMFloater::processChatHistoryStyleUpdate, _2));
@ -1364,6 +1377,8 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
mOriginalHideOnlineStatus = true;
}
getChild<LLUICtrl>("online_searchresults")->setEnabled(TRUE);
getChildView("include_im_in_chat_history")->setEnabled(TRUE);
getChildView("show_timestamps_check_im")->setEnabled(TRUE);
getChildView("friends_online_notify_checkbox")->setEnabled(TRUE);
@ -1743,7 +1758,6 @@ void LLPanelPreferenceGraphics::draw()
bool enable = hasDirtyChilds();
button_apply->setEnabled(enable);
}
}
bool LLPanelPreferenceGraphics::hasDirtyChilds()

View File

@ -1317,7 +1317,8 @@ void LLViewerWindow::handleDataCopy(LLWindow *window, S32 data_type, void *data)
std::string url = (const char*)data;
LLMediaCtrl* web = NULL;
const bool trusted_browser = false;
if (LLURLDispatcher::dispatch(url, "clicked", web, trusted_browser))
// don't treat slapps coming from external browsers as "clicks" as this would bypass throttling
if (LLURLDispatcher::dispatch(url, "", web, trusted_browser))
{
// bring window to foreground, as it has just been "launched" from a URL
mWindow->bringToFront();

View File

@ -7021,6 +7021,19 @@ Hiding the Speak button will disable the voice feature.
To walk or run, open the Move Panel and use the directional arrows to navigate. You can also use the directional keys on your keyboard.
</notification>
<notification
name="HintMoveClick"
label=""
type="hint"
unique="true">
1. Click to Walk
Click anywhere on the ground to walk to that spot.
2. Click and Drag to Rotate View
Click and drag anywhere on the world to rotate your view
<tag>custom_skin</tag>
</notification>
<notification
name="HintDisplayName"
label="Display Name"
@ -7029,18 +7042,6 @@ Hiding the Speak button will disable the voice feature.
Set your customizable display name here. This is in addition to your unique username, which can't be changed. You can change how you see other people's names in your preferences.
</notification>
<notification
name="HintMoveClick"
label="Move"
type="hint"
unique="true">
Click to Walk
Click anywhere on the ground to walk to that spot.
Click and Drag to Rotate View
Click and drag anywhere on the world to rotate your view
<tag>custom_skin</tag>
</notification>
<notification
name="HintView"

View File

@ -42,7 +42,7 @@
</text>
<check_box
height="16"
enabled="true"
enabled="false"
label="Show me in Search results"
layout="topleft"
left="30"

View File

@ -163,7 +163,7 @@
layout="topleft"
left="0"
name="destination_btn"
tool_tip="Shows people window"
tool_tip="Shows destinations"
top="5"
is_toggle="true"
use_ellipses="true"