diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/CMakeLists.txt | 28 | ||||
-rw-r--r-- | indra/newview/llappviewerlinux.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llappviewerwin32.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llviewermenu.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llviewerobject.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llviewerobject.h | 4 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 2 | ||||
-rw-r--r-- | indra/newview/rlvdefines.h | 1 | ||||
-rw-r--r-- | indra/newview/rlvhandler.cpp | 8 | ||||
-rw-r--r-- | indra/newview/rlvhelper.cpp | 1 |
10 files changed, 55 insertions, 3 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0ded363901..66806dccea 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -46,6 +46,9 @@ include(VisualLeakDetector) #include(VulkanGltf) include(ZLIBNG) include(LLPrimitive) +if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) + include(UnixInstall) +endif () if (ENABLE_MEDIA_PLUGINS) include(LibVLCPlugin) @@ -1498,6 +1501,7 @@ if (NOT (DARWIN OR WINDOWS)) llappviewerlinux.cpp PROPERTIES COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" + COMPILE_FLAGS "-DAPP_PLUGIN_DIR=\\\"${INSTALL_LIBRARY_DIR}\\\"" ) #LIST(APPEND viewer_SOURCE_FILES llappviewerlinux_api_dbus.cpp) if (NOT CMAKE_CXX_COMPILER_ID MATCHES AppleClang) @@ -1761,7 +1765,29 @@ if (PACKAGE) set(VIEWER_PACKAGE_DOMAIN_NAME ${DOMAIN_NAME}.net) endif () -if (CMAKE_COMMAND MATCHES /usr/bin/cmake OR WINDOWS) +if (CMAKE_COMMAND MATCHES /usr/bin/cmake) + add_custom_command( + TARGET ${VIEWER_BINARY_NAME} POST_BUILD + COMMAND sed + ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sort + ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND paste + ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + COMMAND sed + ARGS -i 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + ) +elseif (WINDOWS) add_custom_command( TARGET ${VIEWER_BINARY_NAME} POST_BUILD COMMAND sed diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp index 9135921acc..376eeca9fd 100644 --- a/indra/newview/llappviewerlinux.cpp +++ b/indra/newview/llappviewerlinux.cpp @@ -126,7 +126,11 @@ int main( int argc, char **argv ) // install unexpected exception handler gOldTerminateHandler = std::set_terminate(exceptionTerminateHandler); - //unsetenv( "LD_PRELOAD" ); // <FS:ND/> Get rid of any preloading, we do not want this to happen during startup of plugins. +#ifdef __aarch64__ + setenv("LD_PRELOAD", APP_PLUGIN_DIR"/libcef.so", 1); +#else + unsetenv( "LD_PRELOAD" ); // <FS:ND/> Get rid of any preloading, we do not want this to happen during startup of plugins. +#endif bool ok = viewer_app_ptr->init(); if(!ok) 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/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) |