Added handling for RemoveInventoryObjects message. Fixed handling of RemoveInventoryFolder

meow-7.2.2
Aura Linden 2011-07-21 17:07:57 -07:00
commit 74b6f5dce3
15 changed files with 235 additions and 93 deletions

View File

@ -138,9 +138,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>e6caaeea16131e1f2343ecd7765e3147</string>
<string>6299f1fd01147820e05195b84a3fe1d7</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.7.1-darwin-20110217.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/233053/arch/Darwin/installer/ares-1.7.4-darwin-20110616.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -150,9 +150,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>0745872db83d45f4ab3bdc697d98e264</string>
<string>b62efd5a68e5dd38314f60a20e651d43</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/223275/arch/Linux/installer/ares-1.7.1-linux-20110310.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/233053/arch/Linux/installer/ares-1.7.4-linux-20110616.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@ -162,9 +162,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>1dcec6babd249a2597114d4ac226c461</string>
<string>c2f4ea23619f3d453e799d6e89ff6930</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/220963/arch/CYGWIN/installer/ares-1.7.1-windows-20110211.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/233053/arch/CYGWIN/installer/ares-1.7.4-windows-20110616.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@ -282,9 +282,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>aaea644191807f51051cefa2fac11069</string>
<string>463e4cc99ec8659eeee518beb41f31b6</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7.21.1-darwin-20110316.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-curl/rev/236200/arch/Darwin/installer/curl-7.21.1-darwin-20110719.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -306,9 +306,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>fea96aa2a7d513397317194f3d6c979b</string>
<string>23d603a7bb864d0a8b6001f19a1b7335</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7.21.1-windows-20110211.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-curl/rev/236200/arch/CYGWIN/installer/curl-7.21.1-windows-20110719.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@ -1206,9 +1206,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>a7c80fd8516df3b879b669b2b220067f</string>
<string>c6c28da2f262b4a146a90724b635f13f</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/232420/arch/Darwin/installer/llqtwebkit-4.7.1-darwin-20110608.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/236284/arch/Darwin/installer/llqtwebkit-4.7.1-darwin-20110720.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -1218,9 +1218,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c05a33ee8b6f253b5a744596dfc3707d</string>
<string>67505bb5e72ed5912c818d506e9eac22</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-qt4.6-20101013.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/236284/arch/Linux/installer/llqtwebkit-4.7.1-linux-20110720.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@ -1230,9 +1230,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>b9cc0333cc274c9cc40256ab7146b4fc</string>
<string>433e15cbb4d59aae9be10c18d19b094e</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/232420/arch/CYGWIN/installer/llqtwebkit-4.7.1-windows-20110608.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/236284/arch/CYGWIN/installer/llqtwebkit-4.7.1-windows-20110720.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@ -1359,54 +1359,6 @@
</map>
</map>
</map>
<key>openSSL</key>
<map>
<key>license</key>
<string>openSSL</string>
<key>license_file</key>
<string>LICENSES/openssl.txt</string>
<key>name</key>
<string>openSSL</string>
<key>platforms</key>
<map>
<key>darwin</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>facee34b8bd57ad602157e65a5af1a49</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openssl-0.9.8q-darwin-20110211.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
</map>
<key>linux</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>3d40be8566fa4b9df9a38e2a0f9ea467</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/226882/arch/Linux/installer/openssl-1.0.0d-linux-20110418.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
</map>
<key>windows</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>774c7f0a0312bee3054757a623e227bc</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/220986/arch/CYGWIN/installer/openssl-0.9.8q-windows-20110211.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
</map>
</map>
</map>
<key>openal_soft</key>
<map>
<key>license</key>
@ -1495,6 +1447,54 @@
</map>
</map>
</map>
<key>openssl</key>
<map>
<key>license</key>
<string>openssl</string>
<key>license_file</key>
<string>LICENSES/openssl.txt</string>
<key>name</key>
<string>openssl</string>
<key>platforms</key>
<map>
<key>darwin</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>1aecd89fee54741f2c4fd65c082d2604</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/227862/arch/Darwin/installer/openssl-1.0.0d-darwin-20110427.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
</map>
<key>linux</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>eab3a49d1ef77a651a3896d1d4864a78</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/227862/arch/Linux/installer/openssl-1.0.0d-linux-20110427.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
</map>
<key>windows</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>8ba049ecc76bb1adf3ab3e5bad64c39e</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/227862/arch/CYGWIN/installer/openssl-1.0.0d-windows-20110427.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
</map>
</map>
</map>
<key>pcre</key>
<map>
<key>license</key>
@ -1907,12 +1907,12 @@
<map>
<key>build</key>
<map>
<key>command</key>
<string>xcodebuild</string>
<key>filters</key>
<array>
<string>setenv</string>
</array>
<key>command</key>
<string>xcodebuild</string>
<key>options</key>
<array>
<string>-configuration Debug</string>
@ -1961,12 +1961,12 @@
<map>
<key>build</key>
<map>
<key>command</key>
<string>xcodebuild</string>
<key>filters</key>
<array>
<string>setenv</string>
</array>
<key>command</key>
<string>xcodebuild</string>
<key>options</key>
<array>
<string>-configuration RelWithDebInfo</string>
@ -2017,12 +2017,12 @@
<map>
<key>build</key>
<map>
<key>command</key>
<string>xcodebuild</string>
<key>filters</key>
<array>
<string>setenv</string>
</array>
<key>command</key>
<string>xcodebuild</string>
<key>options</key>
<array>
<string>-configuration Release</string>

View File

@ -7,7 +7,7 @@ set(OpenSSL_FIND_REQUIRED ON)
if (STANDALONE)
include(FindOpenSSL)
else (STANDALONE)
use_prebuilt_binary(openSSL)
use_prebuilt_binary(openssl)
if (WINDOWS)
set(OPENSSL_LIBRARIES ssleay32 libeay32)
else (WINDOWS)

View File

@ -228,6 +228,13 @@ void LLFastTimer::DeclareTimer::updateCachedPointers()
// update cached pointer
it->mFrameState = &it->mTimer.getFrameState();
}
// also update frame states of timers on stack
LLFastTimer* cur_timerp = LLFastTimer::sCurTimerData.mCurTimer;
while(cur_timerp->mLastTimerData.mCurTimer != cur_timerp)
{
cur_timerp->mFrameState = &cur_timerp->mFrameState->mTimer->getFrameState();
cur_timerp = cur_timerp->mLastTimerData.mCurTimer;
}
}
//static

View File

@ -6592,7 +6592,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<string>0</string>
<integer>0</integer>
</map>
<key>PrecachingDelay</key>
<map>

View File

@ -335,7 +335,9 @@ void LLAvatarActions::showProfile(const LLUUID& id)
//static
bool LLAvatarActions::profileVisible(const LLUUID& id)
{
LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("web_content", id.asString()));
LLSD sd;
sd["id"] = id;
LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("web_content", sd));
return browser && browser->isShown();
}
@ -343,7 +345,9 @@ bool LLAvatarActions::profileVisible(const LLUUID& id)
//static
void LLAvatarActions::hideProfile(const LLUUID& id)
{
LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("web_content", id.asString()));
LLSD sd;
sd["id"] = id;
LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("web_content", sd));
if (browser)
{
browser->closeFloater();

View File

@ -87,7 +87,15 @@ BOOL LLFloaterWebContent::postBuild()
bool LLFloaterWebContent::matchesKey(const LLSD& key)
{
return key["target"].asString() == mKey["target"].asString();
LLUUID id = key["id"];
if (id.notNull())
{
return id == mKey["id"].asUUID();
}
else
{
return key["target"].asString() == mKey["target"].asString();
}
}
@ -250,6 +258,10 @@ void LLFloaterWebContent::onOpen(const LLSD& key)
return;
}
if (params.target() == params.id().asString())
{
setRectControl("");
}
mUUID = params.id().asString();
mWebBrowser->setTrustedContent(params.trusted_content);

View File

@ -166,6 +166,8 @@ public:
// Incoming media event dispatcher
virtual void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event);
LLUUID getTextureID() {return mMediaTextureID;}
protected:
void convertInputCoords(S32& x, S32& y);

View File

@ -50,6 +50,7 @@
#include "llappviewer.h"
#include "llweb.h"
#include "lluictrlfactory.h"
#include "llpanellogin.h"
LLProgressView* LLProgressView::sInstance = NULL;
@ -66,7 +67,9 @@ LLProgressView::LLProgressView()
mMediaCtrl( NULL ),
mMouseDownInActiveArea( false ),
mUpdateEvents("LLProgressView"),
mFadeToWorldTimer()
mFadeToWorldTimer(),
mFadeFromLoginTimer(),
mStartupComplete(false)
{
mUpdateEvents.listen("self", boost::bind(&LLProgressView::handleUpdate, this, _1));
}
@ -79,10 +82,13 @@ BOOL LLProgressView::postBuild()
mMediaCtrl = getChild<LLMediaCtrl>("login_media_panel");
mMediaCtrl->setVisible( false ); // hidden initially
mMediaCtrl->addObserver( this ); // watch events
LLViewerMedia::setOnlyAudibleMediaTextureID(mMediaCtrl->getTextureID());
mCancelBtn = getChild<LLButton>("cancel_btn");
mCancelBtn->setClickedCallback( LLProgressView::onCancelButtonClicked, NULL );
mFadeToWorldTimer.stop();
mFadeFromLoginTimer.stop();
getChild<LLTextBox>("title_text")->setText(LLStringExplicit(LLAppViewer::instance()->getSecondLifeTitle()));
@ -130,18 +136,34 @@ void LLProgressView::revealIntroPanel()
// if user hasn't yet seen intro video
std::string intro_url = gSavedSettings.getString("PostFirstLoginIntroURL");
if ( intro_url.length() > 0 &&
gSavedSettings.getBOOL("BrowserJavascriptEnabled") &&
gSavedSettings.getBOOL("PostFirstLoginIntroViewed" ) == FALSE )
{
// hide the progress bar
getChild<LLView>("stack1")->setVisible(false);
// navigate to intro URL and reveal widget
mMediaCtrl->navigateTo( intro_url );
mMediaCtrl->setVisible( TRUE );
// flag as having seen the new user post login intro
gSavedSettings.setBOOL("PostFirstLoginIntroViewed", TRUE );
mMediaCtrl->setFocus(TRUE);
}
else
mFadeFromLoginTimer.start();
}
void LLProgressView::setStartupComplete()
{
mStartupComplete = true;
// if we are not showing a video, fade into world
if (!mMediaCtrl->getVisible())
{
// start the timer that will control the fade through to the world view
mFadeFromLoginTimer.stop();
mFadeToWorldTimer.start();
}
}
@ -162,17 +184,15 @@ void LLProgressView::setVisible(BOOL visible)
}
}
void LLProgressView::draw()
{
static LLTimer timer;
// Paint bitmap if we've got one
void LLProgressView::drawStartTexture(F32 alpha)
{
glPushMatrix();
if (gStartTexture)
{
LLGLSUIDefault gls_ui;
gGL.getTexUnit(0)->bind(gStartTexture.get());
gGL.color4f(1.f, 1.f, 1.f, 1.f);
gGL.color4f(1.f, 1.f, 1.f, alpha);
F32 image_aspect = (F32)gStartImageWidth / (F32)gStartImageHeight;
S32 width = getRect().getWidth();
S32 height = getRect().getHeight();
@ -198,6 +218,33 @@ void LLProgressView::draw()
gl_rect_2d(getRect());
}
glPopMatrix();
}
void LLProgressView::draw()
{
static LLTimer timer;
if (mFadeFromLoginTimer.getStarted())
{
F32 alpha = clamp_rescale(mFadeFromLoginTimer.getElapsedTimeF32(), 0.f, FADE_TO_WORLD_TIME, 0.f, 1.f);
LLViewDrawContext context(alpha);
if (!mMediaCtrl->getVisible())
{
drawStartTexture(alpha);
}
LLPanel::draw();
if (mFadeFromLoginTimer.getElapsedTimeF32() > FADE_TO_WORLD_TIME )
{
mFadeFromLoginTimer.stop();
LLPanelLogin::closePanel();
}
return;
}
// handle fade out to world view when we're asked to
if (mFadeToWorldTimer.getStarted())
@ -205,6 +252,8 @@ void LLProgressView::draw()
// draw fading panel
F32 alpha = clamp_rescale(mFadeToWorldTimer.getElapsedTimeF32(), 0.f, FADE_TO_WORLD_TIME, 1.f, 0.f);
LLViewDrawContext context(alpha);
drawStartTexture(alpha);
LLPanel::draw();
// faded out completely - remove panel and reveal world
@ -212,6 +261,8 @@ void LLProgressView::draw()
{
mFadeToWorldTimer.stop();
LLViewerMedia::setOnlyAudibleMediaTextureID(LLUUID::null);
// Fade is complete, release focus
gFocusMgr.releaseFocusIfNeeded( this );
@ -235,6 +286,7 @@ void LLProgressView::draw()
return;
}
drawStartTexture(1.0f);
// draw children
LLPanel::draw();
}
@ -349,9 +401,26 @@ bool LLProgressView::onAlertModal(const LLSD& notify)
void LLProgressView::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event)
{
// the intro web content calls javascript::window.close() when it's done
if( event == MEDIA_EVENT_CLOSE_REQUEST )
{
// the intro web content calls javascript::window.close() when it's done
mFadeToWorldTimer.start();
if (mStartupComplete)
{
//make sure other timer has stopped
mFadeFromLoginTimer.stop();
mFadeToWorldTimer.start();
}
else
{
// hide the media ctrl and wait for startup to be completed before fading to world
mMediaCtrl->setVisible(false);
if (mMediaCtrl->getMediaPlugin())
{
mMediaCtrl->getMediaPlugin()->stop();
}
// show the progress bar
getChild<LLView>("stack1")->setVisible(true);
}
}
}

View File

@ -48,6 +48,7 @@ public:
BOOL postBuild();
/*virtual*/ void draw();
void drawStartTexture(F32 alpha);
/*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);
/*virtual*/ BOOL handleKeyHere(KEY key, MASK mask);
@ -65,6 +66,8 @@ public:
// turns on (under certain circumstances) the into video after login
void revealIntroPanel();
void setStartupComplete();
void setCancelButtonVisible(BOOL b, const std::string& label);
static void onCancelButtonClicked( void* );
@ -82,8 +85,10 @@ protected:
std::string mMessage;
LLButton* mCancelBtn;
LLFrameTimer mFadeToWorldTimer;
LLFrameTimer mFadeFromLoginTimer;
LLRect mOutlineRect;
bool mMouseDownInActiveArea;
bool mStartupComplete;
// The LLEventStream mUpdateEvents depends upon this class being a singleton
// to avoid pump name conflicts.

View File

@ -897,7 +897,7 @@ bool idle_startup()
if (show_connect_box)
{
LLSLURL slurl;
LLPanelLogin::closePanel();
//LLPanelLogin::closePanel();
}
@ -944,6 +944,8 @@ bool idle_startup()
gViewerWindow->setShowProgress(TRUE);
gViewerWindow->setProgressCancelButtonVisible(TRUE, LLTrans::getString("Quit"));
gViewerWindow->revealIntroPanel();
// Poke the VFS, which could potentially block for a while if
// Windows XP is acting up
set_startup_status(0.07f, LLTrans::getString("LoginVerifyingCache"), LLStringUtil::null);
@ -1962,8 +1964,8 @@ bool idle_startup()
gViewerWindow->getWindow()->resetBusyCount();
gViewerWindow->getWindow()->setCursor(UI_CURSOR_ARROW);
LL_DEBUGS("AppInit") << "Done releasing bitmap" << LL_ENDL;
gViewerWindow->revealIntroPanel();
//gViewerWindow->setShowProgress(FALSE); // reveal intro video now handles this
//gViewerWindow->revealIntroPanel();
gViewerWindow->setStartupComplete();
gViewerWindow->setProgressCancelButtonVisible(FALSE);
// We're not away from keyboard, even though login might have taken

View File

@ -36,6 +36,7 @@
#include "llviewerwindow.h"
#include "llvoiceclient.h"
#include "llviewermedia.h"
#include "llprogressview.h"
/////////////////////////////////////////////////////////
@ -101,7 +102,16 @@ void audio_update_volume(bool force_update)
{
F32 master_volume = gSavedSettings.getF32("AudioLevelMaster");
BOOL mute_audio = gSavedSettings.getBOOL("MuteAudio");
if (!gViewerWindow->getActive() && (gSavedSettings.getBOOL("MuteWhenMinimized")))
LLProgressView* progress = gViewerWindow->getProgressView();
BOOL progress_view_visible = FALSE;
if (progress)
{
progress_view_visible = progress->getVisible();
}
if (!gViewerWindow->getActive() && gSavedSettings.getBOOL("MuteWhenMinimized"))
{
mute_audio = TRUE;
}
@ -114,7 +124,7 @@ void audio_update_volume(bool force_update)
gAudiop->setDopplerFactor(gSavedSettings.getF32("AudioLevelDoppler"));
gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff"));
gAudiop->setMuted(mute_audio);
gAudiop->setMuted(mute_audio || progress_view_visible);
if (force_update)
{
@ -136,7 +146,7 @@ void audio_update_volume(bool force_update)
F32 music_volume = gSavedSettings.getF32("AudioLevelMusic");
BOOL music_muted = gSavedSettings.getBOOL("MuteMusic");
music_volume = mute_volume * master_volume * music_volume;
gAudiop->setInternetStreamGain ( music_muted ? 0.f : music_volume );
gAudiop->setInternetStreamGain ( music_muted || progress_view_visible ? 0.f : music_volume );
}

View File

@ -344,6 +344,8 @@ static LLViewerMedia::impl_id_map sViewerMediaTextureIDMap;
static LLTimer sMediaCreateTimer;
static const F32 LLVIEWERMEDIA_CREATE_DELAY = 1.0f;
static F32 sGlobalVolume = 1.0f;
static bool sForceUpdate = false;
static LLUUID sOnlyAudibleTextureID = LLUUID::null;
static F64 sLowestLoadableImplInterest = 0.0f;
static bool sAnyMediaShowing = false;
static boost::signals2::connection sTeleportFinishConnection;
@ -606,7 +608,7 @@ bool LLViewerMedia::textureHasMedia(const LLUUID& texture_id)
// static
void LLViewerMedia::setVolume(F32 volume)
{
if(volume != sGlobalVolume)
if(volume != sGlobalVolume || sForceUpdate)
{
sGlobalVolume = volume;
impl_list::iterator iter = sViewerMediaImplList.begin();
@ -617,6 +619,8 @@ void LLViewerMedia::setVolume(F32 volume)
LLViewerMediaImpl* pimpl = *iter;
pimpl->updateVolume();
}
sForceUpdate = false;
}
}
@ -1626,6 +1630,15 @@ void LLViewerMedia::onTeleportFinished()
gSavedSettings.setBOOL("MediaTentativeAutoPlay", true);
}
//////////////////////////////////////////////////////////////////////////////////////////
// static
void LLViewerMedia::setOnlyAudibleMediaTextureID(const LLUUID& texture_id)
{
sOnlyAudibleTextureID = texture_id;
sForceUpdate = true;
}
//////////////////////////////////////////////////////////////////////////////////////////
// LLViewerMediaImpl
//////////////////////////////////////////////////////////////////////////////////////////
@ -2188,7 +2201,14 @@ void LLViewerMediaImpl::updateVolume()
}
}
mMediaSource->setVolume(volume);
if (sOnlyAudibleTextureID == LLUUID::null || sOnlyAudibleTextureID == mTextureId)
{
mMediaSource->setVolume(volume);
}
else
{
mMediaSource->setVolume(0.0f);
}
}
}

View File

@ -160,6 +160,8 @@ public:
static void createSpareBrowserMediaSource();
static LLPluginClassMedia* getSpareBrowserMediaSource();
static void setOnlyAudibleMediaTextureID(const LLUUID& texture_id);
private:
static void setOpenIDCookie();

View File

@ -4531,6 +4531,14 @@ void LLViewerWindow::setShowProgress(const BOOL show)
}
}
void LLViewerWindow::setStartupComplete()
{
if (mProgressView)
{
mProgressView->setStartupComplete();
}
}
BOOL LLViewerWindow::getShowProgress() const
{
return (mProgressView && mProgressView->getVisible());

View File

@ -272,6 +272,7 @@ public:
void setProgressCancelButtonVisible( BOOL b, const std::string& label = LLStringUtil::null );
LLProgressView *getProgressView() const;
void revealIntroPanel();
void setStartupComplete();
void updateObjectUnderCursor();