Merge branch 'DRTVWR-591-maint-X' of https://github.com/secondlife/viewer
# Conflicts: # indra/newview/app_settings/settings.xml # indra/newview/llchannelmanager.cpp # indra/newview/llcompilequeue.cpp # indra/newview/lldrawpoolground.cpp # indra/newview/llfloaterpreference.cpp # indra/newview/llfloaterworldmap.cpp # indra/newview/llimprocessing.cpp # indra/newview/llvieweraudio.cpp # indra/newview/llviewerdisplay.cpp # indra/newview/llviewerobject.cppmaster
commit
48d2534cef
|
|
@ -337,9 +337,9 @@ S32 LLFolderView::arrange( S32* unused_width, S32* unused_height )
|
|||
void LLFolderView::filter( LLFolderViewFilter& filter )
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_UI;
|
||||
static LLCachedControl<S32> time_visible(*LLUI::getInstance()->mSettingGroups["config"], "FilterItemsMaxTimePerFrameVisible", 10);
|
||||
static LLCachedControl<S32> time_invisible(*LLUI::getInstance()->mSettingGroups["config"], "FilterItemsMaxTimePerFrameUnvisible", 1);
|
||||
filter.resetTime(llclamp((mParentPanel.get()->getVisible() ? time_visible() : time_invisible()), 1, 100));
|
||||
const S32 TIME_VISIBLE = 10; // in milliseconds
|
||||
const S32 TIME_INVISIBLE = 1;
|
||||
filter.resetTime(llclamp((mParentPanel.get()->getVisible() ? TIME_VISIBLE : TIME_INVISIBLE), 1, 100));
|
||||
|
||||
// Note: we filter the model, not the view
|
||||
getViewModelItem()->filter(filter);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -487,18 +487,6 @@
|
|||
<integer>0</integer>
|
||||
</map>
|
||||
|
||||
<key>RenderAvatar</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Render Avatars</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
|
||||
<key>RenderVolumeLODFactor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -154,9 +154,8 @@ void LLChannelManager::onLoginCompleted()
|
|||
gViewerWindow->getRootView()->addChild(mStartUpChannel);
|
||||
|
||||
// init channel's position and size
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth");
|
||||
mStartUpChannel->init(channel_right_bound - channel_width, channel_right_bound);
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
mStartUpChannel->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);
|
||||
// <FS:Ansariel> Optional legacy notification well
|
||||
//mStartUpChannel->setMouseDownCallback(boost::bind(&LLFloaterNotificationsTabbed::onStartUpToastClick, LLFloaterNotificationsTabbed::getInstance(), _2, _3, _4));
|
||||
if (!gSavedSettings.getBOOL("FSInternalLegacyNotificationWell"))
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ namespace
|
|||
{
|
||||
|
||||
const std::string QUEUE_EVENTPUMP_NAME("ScriptActionQueue");
|
||||
const F32 QUEUE_INVENTORY_FETCH_TIMEOUT = 300.f;
|
||||
|
||||
// ObjectIventoryFetcher is an adapter between the LLVOInventoryListener::inventoryChanged
|
||||
// callback mechanism and the LLEventPump coroutine architecture allowing the
|
||||
|
|
@ -461,8 +462,6 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
|
|||
// Dereferencing floater may fail. If they do they throw LLExeceptionStaleHandle.
|
||||
// which is caught in objectScriptProcessingQueueCoro
|
||||
bool monocompile = floater->mMono;
|
||||
F32 fetch_timeout = gSavedSettings.getF32("QueueInventoryFetchTimeout");
|
||||
|
||||
|
||||
// Initial test to see if we can (or should) attempt to compile the script.
|
||||
LLInventoryItem *item = dynamic_cast<LLInventoryItem *>(inventory);
|
||||
|
|
@ -493,14 +492,14 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
|
|||
//LLExperienceCache::instance().fetchAssociatedExperience(inventory->getParentUUID(), inventory->getUUID(),
|
||||
// boost::bind(&LLFloaterCompileQueue::handleHTTPResponse, pump.getName(), _1));
|
||||
|
||||
//result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout,
|
||||
//result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT,
|
||||
// LLSDMap("timeout", LLSD::Boolean(true)));
|
||||
if (object->getRegion() && object->getRegion()->isCapabilityAvailable("GetMetadata"))
|
||||
{
|
||||
LLExperienceCache::instance().fetchAssociatedExperience(inventory->getParentUUID(), inventory->getUUID(),
|
||||
boost::bind(&LLFloaterCompileQueue::handleHTTPResponse, pump.getName(), _1));
|
||||
|
||||
result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout,
|
||||
result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT,
|
||||
LLSDMap("timeout", LLSD::Boolean(true)));
|
||||
}
|
||||
else
|
||||
|
|
@ -568,7 +567,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
|
|||
&LLFloaterCompileQueue::handleScriptRetrieval,
|
||||
&userData);
|
||||
|
||||
result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout,
|
||||
result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT,
|
||||
LLSDMap("timeout", LLSD::Boolean(true)));
|
||||
}
|
||||
|
||||
|
|
@ -622,7 +621,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
|
|||
LLViewerAssetUpload::EnqueueInventoryUpload(url, uploadInfo);
|
||||
}
|
||||
|
||||
result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout, LLSDMap("timeout", LLSD::Boolean(true)));
|
||||
result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT, LLSDMap("timeout", LLSD::Boolean(true)));
|
||||
|
||||
floater.check();
|
||||
|
||||
|
|
@ -951,8 +950,6 @@ void LLFloaterScriptQueue::objectScriptProcessingQueueCoro(std::string action, L
|
|||
// Dereferencing floater may fail. If they do they throw LLExeceptionStaleHandle.
|
||||
// This is expected if the dialog closes.
|
||||
LLEventMailDrop maildrop(QUEUE_EVENTPUMP_NAME, true);
|
||||
F32 fetch_timeout = gSavedSettings.getF32("QueueInventoryFetchTimeout");
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
|
@ -974,7 +971,7 @@ void LLFloaterScriptQueue::objectScriptProcessingQueueCoro(std::string action, L
|
|||
args["[OBJECT_NAME]"] = (*itObj).mObjectName;
|
||||
floater->addStringMessage(floater->getString("LoadingObjInv", args));
|
||||
|
||||
LLSD result = llcoro::suspendUntilEventOnWithTimeout(maildrop, fetch_timeout,
|
||||
LLSD result = llcoro::suspendUntilEventOnWithTimeout(maildrop, QUEUE_INVENTORY_FETCH_TIMEOUT,
|
||||
LLSDMap("timeout", LLSD::Boolean(true)));
|
||||
|
||||
if (result.has("timeout"))
|
||||
|
|
|
|||
|
|
@ -365,6 +365,7 @@ void LLControlAvatar::idleUpdate(LLAgent &agent, const F64 &time)
|
|||
|
||||
void LLControlAvatar::markDead()
|
||||
{
|
||||
mRootVolp = NULL;
|
||||
super::markDead();
|
||||
mControlAVBridge = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,14 +54,14 @@ void LLDrawPoolGround::prerender()
|
|||
void LLDrawPoolGround::render(S32 pass)
|
||||
{
|
||||
// <FS:PP> Attempt to speed up things a little
|
||||
// if (mDrawFace.empty() || !gSavedSettings.getBOOL("RenderGround"))
|
||||
// if (mDrawFace.empty() || !LLGLSLShader::sCurBoundShaderPtr || !gSavedSettings.getBOOL("RenderGround"))
|
||||
static LLCachedControl<bool> RenderGround(gSavedSettings, "RenderGround");
|
||||
if (mDrawFace.empty() || !RenderGround)
|
||||
if (mDrawFace.empty() || !LLGLSLShader::sCurBoundShaderPtr || !RenderGround)
|
||||
// </FS:PP>
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
LLGLSPipelineDepthTestSkyBox gls_skybox(true, false);
|
||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
|
||||
|
|
|
|||
|
|
@ -837,22 +837,7 @@ void LLFloaterPreference::onShowGroupNoticesTopRightChanged()
|
|||
|
||||
void LLFloaterPreference::updateDeleteTranscriptsButton()
|
||||
{
|
||||
// <FS:ND> LLLogChat::getListOfTranscriptFiles will go through the whole chatlog dir, reach a bit of each file,
|
||||
// then append this file to the return-list if it seems to be valid.
|
||||
// All this only to see if there is at least one item.
|
||||
// There's two ways to make this faster:
|
||||
// 1. Make a new function which returns just true/false and exist with true as soon as one valid file is found.
|
||||
// 2. Always enable this button.
|
||||
// There seems to be little reason why this button should ever be disabled, so 2. it is, unless someone knows
|
||||
// a good reason why 1. is the better way to handle this.
|
||||
|
||||
// std::vector<std::string> list_of_transcriptions_file_names;
|
||||
// LLLogChat::getListOfTranscriptFiles(list_of_transcriptions_file_names);
|
||||
// getChild<LLButton>("delete_transcripts")->setEnabled(list_of_transcriptions_file_names.size() > 0);
|
||||
|
||||
getChild<LLButton>("delete_transcripts")->setEnabled( true );
|
||||
|
||||
// </FS:ND>
|
||||
getChild<LLButton>("delete_transcripts")->setEnabled(LLLogChat::transcriptFilesExist());
|
||||
}
|
||||
|
||||
void LLFloaterPreference::onDoNotDisturbResponseChanged()
|
||||
|
|
@ -2226,12 +2211,6 @@ void LLFloaterPreference::refreshEnabledState()
|
|||
LLCheckBoxCtrl* bumpshiny_ctrl = getChild<LLCheckBoxCtrl>("BumpShiny");
|
||||
bool bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump");
|
||||
bumpshiny_ctrl->setEnabled(bumpshiny ? TRUE : FALSE);
|
||||
|
||||
// <FS:Ansariel> Does not exist
|
||||
//LLCheckBoxCtrl* ctrl_enhanced_skel = getChild<LLCheckBoxCtrl>("AvatarEnhancedSkeleton");
|
||||
//bool enhanced_skel_enabled = gSavedSettings.getBOOL("IncludeEnhancedSkeleton");
|
||||
//ctrl_enhanced_skel->setValue(enhanced_skel_enabled);
|
||||
// </FS:Ansariel>
|
||||
|
||||
// Avatar Mode
|
||||
// Avatar Render Mode
|
||||
|
|
|
|||
|
|
@ -51,12 +51,6 @@ public:
|
|||
LLSearchHandler() : LLCommandHandler("search", UNTRUSTED_CLICK_ONLY) { }
|
||||
bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web)
|
||||
{
|
||||
if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableSearch"))
|
||||
{
|
||||
LLNotificationsUtil::add("NoSearch", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit"));
|
||||
return true;
|
||||
}
|
||||
|
||||
const size_t parts = tokens.size();
|
||||
|
||||
// get the (optional) category for the search
|
||||
|
|
|
|||
|
|
@ -144,12 +144,6 @@ public:
|
|||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableWorldMap"))
|
||||
{
|
||||
LLNotificationsUtil::add("NoWorldMap", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (params.size() == 0)
|
||||
{
|
||||
// support the secondlife:///app/worldmap SLapp
|
||||
|
|
@ -185,12 +179,6 @@ public:
|
|||
const std::string& grid,
|
||||
LLMediaCtrl* web)
|
||||
{
|
||||
if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableWorldMap"))
|
||||
{
|
||||
LLNotificationsUtil::add("NoWorldMap", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit"));
|
||||
return true;
|
||||
}
|
||||
|
||||
//Make sure we have some parameters
|
||||
if (params.size() == 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -104,12 +104,6 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableGroupInfo"))
|
||||
{
|
||||
LLNotificationsUtil::add("NoGroupInfo", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (tokens.size() < 1)
|
||||
{
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -54,9 +54,8 @@ LLIMHandler::~LLIMHandler()
|
|||
//--------------------------------------------------------------------------
|
||||
void LLIMHandler::initChannel()
|
||||
{
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth");
|
||||
mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound);
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -229,9 +229,15 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
}
|
||||
|
||||
|
||||
// <FS:Ansariel> Keep auto-accept option
|
||||
bool bAutoAccept(false);
|
||||
// Avoid the Accept/Discard dialog if the user so desires. JC
|
||||
// <FS:Ansariel> Auto-accept any kind of inventory (FIRE-4128)
|
||||
//if (gSavedSettings.getBOOL("AutoAcceptNewInventory")
|
||||
// && (info->mType == LLAssetType::AT_NOTECARD
|
||||
// || info->mType == LLAssetType::AT_LANDMARK
|
||||
// || info->mType == LLAssetType::AT_TEXTURE))
|
||||
// if (gSavedSettings.getBOOL("AutoAcceptNewInventory"))
|
||||
// </FS:Ansariel> Auto-accept any kind of inventory (FIRE-4128)
|
||||
// [RLVa:KB]
|
||||
// Don't auto-accept give-to-RLV inventory offers
|
||||
if ( (gSavedSettings.getBOOL("AutoAcceptNewInventory")) &&
|
||||
|
|
@ -242,7 +248,6 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
// and possibly open them on receipt depending upon "ShowNewInventory".
|
||||
bAutoAccept = true;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// Strip any SLURL from the message display. (DEV-2754)
|
||||
std::string msg = info->mDesc;
|
||||
|
|
@ -312,7 +317,7 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
LLNotification::Params p;
|
||||
|
||||
// Object -> Agent Inventory Offer
|
||||
if (info->mFromObject && !bAutoAccept) // <FS:Ansariel> Keep auto-accept option
|
||||
if (info->mFromObject && !bAutoAccept)
|
||||
{
|
||||
// [RLVa:KB] - Checked: RLVa-1.2.2
|
||||
// Only filter if the object owner is a nearby agent
|
||||
|
|
@ -397,7 +402,6 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
send_do_not_disturb_message(gMessageSystem, info->mFromID);
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Keep auto-accept option
|
||||
if (!bAutoAccept) // if we auto accept, do not pester the user
|
||||
{
|
||||
// Inform user that there is a script floater via toast system
|
||||
|
|
@ -405,7 +409,6 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
p.payload = payload;
|
||||
LLPostponedNotification::add<LLPostponedOfferNotification>(p, info->mFromID, false);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
// <FS:Ansariel> FIRE-19540: Log auto-accepted inventory to nearby chat
|
||||
else if (gSavedSettings.getBOOL("FSLogAutoAcceptInventoryToChat"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ LLInspect::~LLInspect()
|
|||
// virtual
|
||||
void LLInspect::draw()
|
||||
{
|
||||
static LLCachedControl<F32> FADE_TIME(*LLUI::getInstance()->mSettingGroups["config"], "InspectorFadeTime", 1.f);
|
||||
static LLCachedControl<F32> STAY_TIME(*LLUI::getInstance()->mSettingGroups["config"], "InspectorShowTime", 1.f);
|
||||
const F32 FADE_TIME = 0.5f;
|
||||
const F32 STAY_TIME = 3.f;
|
||||
if (mOpenTimer.getStarted())
|
||||
{
|
||||
LLFloater::draw();
|
||||
|
|
@ -59,7 +59,7 @@ void LLInspect::draw()
|
|||
}
|
||||
else if (mCloseTimer.getStarted())
|
||||
{
|
||||
F32 alpha = clamp_rescale(mCloseTimer.getElapsedTimeF32(), 0.f, FADE_TIME(), 1.f, 0.f);
|
||||
F32 alpha = clamp_rescale(mCloseTimer.getElapsedTimeF32(), 0.f, FADE_TIME, 1.f, 0.f);
|
||||
LLViewDrawContext context(alpha);
|
||||
LLFloater::draw();
|
||||
if (mCloseTimer.getElapsedTimeF32() > FADE_TIME)
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ typedef std::pair<LLUUID, LLUUID> two_uuids_t;
|
|||
typedef std::list<two_uuids_t> two_uuids_list_t;
|
||||
|
||||
const F32 SOUND_GAIN = 1.0f;
|
||||
const F32 FOLDER_LOADING_MESSAGE_DELAY = 0.5f; // Seconds to wait before showing the LOADING... text in folder views
|
||||
|
||||
struct LLMoveInv
|
||||
{
|
||||
|
|
@ -2509,9 +2510,7 @@ void LLFolderBridge::buildDisplayName() const
|
|||
|
||||
std::string LLFolderBridge::getLabelSuffix() const
|
||||
{
|
||||
static LLCachedControl<F32> folder_loading_message_delay(gSavedSettings, "FolderLoadingMessageWaitTime", 0.5f);
|
||||
|
||||
if (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= folder_loading_message_delay())
|
||||
if (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= FOLDER_LOADING_MESSAGE_DELAY)
|
||||
{
|
||||
return llformat(" (%s) ", LLTrans::getString("LoadingData").c_str());
|
||||
}
|
||||
|
|
@ -5236,9 +5235,7 @@ LLUIImagePtr LLMarketplaceFolderBridge::getMarketplaceFolderIcon(BOOL is_open) c
|
|||
|
||||
std::string LLMarketplaceFolderBridge::getLabelSuffix() const
|
||||
{
|
||||
static LLCachedControl<F32> folder_loading_message_delay(gSavedSettings, "FolderLoadingMessageWaitTime", 0.5f);
|
||||
|
||||
if (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= folder_loading_message_delay())
|
||||
if (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= FOLDER_LOADING_MESSAGE_DELAY)
|
||||
{
|
||||
return llformat(" (%s) ", LLTrans::getString("LoadingData").c_str());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -744,6 +744,27 @@ std::string LLLogChat::oldLogFileName(std::string filename)
|
|||
return scanResult;
|
||||
}
|
||||
|
||||
bool LLLogChat::transcriptFilesExist()
|
||||
{
|
||||
std::string pattern = "*." + LL_TRANSCRIPT_FILE_EXTENSION;
|
||||
// get Users log directory
|
||||
std::string dirname = gDirUtilp->getPerAccountChatLogsDir();
|
||||
|
||||
// add final OS dependent delimiter
|
||||
dirname += gDirUtilp->getDirDelimiter();
|
||||
|
||||
LLDirIterator iter(dirname, pattern);
|
||||
std::string filename;
|
||||
while (iter.next(filename))
|
||||
{
|
||||
std::string fullname = gDirUtilp->add(dirname, filename);
|
||||
if (isTranscriptFileFound(fullname))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// static
|
||||
void LLLogChat::findTranscriptFiles(std::string pattern, std::vector<std::string>& list_of_transcriptions)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ public:
|
|||
const std::string& from,
|
||||
const LLUUID& from_id,
|
||||
const std::string& line);
|
||||
static bool transcriptFilesExist();
|
||||
static void findTranscriptFiles(std::string pattern, std::vector<std::string>& list_of_transcriptions);
|
||||
static void getListOfTranscriptFiles(std::vector<std::string>& list);
|
||||
static void getListOfTranscriptBackupFiles(std::vector<std::string>& list_of_transcriptions);
|
||||
|
|
|
|||
|
|
@ -56,9 +56,8 @@ LLGroupHandler::~LLGroupHandler()
|
|||
//--------------------------------------------------------------------------
|
||||
void LLGroupHandler::initChannel()
|
||||
{
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth");
|
||||
mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound);
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -66,8 +66,7 @@ LLOfferHandler::~LLOfferHandler()
|
|||
void LLOfferHandler::initChannel()
|
||||
{
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth");
|
||||
mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound);
|
||||
mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -65,9 +65,8 @@ LLScriptHandler::~LLScriptHandler()
|
|||
//--------------------------------------------------------------------------
|
||||
void LLScriptHandler::initChannel()
|
||||
{
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth");
|
||||
mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound);
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -63,9 +63,8 @@ LLTipHandler::~LLTipHandler()
|
|||
//--------------------------------------------------------------------------
|
||||
void LLTipHandler::initChannel()
|
||||
{
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth");
|
||||
mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound);
|
||||
S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
|
||||
mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -99,12 +99,6 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnablePicks"))
|
||||
{
|
||||
LLNotificationsUtil::add("NoPicks", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit"));
|
||||
return true;
|
||||
}
|
||||
|
||||
// handle app/pick/create urls first
|
||||
if (params.size() == 1 && params[0].asString() == "create")
|
||||
{
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@ namespace LLNotificationsUI
|
|||
const LLUUID NEARBY_CHAT_CHANNEL_UUID("E1158BD6-661C-4981-9DAD-4DCBFF062502");
|
||||
const LLUUID STARTUP_CHANNEL_UUID("B56AF90D-6684-48E4-B1E4-722D3DEB2CB6");
|
||||
|
||||
const S32 NOTIFY_BOX_WIDTH = 305;
|
||||
|
||||
typedef enum e_notification_toast_alignment
|
||||
{
|
||||
NA_TOP,
|
||||
|
|
|
|||
|
|
@ -1323,17 +1323,8 @@ void drawBox(const LLVector4a& c, const LLVector4a& r)
|
|||
|
||||
void drawBoxOutline(const LLVector3& pos, const LLVector3& size)
|
||||
{
|
||||
|
||||
llassert(pos.isFinite());
|
||||
llassert(size.isFinite());
|
||||
|
||||
llassert(!llisnan(pos.mV[0]));
|
||||
llassert(!llisnan(pos.mV[1]));
|
||||
llassert(!llisnan(pos.mV[2]));
|
||||
|
||||
llassert(!llisnan(size.mV[0]));
|
||||
llassert(!llisnan(size.mV[1]));
|
||||
llassert(!llisnan(size.mV[2]));
|
||||
if (!pos.isFinite() || !size.isFinite())
|
||||
return;
|
||||
|
||||
LLVector3 v1 = size.scaledVec(LLVector3( 1, 1,1));
|
||||
LLVector3 v2 = size.scaledVec(LLVector3(-1, 1,1));
|
||||
|
|
|
|||
|
|
@ -227,6 +227,13 @@ BOOL LLVisualParamHint::render()
|
|||
LLVector3 target_pos = target_joint_pos + (target_offset * avatar_rotation);
|
||||
|
||||
F32 cam_angle_radians = mVisualParam->getCameraAngle() * DEG_TO_RAD;
|
||||
|
||||
static LLCachedControl<bool> auto_camera_position(gSavedSettings, "AppearanceCameraMovement");
|
||||
if (!auto_camera_position)
|
||||
{
|
||||
cam_angle_radians += F_PI;
|
||||
}
|
||||
|
||||
LLVector3 camera_snapshot_offset(
|
||||
mVisualParam->getCameraDistance() * cosf( cam_angle_radians ),
|
||||
mVisualParam->getCameraDistance() * sinf( cam_angle_radians ),
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@
|
|||
#include "llvoavatarself.h"
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
const U32 FMODEX_DECODE_BUFFER_SIZE = 1000; // in milliseconds
|
||||
const U32 FMODEX_STREAM_BUFFER_SIZE = 7000; // in milliseconds
|
||||
|
||||
LLViewerAudio::LLViewerAudio() :
|
||||
mDone(true),
|
||||
|
|
@ -130,7 +132,7 @@ void LLViewerAudio::startInternetStreamWithAutoFade(const std::string &streamURI
|
|||
|
||||
LLStreamingAudioInterface *stream = gAudiop->getStreamingAudioImpl();
|
||||
if (stream && stream->supportsAdjustableBufferSizes())
|
||||
stream->setBufferSizes(gSavedSettings.getU32("FMODStreamBufferSize"), gSavedSettings.getU32("FMODDecodeBufferSize"));
|
||||
stream->setBufferSizes(FMODEX_STREAM_BUFFER_SIZE, FMODEX_DECODE_BUFFER_SIZE);
|
||||
|
||||
gAudiop->startInternetStream(mNextStreamURI);
|
||||
}
|
||||
|
|
@ -197,7 +199,7 @@ bool LLViewerAudio::onIdleUpdate()
|
|||
LL_DEBUGS("AudioEngine") << "Audio fade in: " << mNextStreamURI << LL_ENDL;
|
||||
LLStreamingAudioInterface *stream = gAudiop->getStreamingAudioImpl();
|
||||
if(stream && stream->supportsAdjustableBufferSizes())
|
||||
stream->setBufferSizes(gSavedSettings.getU32("FMODStreamBufferSize"),gSavedSettings.getU32("FMODDecodeBufferSize"));
|
||||
stream->setBufferSizes(FMODEX_STREAM_BUFFER_SIZE, FMODEX_DECODE_BUFFER_SIZE);
|
||||
|
||||
gAudiop->startInternetStream(mNextStreamURI);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -231,15 +231,11 @@ void display_update_camera()
|
|||
void display_stats()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
// <FS:Ansariel> gSavedSettings replacement
|
||||
//F32 fps_log_freq = gSavedSettings.getF32("FPSLogFrequency");
|
||||
static LLCachedControl<F32> fpsLogFrequency(gSavedSettings, "FPSLogFrequency");
|
||||
F32 fps_log_freq = (F32)fpsLogFrequency;
|
||||
// </FS:Ansariel>
|
||||
if (fps_log_freq > 0.f && gRecentFPSTime.getElapsedTimeF32() >= fps_log_freq)
|
||||
const F32 FPS_LOG_FREQUENCY = 10.f;
|
||||
if (gRecentFPSTime.getElapsedTimeF32() >= FPS_LOG_FREQUENCY)
|
||||
{
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("DS - FPS");
|
||||
F32 fps = gRecentFrameCount / fps_log_freq;
|
||||
F32 fps = gRecentFrameCount / FPS_LOG_FREQUENCY;
|
||||
LL_INFOS() << llformat("FPS: %.02f", fps) << LL_ENDL;
|
||||
gRecentFrameCount = 0;
|
||||
gRecentFPSTime.reset();
|
||||
|
|
|
|||
|
|
@ -3310,7 +3310,6 @@ void LLViewerObject::unlinkControlAvatar()
|
|||
if (mControlAvatar)
|
||||
{
|
||||
mControlAvatar->markForDeath();
|
||||
mControlAvatar->mRootVolp = NULL;
|
||||
mControlAvatar = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -594,7 +594,7 @@ LLViewerFetchedTexture* LLViewerTextureList::createImage(const LLUUID &image_id,
|
|||
LLHost request_from_host)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE;
|
||||
static LLCachedControl<bool> fast_cache_fetching_enabled(gSavedSettings, "FastCacheFetchEnabled", true);
|
||||
static LLCachedControl<bool> fast_cache_fetching_enabled(gSavedSettings, "FastCacheFetchEnabled", true); // <FS:Ansariel> Keep Fast Cache option
|
||||
|
||||
LLPointer<LLViewerFetchedTexture> imagep ;
|
||||
switch(texture_type)
|
||||
|
|
@ -633,11 +633,13 @@ LLViewerFetchedTexture* LLViewerTextureList::createImage(const LLUUID &image_id,
|
|||
imagep->forceActive() ;
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Keep Fast Cache option
|
||||
if(fast_cache_fetching_enabled)
|
||||
{
|
||||
mFastCacheList.insert(imagep);
|
||||
imagep->setInFastCacheList(true);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
return imagep ;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,12 +40,6 @@ public:
|
|||
|
||||
bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web)
|
||||
{
|
||||
if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableVoiceCall"))
|
||||
{
|
||||
LLNotificationsUtil::add("NoVoiceCall", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit"));
|
||||
return true;
|
||||
}
|
||||
|
||||
//Make sure we have some parameters
|
||||
if (params.size() == 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -769,7 +769,10 @@ bool LLVOSky::updateSky()
|
|||
mForceUpdate = FALSE;
|
||||
|
||||
mForceUpdateThrottle.setTimerExpirySec(UPDATE_EXPRY);
|
||||
gPipeline.markRebuild(gSky.mVOGroundp->mDrawable, LLDrawable::REBUILD_ALL, TRUE);
|
||||
if (gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_GROUND))
|
||||
{
|
||||
gPipeline.markRebuild(gSky.mVOGroundp->mDrawable, LLDrawable::REBUILD_ALL, TRUE);
|
||||
}
|
||||
|
||||
if (mDrawable.notNull() && mDrawable->getFace(0) && !mDrawable->getFace(0)->getVertexBuffer())
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue