summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llcorehttp/_httpoprequest.cpp4
-rw-r--r--indra/llcorehttp/httpcommon.cpp2
-rw-r--r--indra/llwindow/llwindow.h2
-rw-r--r--indra/llwindow/llwindowheadless.h2
-rw-r--r--indra/newview/llappviewerwin32.cpp6
-rw-r--r--indra/newview/llviewermenu.cpp1
-rw-r--r--indra/newview/llviewerobject.cpp1
-rw-r--r--indra/newview/llviewerobject.h4
-rw-r--r--indra/newview/llviewerwindow.cpp2
-rw-r--r--indra/newview/llvoavatar.cpp2
-rw-r--r--indra/newview/rlvdefines.h1
-rw-r--r--indra/newview/rlvhandler.cpp8
-rw-r--r--indra/newview/rlvhelper.cpp1
-rw-r--r--indra/newview/skins/contrast/textures/cloud-particle.j2cbin4049 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/cloud-particle.pngbin0 -> 42378 bytes
-rw-r--r--indra/newview/skins/contrast/textures/textures.xml2
-rw-r--r--indra/newview/skins/default/textures/cloud-particle.j2cbin4049 -> 0 bytes
-rw-r--r--indra/newview/skins/default/textures/cloud-particle.pngbin0 -> 42378 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml2
19 files changed, 34 insertions, 6 deletions
diff --git a/indra/llcorehttp/_httpoprequest.cpp b/indra/llcorehttp/_httpoprequest.cpp
index 6186e7a308..56c0a97635 100644
--- a/indra/llcorehttp/_httpoprequest.cpp
+++ b/indra/llcorehttp/_httpoprequest.cpp
@@ -513,7 +513,9 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)
check_curl_easy_setopt(mCurlHandle, CURLOPT_NOPROGRESS, 1);
check_curl_easy_setopt(mCurlHandle, CURLOPT_URL, mReqURL.c_str());
check_curl_easy_setopt(mCurlHandle, CURLOPT_PRIVATE, getHandle());
+#if LIBCURL_VERSION_MAJOR < 8
check_curl_easy_setopt(mCurlHandle, CURLOPT_ENCODING, "");
+#endif
check_curl_easy_setopt(mCurlHandle, CURLOPT_AUTOREFERER, 1);
check_curl_easy_setopt(mCurlHandle, CURLOPT_MAXREDIRS, HTTP_REDIRECTS_DEFAULT);
@@ -603,7 +605,9 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)
case HOR_POST:
{
check_curl_easy_setopt(mCurlHandle, CURLOPT_POST, 1);
+#if LIBCURL_VERSION_MAJOR < 8
check_curl_easy_setopt(mCurlHandle, CURLOPT_ENCODING, "");
+#endif
long data_size(0);
if (mReqBody)
{
diff --git a/indra/llcorehttp/httpcommon.cpp b/indra/llcorehttp/httpcommon.cpp
index 315ff15ebb..2b09653d8e 100644
--- a/indra/llcorehttp/httpcommon.cpp
+++ b/indra/llcorehttp/httpcommon.cpp
@@ -289,8 +289,10 @@ CURL *getCurlTemplateHandle()
check_curl_code(result, CURLOPT_NOSIGNAL);
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_NOPROGRESS, 1);
check_curl_code(result, CURLOPT_NOPROGRESS);
+#if LIBCURL_VERSION_MAJOR < 8
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_ENCODING, "");
check_curl_code(result, CURLOPT_ENCODING);
+#endif
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_AUTOREFERER, 1);
check_curl_code(result, CURLOPT_AUTOREFERER);
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_FOLLOWLOCATION, 1);
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index 5e06e665f3..37e681c41b 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -92,7 +92,7 @@ public:
virtual bool setCursorPosition(LLCoordWindow position) = 0;
virtual bool getCursorPosition(LLCoordWindow *position) = 0;
-#if LL_WINDOWS
+#if LL_WINDOWS && !LL_SDL
virtual bool getCursorDelta(LLCoordCommon* delta) = 0;
#endif
virtual void showCursor() = 0;
diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h
index 5696b69a59..acec401133 100644
--- a/indra/llwindow/llwindowheadless.h
+++ b/indra/llwindow/llwindowheadless.h
@@ -60,7 +60,7 @@ public:
/*virtual*/ void toggleVSync(bool enable_vsync) override { }
/*virtual*/ bool setCursorPosition(LLCoordWindow position) override {return false;}
/*virtual*/ bool getCursorPosition(LLCoordWindow *position) override {return false;}
-#if LL_WINDOWS
+#if LL_WINDOWS && !LL_SDL
/*virtual*/ bool getCursorDelta(LLCoordCommon* delta) override { return false; }
#endif
/*virtual*/ void showCursor() override {}
diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp
index 3e51a900ce..67a44cfb27 100644
--- a/indra/newview/llappviewerwin32.cpp
+++ b/indra/newview/llappviewerwin32.cpp
@@ -31,7 +31,9 @@
#endif
#include "llwin32headers.h"
+#if !LL_SDL
#include "llwindowwin32.h" // *FIX: for setting gIconResource.
+#endif
#include "llappviewerwin32.h"
@@ -423,7 +425,9 @@ int APIENTRY WINMAIN(HINSTANCE hInstance,
DWORD heap_enable_lfh_error[MAX_HEAPS];
S32 num_heaps = 0;
+#if !LL_SDL
LLWindowWin32::setDPIAwareness();
+#endif
#if WINDOWS_CRT_MEM_CHECKS && !INCLUDE_VLD
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); // dump memory leaks on exit
@@ -452,8 +456,10 @@ int APIENTRY WINMAIN(HINSTANCE hInstance,
#endif
#endif
+#if !LL_SDL
// *FIX: global
gIconResource = MAKEINTRESOURCE(IDI_LL_ICON);
+#endif
LLAppViewerWin32* viewer_app_ptr = new LLAppViewerWin32(ll_convert_wide_to_string(pCmdLine).c_str());
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index cb2a8a54b7..c3bb8ef4c4 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -7700,6 +7700,7 @@ bool enable_detach(const LLSD&)
// Only enable detach if all faces of object are selected
if (!object ||
!object->isAttachment() ||
+ object->isLocked() ||
!LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES ))
{
return false;
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 8d90187e91..d64c0aa0d5 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -310,6 +310,7 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe
mAttachmentItemID(LLUUID::null),
mLastUpdateType(OUT_UNKNOWN),
mLastUpdateCached(false),
+ mLocked(false),
mCachedMuteListUpdateTime(0),
mCachedOwnerInMuteList(false),
mRiggedAttachedWarned(false)
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index 2b52ea2076..972f8cf846 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -974,10 +974,14 @@ public:
LLJointRiggingInfoTab mJointRiggingInfoTab;
+ bool isLocked() const { return mLocked; }
+ void setLocked(bool locked) { mLocked = locked; }
+
private:
LLUUID mAttachmentItemID; // ItemID of the associated object is in user inventory.
EObjectUpdateType mLastUpdateType;
bool mLastUpdateCached;
+ bool mLocked;
public:
// reflection probe state
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 5c84346917..2b02d5165f 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -3848,7 +3848,7 @@ void LLViewerWindow::updateLayout()
void LLViewerWindow::updateMouseDelta()
{
-#if LL_WINDOWS
+#if LL_WINDOWS && !LL_SDL
LLCoordCommon delta;
mWindow->getCursorDelta(&delta);
S32 dx = delta.mX;
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index a6d50af025..7ea70a781b 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -1191,7 +1191,7 @@ void LLVOAvatar::initClass()
LLControlAvatar::sRegionChangedSlot = gAgent.addRegionChangedCallback(&LLControlAvatar::onRegionChanged);
- sCloudTexture = LLViewerTextureManager::getFetchedTextureFromFile("cloud-particle.j2c");
+ sCloudTexture = LLViewerTextureManager::getFetchedTextureFromFile("cloud-particle.png");
}
diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h
index 132aae9b2c..c6ba135f3e 100644
--- a/indra/newview/rlvdefines.h
+++ b/indra/newview/rlvdefines.h
@@ -97,6 +97,7 @@ namespace Rlv
Sit,
SitGround,
Unsit,
+ Detach,
GetCommand,
Count,
diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp
index 122a87ec43..67739ec72f 100644
--- a/indra/newview/rlvhandler.cpp
+++ b/indra/newview/rlvhandler.cpp
@@ -32,6 +32,7 @@
#include "llviewercontrol.h"
#include "llviewermenu.h"
#include "llviewerobject.h"
+#include "llviewerobjectlist.h"
#include "rlvcommon.h"
#include "rlvhandler.h"
@@ -294,4 +295,11 @@ ECmdRet BehaviourToggleHandler<EBehaviour::Unsit>::onCommand(const RlvCommand& r
return ECmdRet::Succeeded;
}
+template<> template<>
+ECmdRet BehaviourToggleHandler<EBehaviour::Detach>::onCommand(const RlvCommand& rlvCmd, bool& toggle)
+{
+ gObjectList.findObject(rlvCmd.getObjectID())->setLocked(!toggle);
+ return ECmdRet::Succeeded;
+}
+
// ============================================================================
diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp
index ccb4675cbb..b4abbc04f3 100644
--- a/indra/newview/rlvhelper.cpp
+++ b/indra/newview/rlvhelper.cpp
@@ -63,6 +63,7 @@ BehaviourDictionary::BehaviourDictionary()
// AddRem
addEntry(new BehaviourProcessor<EBehaviour::Sit>("sit"));
addEntry(new BehaviourProcessor<EBehaviour::Unsit>("unsit"));
+ addEntry(new BehaviourProcessor<EBehaviour::Detach>("detach"));
// Populate mString2InfoMap (the tuple <behaviour, type> should be unique)
for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList)
diff --git a/indra/newview/skins/contrast/textures/cloud-particle.j2c b/indra/newview/skins/contrast/textures/cloud-particle.j2c
deleted file mode 100644
index 6c03bf6d05..0000000000
--- a/indra/newview/skins/contrast/textures/cloud-particle.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/cloud-particle.png b/indra/newview/skins/contrast/textures/cloud-particle.png
new file mode 100644
index 0000000000..f2080ddb9f
--- /dev/null
+++ b/indra/newview/skins/contrast/textures/cloud-particle.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/textures.xml b/indra/newview/skins/contrast/textures/textures.xml
index f824816183..1fe1ff333a 100644
--- a/indra/newview/skins/contrast/textures/textures.xml
+++ b/indra/newview/skins/contrast/textures/textures.xml
@@ -796,7 +796,7 @@ with the same filename but different name
<texture name="script_error.j2c" use_mips="true" />
<texture name="silhouette.j2c" use_mips="true" />
<texture name="foot_shadow.j2c" use_mips="true" />
- <texture name="cloud-particle.j2c" use_mips="true" />
+ <texture name="cloud-particle.png" use_mips="true" />
<texture name="transparent.j2c" use_mips="true" />
<!--WARNING OLD ART BELOW *do not use*-->
diff --git a/indra/newview/skins/default/textures/cloud-particle.j2c b/indra/newview/skins/default/textures/cloud-particle.j2c
deleted file mode 100644
index 6c03bf6d05..0000000000
--- a/indra/newview/skins/default/textures/cloud-particle.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/default/textures/cloud-particle.png b/indra/newview/skins/default/textures/cloud-particle.png
new file mode 100644
index 0000000000..f2080ddb9f
--- /dev/null
+++ b/indra/newview/skins/default/textures/cloud-particle.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index f824816183..1fe1ff333a 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -796,7 +796,7 @@ with the same filename but different name
<texture name="script_error.j2c" use_mips="true" />
<texture name="silhouette.j2c" use_mips="true" />
<texture name="foot_shadow.j2c" use_mips="true" />
- <texture name="cloud-particle.j2c" use_mips="true" />
+ <texture name="cloud-particle.png" use_mips="true" />
<texture name="transparent.j2c" use_mips="true" />
<!--WARNING OLD ART BELOW *do not use*-->