diff --git a/.hgtags b/.hgtags index 246b27176d..a3c18ef22f 100755 --- a/.hgtags +++ b/.hgtags @@ -558,3 +558,4 @@ e9d350764dfbf5a46229e627547ef5c1b1eeef00 4.0.2-release b280a1c797a3891e68dbc237e73de9cf19f426e9 4.1.1-release bfbba2244320dc2ae47758cd7edd8fa3b67dc756 4.1.2-release b41e1e7c7876f7656c505f552b5888b4e478f92b 5.0.0-release +c9ce2295012995e3cf5c57bcffcb4870b94c649f 5.0.1-release diff --git a/autobuild.xml b/autobuild.xml index 66d761f162..380d93291b 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1823,9 +1823,9 @@ archive hash - e5a811fa7c9e5641869b58cd58a3e1c6 + 88ab0fb55e82f8cd3a75ee636def785a url - file:///opt/firestorm/kdu-7.8.0-darwin-201604022336-r52.tar.bz2 + file:///opt/firestorm/kdu-7.9.0-darwin-201702032052-r58.tar.bz2 name darwin diff --git a/indra/llcommon/llheteromap.h b/indra/llcommon/llheteromap.h index 9d6f303d08..7e96172333 100644 --- a/indra/llcommon/llheteromap.h +++ b/indra/llcommon/llheteromap.h @@ -77,7 +77,7 @@ private: // not always equal &typeid(A) in some other part. Use special comparator. struct type_info_ptr_comp { - bool operator()(const std::type_info* lhs, const std::type_info* rhs) + bool operator()(const std::type_info* lhs, const std::type_info* rhs) const { return lhs->before(*rhs); } diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 2956c0eb20..a6e6f2d8b0 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -14449,6 +14449,17 @@ Change of this parameter will affect the layout of buttons in notification toast Value 75 + AbuseReportScreenshotDelay + + Comment + Time delay before taking screenshot to avoid UI artifacts. + Persist + 1 + Type + F32 + Value + 0.3 + SpeedTest Comment diff --git a/indra/newview/fslightshare.h b/indra/newview/fslightshare.h index 05d66ea92a..e5b95ace0e 100644 --- a/indra/newview/fslightshare.h +++ b/indra/newview/fslightshare.h @@ -142,7 +142,6 @@ public: bool getState() { return mLightshareState; }; private: - friend class LLSingleton; static void processWater(LightsharePacket* ls_packet); static void processSky(LightsharePacket* ls_packet); void setState(bool has_lightshare); diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 0bf2d502fb..0dcb83bce6 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2105,17 +2105,18 @@ LLVector3 LLAgentCamera::getCameraOffsetInitial() //----------------------------------------------------------------------------- void LLAgentCamera::handleScrollWheel(S32 clicks) { - // Option to disable mouse wheel for camera zooming in/out static LLCachedControl FSDisableMouseWheelCameraZoom(gSavedSettings, "FSDisableMouseWheelCameraZoom"); - if(FSDisableMouseWheelCameraZoom) - { - return; - } - // if (mCameraMode == CAMERA_MODE_FOLLOW && getFocusOnAvatar()) { + // Option to disable mouse wheel for camera zooming in/out + if (FSDisableMouseWheelCameraZoom) + { + return; + } + // + if (!mFollowCam.getPositionLocked()) // not if the followCam position is locked in place { mFollowCam.zoom(clicks); @@ -2141,6 +2142,12 @@ void LLAgentCamera::handleScrollWheel(S32 clicks) F32 zoom_factor = (F32)pow(0.8, -clicks); cameraZoomIn(zoom_factor); } + // Option to disable mouse wheel for camera zooming in/out + else if (FSDisableMouseWheelCameraZoom) + { + return; + } + // else if (mFocusOnAvatar && (mCameraMode == CAMERA_MODE_THIRD_PERSON)) { // Camera focus and offset with CTRL/SHIFT + Scroll wheel diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp index f90e7b42df..1ea072ee58 100644 --- a/indra/newview/llfloaterreporter.cpp +++ b/indra/newview/llfloaterreporter.cpp @@ -35,6 +35,7 @@ #include "llassetstorage.h" #include "llavatarnamecache.h" #include "llcachename.h" +#include "llcallbacklist.h" #include "llcheckboxctrl.h" #include "llfontgl.h" #include "llimagebmp.h" @@ -211,7 +212,7 @@ BOOL LLFloaterReporter::postBuild() // grab the user's name std::string reporter = LLSLURL("agent", gAgent.getID(), "inspect").getSLURLString(); getChild("reporter_field")->setValue(reporter); - + // FIRE-15218: Refresh screenshot button getChild("refresh_screenshot")->setCommitCallback(boost::bind(&LLFloaterReporter::onUpdateScreenshot, this)); @@ -849,8 +850,12 @@ void LLFloaterReporter::takeScreenshot(bool use_prev_screenshot) } } -void LLFloaterReporter::onOpen(const LLSD& key) +// Refresh screenshot button +//void LLFloaterReporter::takeNewSnapshot() +void LLFloaterReporter::takeNewSnapshot(bool refresh) +// { + childSetEnabled("send_btn", true); mImageRaw = new LLImageRaw; const S32 IMAGE_WIDTH = 1024; const S32 IMAGE_HEIGHT = 768; @@ -865,7 +870,10 @@ void LLFloaterReporter::onOpen(const LLSD& key) } setVisible(TRUE); - if(gSavedPerAccountSettings.getBOOL("PreviousScreenshotForReport")) + // Refresh screenshot button + //if(gSavedPerAccountSettings.getBOOL("PreviousScreenshotForReport")) + if(gSavedPerAccountSettings.getBOOL("PreviousScreenshotForReport") && !refresh) + // { std::string screenshot_filename(gDirUtilp->getLindenUserDir() + gDirUtilp->getDirDelimiter() + SCREEN_PREV_FILENAME); mPrevImageRaw = new LLImageRaw; @@ -879,10 +887,20 @@ void LLFloaterReporter::onOpen(const LLSD& key) } } } - takeScreenshot(); } + +void LLFloaterReporter::onOpen(const LLSD& key) +{ + childSetEnabled("send_btn", false); + //Time delay to avoid UI artifacts. MAINT-7067 + // Refresh screenshot button + //doAfterInterval(boost::bind(&LLFloaterReporter::takeNewSnapshot,this), gSavedSettings.getF32("AbuseReportScreenshotDelay")); + doAfterInterval(boost::bind(&LLFloaterReporter::takeNewSnapshot,this, false), gSavedSettings.getF32("AbuseReportScreenshotDelay")); + // +} + void LLFloaterReporter::onLoadScreenshotDialog(const LLSD& notification, const LLSD& response) { S32 option = LLNotificationsUtil::getSelectedOption(notification, response); @@ -958,9 +976,7 @@ void LLFloaterReporter::onClose(bool app_quitting) // FIRE-15368: Don't include floater in screenshot update void LLFloaterReporter::onUpdateScreenshot() { - setVisible(FALSE); - takeScreenshot(); - setVisible(TRUE); + doAfterInterval(boost::bind(&LLFloaterReporter::takeNewSnapshot,this, true), gSavedSettings.getF32("AbuseReportScreenshotDelay")); } // diff --git a/indra/newview/llfloaterreporter.h b/indra/newview/llfloaterreporter.h index d026687bc2..bb8d39e30e 100644 --- a/indra/newview/llfloaterreporter.h +++ b/indra/newview/llfloaterreporter.h @@ -107,6 +107,11 @@ public: void onLoadScreenshotDialog(const LLSD& notification, const LLSD& response); + // Refresh screenshot button + //void takeNewSnapshot(); + void takeNewSnapshot(bool refresh); + // + private: static void show(const LLUUID& object_id, const std::string& avatar_name = LLStringUtil::null, const LLUUID& experience_id = LLUUID::null);