diff options
23 files changed, 125 insertions, 89 deletions
| diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp index a45ab5a09c..2baf140e6a 100644 --- a/indra/llinventory/llsettingsdaycycle.cpp +++ b/indra/llinventory/llsettingsdaycycle.cpp @@ -143,10 +143,6 @@ LLSettingsDay::LLSettingsDay() :  //=========================================================================  LLSD& LLSettingsDay::getSettings()  { -    if (mDaySettings.size() > 0) -    { -        return mDaySettings; -    }      mDaySettings = LLSD::emptyMap();      LLSD& settings = LLSettingsBase::getSettings(); diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp index 98825e031f..03beebd9e1 100644 --- a/indra/llinventory/llsettingssky.cpp +++ b/indra/llinventory/llsettingssky.cpp @@ -1996,6 +1996,7 @@ F32 LLSettingsSky::getCloudShadow() const  void LLSettingsSky::setCloudShadow(F32 val)  {      mCloudShadow = val; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2052,6 +2053,7 @@ F32 LLSettingsSky::getMaxY() const  void LLSettingsSky::setMaxY(F32 val)  {      mMaxY = val; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2063,6 +2065,7 @@ LLQuaternion LLSettingsSky::getMoonRotation() const  void LLSettingsSky::setMoonRotation(const LLQuaternion &val)  {      mMoonRotation = val; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2074,6 +2077,7 @@ F32 LLSettingsSky::getMoonScale() const  void LLSettingsSky::setMoonScale(F32 val)  {      mMoonScale = val; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2096,6 +2100,7 @@ F32 LLSettingsSky::getMoonBrightness() const  void LLSettingsSky::setMoonBrightness(F32 brightness_factor)  {      mMoonBrightness = brightness_factor; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2132,6 +2137,7 @@ LLColor3 LLSettingsSky::getSunlightColorClamped() const  void LLSettingsSky::setSunlightColor(const LLColor3 &val)  {      mSunlightColor = val; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2143,6 +2149,7 @@ LLQuaternion LLSettingsSky::getSunRotation() const  void LLSettingsSky::setSunRotation(const LLQuaternion &val)  {      mSunRotation = val; +    setDirtyFlag(true);      setLLSDDirty();  } @@ -2154,6 +2161,7 @@ F32 LLSettingsSky::getSunScale() const  void LLSettingsSky::setSunScale(F32 val)  {      mSunScale = val; +    setDirtyFlag(true);      setLLSDDirty();  } diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index d60d6cdaac..4e3e49ec9f 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -97,7 +97,7 @@ void LLModel::offsetMesh(const LLVector3& pivotPoint)      for (LLVolumeFace& face : mVolumeFaces)      { -        for (U32 i = 0; i < face.mNumVertices; ++i) +        for (S32 i = 0; i < face.mNumVertices; ++i)          {              face.mPositions[i].add(pivot);          } diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h index af5bbf2da8..309c5df64c 100644 --- a/indra/llprimitive/llmodel.h +++ b/indra/llprimitive/llmodel.h @@ -207,7 +207,7 @@ public:      void trimVolumeFacesToSize(U32 new_count = LL_SCULPT_MESH_MAX_FACES, LLVolume::face_list_t* remainder = NULL);      void remapVolumeFaces();      void optimizeVolumeFaces(); -    void offsetMesh(const LLVector3& pivotPoint); +    void offsetMesh( const LLVector3& pivotPoint );      void getNormalizedScaleTranslation(LLVector3& scale_out, LLVector3& translation_out) const;      LLVector3 getTransformedCenter(const LLMatrix4& mat); diff --git a/indra/llprimitive/llmodelloader.h b/indra/llprimitive/llmodelloader.h index 637dabe08a..530e61e2b8 100644 --- a/indra/llprimitive/llmodelloader.h +++ b/indra/llprimitive/llmodelloader.h @@ -156,12 +156,12 @@ public:      bool loadFromSLM(const std::string& filename);      void loadModelCallback(); -    void loadTextures(); // called in the main thread. +    void loadTextures() ; // called in the main thread.      void setLoadState(U32 state);      void stretch_extents(const LLModel* model, const LLMatrix4& mat); -    S32 mNumOfFetchingTextures; // updated in the main thread +    S32 mNumOfFetchingTextures ; // updated in the main thread      bool areTexturesReady() { return !mNumOfFetchingTextures; } // called in the main thread.      bool verifyCount( int expected, int result ); diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index 5a9b58f160..61ac160b50 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1378,12 +1378,16 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt              { //GL_ALPHA is deprecated, convert to RGBA                  if (pixels != nullptr)                  { -                    scratch.reset(new(std::nothrow) U32[width * height]); -                    if (!scratch) +                    try +                    { +                        scratch.reset(new U32[width * height]); +                    } +                    catch (std::bad_alloc)                      {                          LLError::LLUserWarningMsg::showOutOfMemory();                          LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) -                            << " bytes for a manual image W" << width << " H" << height << LL_ENDL; +                            << " bytes for a manual image W" << width << " H" << height +                            << " Pixformat: GL_ALPHA, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL;                      }                      U32 pixel_count = (U32)(width * height); @@ -1405,12 +1409,16 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt              { //GL_LUMINANCE_ALPHA is deprecated, convert to RGBA                  if (pixels != nullptr)                  { -                    scratch.reset(new(std::nothrow) U32[width * height]); -                    if (!scratch) +                    try +                    { +                        scratch.reset(new U32[width * height]); +                    } +                    catch (std::bad_alloc)                      {                          LLError::LLUserWarningMsg::showOutOfMemory();                          LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) -                            << " bytes for a manual image W" << width << " H" << height << LL_ENDL; +                            << " bytes for a manual image W" << width << " H" << height +                            << " Pixformat: GL_LUMINANCE_ALPHA, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL;                      }                      U32 pixel_count = (U32)(width * height); @@ -1435,12 +1443,16 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt              { //GL_LUMINANCE_ALPHA is deprecated, convert to RGB                  if (pixels != nullptr)                  { -                    scratch.reset(new(std::nothrow) U32[width * height]); -                    if (!scratch) +                    try +                    { +                        scratch.reset(new U32[width * height]); +                    } +                    catch (std::bad_alloc)                      {                          LLError::LLUserWarningMsg::showOutOfMemory();                          LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) -                            << " bytes for a manual image W" << width << " H" << height << LL_ENDL; +                            << " bytes for a manual image W" << width << " H" << height +                            << " Pixformat: GL_LUMINANCE, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL;                      }                      U32 pixel_count = (U32)(width * height); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index fb0d1e4aee..dde824b111 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2480,6 +2480,17 @@        <key>Value</key>        <integer>1</integer>      </map> +    <key>UseGroupMemberPagination</key> +    <map> +      <key>Comment</key> +      <string>Enable pagination of group memeber list 50 members at a time.</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>0</integer> +    </map>      <key>DisplayTimecode</key>      <map>        <key>Comment</key> @@ -13486,7 +13497,7 @@        <key>Type</key>        <string>Boolean</string>        <key>Value</key> -      <integer>0</integer> +      <integer>1</integer>      </map>      <key>WarningsAsChat</key>      <map> diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 24fd7928a6..553d6c1d32 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -77,7 +77,7 @@ RenderScreenSpaceReflections 1  1  RenderMirrors				1	1  RenderHeroProbeResolution	1	2048  RenderHeroProbeDistance		1	16 -RenderHeroProbeUpdateRate	1	4 +RenderHeroProbeUpdateRate	1	6  RenderHeroProbeConservativeUpdateMultiplier 1 16  RenderDownScaleMethod       1   1  RenderCASSharpness          1   1 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 2e64ca2683..cc74e8ec3c 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -77,7 +77,7 @@ RenderReflectionProbeLevel  1   3  RenderMirrors				1	1  RenderHeroProbeResolution	1	2048  RenderHeroProbeDistance		1	16 -RenderHeroProbeUpdateRate	1	4 +RenderHeroProbeUpdateRate	1	6  RenderHeroProbeConservativeUpdateMultiplier 1 16  RenderCASSharpness          1   1 diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index c8b0adbaf8..26c080bf89 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -355,20 +355,6 @@ bool LLAgent::isMicrophoneOn(const LLSD& sdname)      return LLVoiceClient::getInstance()->getUserPTTState();  } -//static -void LLAgent::toggleHearMediaSoundFromAvatar() -{ -    const S32 mediaSoundsEarLocation = gSavedSettings.getS32("MediaSoundsEarLocation"); -    gSavedSettings.setS32("MediaSoundsEarLocation", !mediaSoundsEarLocation); -} - -//static -void LLAgent::toggleHearVoiceFromAvatar() -{ -    const S32 voiceEarLocation = gSavedSettings.getS32("VoiceEarLocation"); -    gSavedSettings.setS32("VoiceEarLocation", !voiceEarLocation); -} -  // ************************************************************  // Enabled this definition to compile a 'hacked' viewer that  // locally believes the end user has godlike powers. diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index afc34f747f..c1d3c6c14b 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -375,13 +375,6 @@ private:      bool            mVoiceConnected;      //-------------------------------------------------------------------- -    // Sound -    //-------------------------------------------------------------------- -public: -    static void     toggleHearMediaSoundFromAvatar(); -    static void     toggleHearVoiceFromAvatar(); - -    //--------------------------------------------------------------------      // Chat      //--------------------------------------------------------------------  public: diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 722c565300..05bd704556 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -2087,7 +2087,6 @@ void LLEnvironment::coroUpdateEnvironment(S32 parcel_id, S32 track_no, UpdateInf              body[KEY_ENVIRONMENT][KEY_DAYLENGTH] = updates->mDayLength;          } -        // server only allows positive values          if (updates->mDayOffset > 0)          {              body[KEY_ENVIRONMENT][KEY_DAYOFFSET] = updates->mDayOffset; diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 1f214344ff..a5bed1dbe6 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -864,7 +864,7 @@ LLMeshRepoThread::~LLMeshRepoThread()      while (!mSkinInfoQ.empty())      { -        delete mSkinInfoQ.front(); +        llassert(mSkinInfoQ.front()->getNumRefs() == 1);          mSkinInfoQ.pop_front();      } @@ -2058,13 +2058,15 @@ bool LLMeshRepoThread::skinInfoReceived(const LLUUID& mesh_id, U8* data, S32 dat              LLSkinningUtil::initJointNums(info, gAgentAvatarp);          } -        // remember the skin info in the background thread so we can use it +        // copy the skin info for the background thread so we can use it          // to calculate per-joint bounding boxes when volumes are loaded -        mSkinMap[mesh_id] = info; +        mSkinMap[mesh_id] = new LLMeshSkinInfo(*info);          { +            // Move the LLPointer in to the skin info queue to avoid reference +            // count modification after we leave the lock              LLMutexLock lock(mMutex); -            mSkinInfoQ.push_back(info); +            mSkinInfoQ.emplace_back(std::move(info));          }      } diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp index 5305a8285f..7de16e0056 100644 --- a/indra/newview/llmodelpreview.cpp +++ b/indra/newview/llmodelpreview.cpp @@ -3365,7 +3365,7 @@ bool LLModelPreview::render()          mFMP->childSetEnabled("upload_joints", upload_skin);      } -    F32 explode = (F32)mFMP->childGetValue("physics_explode").asReal(); +    F32 physics_explode = (F32)mFMP->childGetValue("physics_explode").asReal();      LLGLDepthTest gls_depth(GL_TRUE); // SL-12781 re-enable z-buffer for 3D model preview @@ -3594,12 +3594,12 @@ bool LLModelPreview::render()                                      for (U32 i = 0; i < physics.mMesh.size(); ++i)                                      { -                                        if (explode > 0.f) +                                        if (physics_explode > 0.f)                                          {                                              gGL.pushMatrix();                                              LLVector3 offset = model->mHullCenter[i] - model->mCenterOfHullCenters; -                                            offset *= explode; +                                            offset *= physics_explode;                                              gGL.translatef(offset.mV[0], offset.mV[1], offset.mV[2]);                                          } @@ -3614,7 +3614,7 @@ bool LLModelPreview::render()                                          gGL.diffuseColor4ubv(hull_colors[i].mV);                                          LLVertexBuffer::drawArrays(LLRender::TRIANGLES, physics.mMesh[i].mPositions); -                                        if (explode > 0.f) +                                        if (physics_explode > 0.f)                                          {                                              gGL.popMatrix();                                          } @@ -3629,7 +3629,8 @@ bool LLModelPreview::render()                          if (render_mesh)                          {                              auto num_models = mVertexBuffer[LLModel::LOD_PHYSICS][model].size(); -                            if (pass > 0){ +                            if (pass > 0) +                            {                                  for (size_t i = 0; i < num_models; ++i)                                  {                                      gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); @@ -3817,7 +3818,8 @@ bool LLModelPreview::render()                              }                          } -                        for (U32 i = 0, e = static_cast<U32>(mVertexBuffer[mPreviewLOD][model].size()); i < e; ++i) +                        std::size_t size = mVertexBuffer[mPreviewLOD][model].size(); +                        for (U32 i = 0; i < size; ++i)                          {                              model->mSkinInfo.updateHash();                              LLRenderPass::uploadMatrixPalette(mPreviewAvatar, &model->mSkinInfo); diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp index 7dd9f6e86e..be61c44b7c 100644 --- a/indra/newview/llpanelenvironment.cpp +++ b/indra/newview/llpanelenvironment.cpp @@ -287,8 +287,8 @@ void LLPanelEnvironmentInfo::refresh()      F32Hours daylength(mCurrentEnvironment->mDayLength);      F32Hours dayoffset(mCurrentEnvironment->mDayOffset); -    while (dayoffset.value() >= daylength.value()) -        dayoffset -= daylength; +    if (dayoffset.value() > 12.0f) +        dayoffset -= F32Hours(24.0);      mSliderDayLength->setValue(daylength.value());      mSliderDayOffset->setValue(dayoffset.value()); @@ -717,11 +717,6 @@ void LLPanelEnvironmentInfo::onSldDayLengthChanged(F32 value)          F32Hours daylength(value);          mCurrentEnvironment->mDayLength = daylength; -        F32 offset = (F32)mSliderDayOffset->getValue().asReal(); -        if (offset <= 0.0f) -        { -            onSldDayOffsetChanged(offset); -        }          setDirtyFlag(DIRTY_FLAG_DAYLENGTH);          udpateApparentTimeOfDay(); @@ -734,9 +729,8 @@ void LLPanelEnvironmentInfo::onSldDayOffsetChanged(F32 value)      {          F32Hours dayoffset(value); -        // server only allows positive values -        while (dayoffset.value() <= 0.0f) -            dayoffset += mCurrentEnvironment->mDayLength; +        if (dayoffset.value() <= 0.0f) +            dayoffset += F32Hours(24.0);          mCurrentEnvironment->mDayOffset = dayoffset;          setDirtyFlag(DIRTY_FLAG_DAYOFFSET); @@ -928,7 +922,7 @@ void LLPanelEnvironmentInfo::udpateApparentTimeOfDay()  {      static const F32 SECONDSINDAY(24.0 * 60.0 * 60.0); -    if ((!mCurrentEnvironment) || (mCurrentEnvironment->mDayLength.value() < 1.0)) +    if ((!mCurrentEnvironment) || (mCurrentEnvironment->mDayLength.value() < 1.0) || (mCurrentEnvironment->mDayOffset.value() < 1.0))      {          mLabelApparentTime->setVisible(false);          return; diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 4404efff98..e1f2d7588c 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -1360,7 +1360,8 @@ void LLPanelGroupMembersSubTab::activate()      {          if (!gdatap || !gdatap->isMemberDataComplete())          { -            const U32 page_size = 50; +            static LLCachedControl<bool> enable_pagination(gSavedSettings, "UseGroupMemberPagination", false); +            const U32 page_size = enable_pagination() ? 50 : 0;              std::string sort_column_name = mMembersList->getSortColumnName();              bool sort_descending = !mMembersList->getSortAscending();              LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID, page_size, 0, sort_column_name, sort_descending); diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 34b8535c84..fee0bbcda4 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -671,7 +671,8 @@ void LLSettingsVOSky::updateSettings()      // After some A/B comparison of relesae vs EEP, tweak to allow strength to fall below 2      // at night, for better match. (mSceneLightStrength is a divisor, so lower value means brighter      // local lights) -    F32 sun_dynamic_range = llmax(gSavedSettings.getF32("RenderSunDynamicRange"), 0.0001f); +    LLCachedControl<F32> sdr(gSavedSettings, "RenderSunDynamicRange", 1.f); +    F32 sun_dynamic_range = llmax(sdr(), 0.0001f);      mSceneLightStrength = 2.0f * (0.75f + sun_dynamic_range * dp);      gSky.setSunAndMoonDirectionsCFR(sun_direction, moon_direction); diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 69c40066b4..ed91214bd0 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -2090,7 +2090,7 @@ bool LLTextureFetchWorker::deleteOK()      // Allow any pending reads or writes to complete      if (mCacheReadHandle != LLTextureCache::nullHandle())      { -        if (mFetcher->mTextureCache->readComplete(mCacheReadHandle, true)) +        if (!mFetcher->mTextureCache || mFetcher->mTextureCache->readComplete(mCacheReadHandle, true))          {              mCacheReadHandle = LLTextureCache::nullHandle();          } @@ -2101,7 +2101,7 @@ bool LLTextureFetchWorker::deleteOK()      }      if (mCacheWriteHandle != LLTextureCache::nullHandle())      { -        if (mFetcher->mTextureCache->writeComplete(mCacheWriteHandle)) +        if (!mFetcher->mTextureCache || mFetcher->mTextureCache->writeComplete(mCacheWriteHandle))          {              mCacheWriteHandle = LLTextureCache::nullHandle();          } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index ec936383f7..a78fe270bc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -9600,8 +9600,6 @@ void initialize_menus()      commit.add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _2));      enable.add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2));      enable.add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); -    commit.add("Agent.ToggleHearMediaSoundFromAvatar", boost::bind(&LLAgent::toggleHearMediaSoundFromAvatar)); -    commit.add("Agent.ToggleHearVoiceFromAvatar", boost::bind(&LLAgent::toggleHearVoiceFromAvatar));      // File menu      init_menu_file(); diff --git a/indra/newview/llvoicevisualizer.cpp b/indra/newview/llvoicevisualizer.cpp index 7691ac54f3..c5704982b8 100644 --- a/indra/newview/llvoicevisualizer.cpp +++ b/indra/newview/llvoicevisualizer.cpp @@ -337,7 +337,7 @@ void LLVoiceVisualizer::lipSyncOohAah( F32& ooh, F32& aah )  //---------------------------------------------------  void LLVoiceVisualizer::render()  { -    static LLCachedControl<bool> show_visualizer(gSavedSettings, "VoiceVisualizerEnabled", false); +    static LLCachedControl<bool> show_visualizer(gSavedSettings, "VoiceVisualizerEnabled", true);      if (!mVoiceEnabled || !show_visualizer)      {          return; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index ca4edda7c9..069a70b63b 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -7330,7 +7330,7 @@ void LLPipeline::generateGlow(LLRenderTarget* src)  void LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst)  {      static LLCachedControl<F32> cas_sharpness(gSavedSettings, "RenderCASSharpness", 0.4f); -    if (cas_sharpness == 0.0f) +    if (cas_sharpness == 0.0f || !gCASProgram.isComplete())      {          gPipeline.copyRenderTarget(src, dst);          return; diff --git a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml index 2fa965b6e4..73ea0f548e 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml @@ -943,6 +943,57 @@      width="260">    </slider>    <!-- End of Sharpening Settings--> +  <!-- Tone Mapping Settings --> +  <text +    type="string" +    length="1" +    follows="left|top" +    height="16" +    layout="topleft" +    left="420" +    name="TonemapTypeText" +    text_readonly_color="LabelDisabledColor" +    top_delta="25" +    width="128"> +    Tone Mapper: +  </text> +  <combo_box +    control_name="RenderTonemapType" +    height="18" +    layout="topleft" +    left_delta="130" +    top_delta="0" +    name="TonemapType" +    width="150"> +     <combo_box.item +       label="Khronos Neutral" +       name="0" +       value="0"/> +     <combo_box.item +       label="ACES" +       name="1" +       value="1"/> +  </combo_box> +  <slider +   control_name="RenderTonemapMix" +   decimal_digits="1" +   follows="left|top" +   height="16" +   increment="0.1" +   initial_value="1" +   label="Tone Mapping Mix:" +   tool_tip="Mix between linear and tone mapped colors" +   label_width="145" +   layout="topleft" +   left="420" +   min_val="0.0" +   max_val="1.0" +   name="TonemapMix" +   show_text="true" +   top_delta="22" +   width="260"> +  </slider> +  <!-- End of Tone Mapping Settings-->    <!-- End of Advanced Settings block -->  	<view_border        bevel_style="in" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 3675eead41..786ef6e4d9 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -465,24 +465,6 @@            <menu_item_check.on_click             function="World.AlwaysRun" />          </menu_item_check> -        <menu_item_check -          label="Hear Media and Sound from Avatar" -          name="Hear Media and Sound from Avatar"> -          <menu_item_check.on_check -           control="MediaSoundsEarLocation" /> -          <menu_item_check.on_click -           function="Agent.ToggleHearMediaSoundFromAvatar" /> -        </menu_item_check> -        <menu_item_check -          label="Hear Voice from Avatar" -          name="Hear Voice from Avatar"> -          <menu_item_check.on_check -           control="VoiceEarLocation" /> -          <menu_item_check.on_click -           function="Agent.ToggleHearVoiceFromAvatar" /> -          <menu_item_call.on_enable -           control="EnableVoiceChat" /> -        </menu_item_check>        <menu_item_separator/>        <menu_item_check         label="Gestures..." | 
