diff --git a/autobuild.xml b/autobuild.xml
index 535296dd89..89427326a6 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -112,9 +112,11 @@
archive
name
linux64
@@ -544,9 +546,11 @@
archive
name
linux64
@@ -648,9 +652,11 @@
archive
name
linux64
@@ -762,9 +768,11 @@
archive
name
linux64
@@ -913,6 +921,20 @@
name
darwin64
+ linux64
+
windows64
archive
@@ -1110,11 +1132,11 @@
archive
hash
- 4a999279562e8f3e4ba02d3e78a844ddf6fe18f1
+ bf2d2e4350caaea2b2fb6116d05548c80f402f81
hash_algorithm
sha1
url
- https://github.com/secondlife/3p-freetype/releases/download/v.2.12.1.557becd/freetype-2.12.1.557becd-linux64-557becd.tar.zst
+ https://3p.firestormviewer.org/freetype-2.12.1.240620850-linux64-240620850.tar.zst
name
linux64
@@ -1379,6 +1401,20 @@
name
darwin64
+ linux64
+
+ archive
+
+ hash
+ f5e5be3af96f1eb0842219a94765c04aa9c561c5
+ hash_algorithm
+ sha1
+ url
+ https://3p.firestormviewer.org/icu4c-4.8.1-linux64-240621048.tar.zst
+
+ name
+ linux64
+
windows64
archive
@@ -1750,9 +1786,11 @@
archive
hash
- 134089ec8c1eead9436b69c326790fc0
+ e646a9da0ddfe1dfbffc6600d7d35f78ac48c75e
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/libpng-1.6.38.222890126-linux64-222890126.tar.bz2
+ https://3p.firestormviewer.org/libpng-1.6.38-240620624-linux64-240620624.tar.zst
name
linux64
@@ -1838,9 +1876,11 @@
archive
hash
- d72c6d8db827ce3d83c5703f519a2ac9
+ fda5d399c21c3ad29a78f29599523ca4ecf76bd2
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/libxml2-2.10.3.230940019-linux64-230940019.tar.bz2
+ https://github.com/secondlife/3p-libxml2/releases/download/v2.9.4-2db4418/libxml2-2.9.4.2db4418-linux64-2db4418.tar.zst
name
linux64
@@ -2261,9 +2301,11 @@
archive
hash
- ee4e3a02ad4669a4d84e9c32e509530e
+ d4f35ebcea53ab6e9f2e6cbc0d680b10d10b9c53
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/minizip_ng-3.0.2.222121607-linux64-222121607.tar.bz2
+ https://github.com/secondlife/3p-minizip-ng/releases/download/v3.0.2.3e9876e/minizip_ng-3.0.2.3e9876e-linux64-3e9876e.tar.zst
name
linux64
@@ -2377,9 +2419,11 @@
archive
hash
- 57670eaa6333d9127b8ba88f120e56dd
+ 5798b5f6c8579ad44f211a873c072ee8d3fd8c93
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/nghttp2-1.56.0.232750738-linux64-232750738.tar.bz2
+ https://github.com/secondlife/3p-nghttp2/releases/download/v1.40.0.b1526c6/nghttp2-1.40.0.b1526c6-linux64-b1526c6.tar.zst
name
linux64
@@ -2678,9 +2722,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- a3b2dbffa28a2b2a63c5d3ce2c12bc85
+ 5f6953db991ef6badb0525ecc98daf28d368e9e7
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/openssl-1.1.1w.232750656-linux64-232750656.tar.bz2
+ https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst
name
linux64
@@ -2736,9 +2782,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 742a145c1518b9dc195ae0862828e6ae
+ 3a722c508a9278a49317e3f749f3256768f1c50b
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/pcre-8.35.202021522-linux64-202021522.tar.bz2
+ https://github.com/secondlife/3p-pcre/releases/download/v8.35-3c0eb51/pcre-8.35.3c0eb51-linux64-3c0eb51.tar.zst
name
linux64
@@ -3087,6 +3135,20 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
name
darwin64
+ linux64
+
+ archive
+
+ hash
+ 0f648faa1aee4e233330b87ce7a31727a28dffc3
+ hash_algorithm
+ sha1
+ url
+ https://3p.firestormviewer.org/viewer_fonts-1.240620521-linux64-240620521.tar.zst
+
+ name
+ linux64
+
windows64
archive
@@ -3360,9 +3422,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 5ee7cda65cede06190c811e59b3880b0
+ fba88375e12454ae19f4528e11ffc7ddf7d879ec
+ hash_algorithm
+ sha1
url
- https://3p.firestormviewer.org/zlib_ng-2.0.5.222121000-linux64-222121000.tar.bz2
+ https://github.com/secondlife/3p-zlib-ng/releases/download/v1.2.11.zlib-ng.32fd361/zlib_ng-1.2.11.zlib-ng.32fd361-linux64-32fd361.tar.zst
name
linux64
diff --git a/doc/releasenotes-where.txt b/doc/releasenotes-where.txt
deleted file mode 100755
index 4af5866905..0000000000
--- a/doc/releasenotes-where.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-For full release notes, see:
- http://wiki.secondlife.com/wiki/Release_Notes
-
-For a log of viewer changes, see:
- doc/viewer-changes.txt
diff --git a/doc/sl-logo-dark.png b/doc/sl-logo-dark.png
deleted file mode 100644
index fa9ef32aea..0000000000
Binary files a/doc/sl-logo-dark.png and /dev/null differ
diff --git a/doc/sl-logo.png b/doc/sl-logo.png
deleted file mode 100644
index b9563c7ac7..0000000000
Binary files a/doc/sl-logo.png and /dev/null differ
diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake
index 816174c4ba..3b9f41b3f9 100644
--- a/indra/cmake/FreeType.cmake
+++ b/indra/cmake/FreeType.cmake
@@ -4,12 +4,7 @@ include(Prebuilt)
include_guard()
add_library( ll::freetype INTERFACE IMPORTED )
-if (LINUX)
- find_package(Freetype REQUIRED) # linux fontconfig and freetype should come from the user's system Linux links this via llwindow/CMakeLists
- target_link_libraries( ll::freetype INTERFACE Freetype::Freetype )
-else ()
use_system_binary(freetype)
use_prebuilt_binary(freetype)
target_include_directories( ll::freetype SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/freetype2/)
target_link_libraries( ll::freetype INTERFACE freetype )
-endif()
diff --git a/indra/cmake/ICU4C.cmake b/indra/cmake/ICU4C.cmake
index 7b27665483..806ad28e99 100644
--- a/indra/cmake/ICU4C.cmake
+++ b/indra/cmake/ICU4C.cmake
@@ -12,8 +12,13 @@ if (WINDOWS)
target_link_libraries( ll::icu4c INTERFACE icuuc)
elseif(DARWIN)
target_link_libraries( ll::icu4c INTERFACE icuuc)
-#elseif(LINUX)
-## target_link_libraries( ll::icu4c INTERFACE )
+elseif(LINUX)
+ #
+ #The icu4c 3p puts the libraries in "lib" rather than the normal "release/lib".
+ #Add this to the link search path (otherwise link to the library fails)
+ target_link_directories( ll::icu4c INTERFACE ${LIBS_PREBUILT_DIR}/lib)
+
+ target_link_libraries( ll::icu4c INTERFACE icuuc)
else()
message(FATAL_ERROR "Invalid platform")
endif()
diff --git a/indra/linux_crash_logger/linux_crash_logger.cpp b/indra/linux_crash_logger/linux_crash_logger.cpp
index 5d55e551a4..f14c170939 100644
--- a/indra/linux_crash_logger/linux_crash_logger.cpp
+++ b/indra/linux_crash_logger/linux_crash_logger.cpp
@@ -68,6 +68,11 @@ int main(int argc, char **argv)
curl_global_init(CURL_GLOBAL_ALL);
auto curl = curl_easy_init();
+
+//Not compatible with LL's crusty old curl - support for the curl_mime functions
+//was introduced in curl 7.57.0, LL is still using 7.54 :(
+
+/*
if( curl)
{
auto form = curl_mime_init(curl);
@@ -95,6 +100,47 @@ int main(int argc, char **argv)
curl_easy_cleanup(curl);
curl_mime_free(form);
- }
+ }*/
+
+if (auto curl_handle = curl_easy_init()) {
+ struct curl_httppost* formpost = NULL;
+ struct curl_httppost* lastptr = NULL;
+
+ // Add the file part
+ curl_formadd(&formpost, &lastptr,
+ CURLFORM_COPYNAME, "upload_file_minidump",
+ CURLFORM_FILE, dmpFile.c_str(),
+ CURLFORM_END);
+
+ // Add the 'product' part
+ curl_formadd(&formpost, &lastptr,
+ CURLFORM_COPYNAME, "product",
+ CURLFORM_COPYCONTENTS, "Firestorm-Releasex64",
+ CURLFORM_END);
+
+ // Add the 'version' part
+ curl_formadd(&formpost, &lastptr,
+ CURLFORM_COPYNAME, "version",
+ CURLFORM_COPYCONTENTS, version.c_str(),
+ CURLFORM_END);
+
+ // Set the URL
+ curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str());
+
+ // Set the form post data
+ curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formpost);
+
+ // Perform the request
+ auto res = curl_easy_perform(curl_handle);
+
+ // Cleanup
+ curl_easy_cleanup(curl_handle);
+ curl_formfree(formpost);
+
+ // Check for errors
+ if (res != CURLE_OK)
+ std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
+}
+
return 0;
}
diff --git a/indra/llcorehttp/_httpoprequest.cpp b/indra/llcorehttp/_httpoprequest.cpp
index e711451b8a..50317a8f0b 100644
--- a/indra/llcorehttp/_httpoprequest.cpp
+++ b/indra/llcorehttp/_httpoprequest.cpp
@@ -276,15 +276,10 @@ void HttpOpRequest::visitNotifier(HttpRequest * request)
HttpResponse::TransferStats::ptr_t stats = HttpResponse::TransferStats::ptr_t(new HttpResponse::TransferStats);
-#if LL_LINUX
- curl_easy_getinfo(mCurlHandle, CURLINFO_SIZE_DOWNLOAD_T, &stats->mSizeDownload);
- curl_easy_getinfo(mCurlHandle, CURLINFO_TOTAL_TIME, &stats->mTotalTime);
- curl_easy_getinfo(mCurlHandle, CURLINFO_SPEED_DOWNLOAD_T, &stats->mSpeedDownload);
-#else
curl_easy_getinfo(mCurlHandle, CURLINFO_SIZE_DOWNLOAD, &stats->mSizeDownload);
curl_easy_getinfo(mCurlHandle, CURLINFO_TOTAL_TIME, &stats->mTotalTime);
curl_easy_getinfo(mCurlHandle, CURLINFO_SPEED_DOWNLOAD, &stats->mSpeedDownload);
-#endif
+
response->setTransferStats(stats);
mUserHandler->onCompleted(this->getHandle(), response);
diff --git a/indra/llcorehttp/httpresponse.h b/indra/llcorehttp/httpresponse.h
index 1403e1c64f..b834085e5c 100644
--- a/indra/llcorehttp/httpresponse.h
+++ b/indra/llcorehttp/httpresponse.h
@@ -75,16 +75,9 @@ public:
typedef boost::shared_ptr ptr_t;
TransferStats() : mSizeDownload(0.0), mTotalTime(0.0), mSpeedDownload(0.0) {}
-
-#if LL_LINUX
- curl_off_t mSizeDownload;
- curl_off_t mSpeedDownload;
- F64 mTotalTime;
-#else
F64 mSizeDownload;
F64 mTotalTime;
F64 mSpeedDownload;
-#endif
};
diff --git a/indra/llui/llemojihelper.cpp b/indra/llui/llemojihelper.cpp
index 89e6ddf987..cf431b4039 100644
--- a/indra/llui/llemojihelper.cpp
+++ b/indra/llui/llemojihelper.cpp
@@ -57,6 +57,14 @@ bool LLEmojiHelper::isActive(const LLUICtrl* ctrl_p) const
// static
bool LLEmojiHelper::isCursorInEmojiCode(const LLWString& wtext, S32 cursorPos, S32* pShortCodePos)
{
+ // FIRE-33735: Option to suppress emoji chooser window from automatically popping up while typing in chat bars
+ static LLUICachedControl FSEnableEmojiWindowPopupWhileTyping("FSEnableEmojiWindowPopupWhileTyping");
+ if (!FSEnableEmojiWindowPopupWhileTyping)
+ {
+ return false;
+ }
+ //
+
// If the cursor is currently on a colon start the check one character further back
S32 shortCodePos = (cursorPos == 0 || L':' != wtext[cursorPos - 1]) ? cursorPos : cursorPos - 1;
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index c5028cbd89..ef7ad32e96 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -26880,5 +26880,16 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
1
+ FSEnableEmojiWindowPopupWhileTyping
+
+ Comment
+ Enables automatic opening of emoji chooser window while typing in chat bars.
+ Persist
+ 1
+ Type
+ Boolean
+ Value
+ 1
+
diff --git a/indra/newview/fsassetblacklist.cpp b/indra/newview/fsassetblacklist.cpp
index bd59437e4a..098543a998 100644
--- a/indra/newview/fsassetblacklist.cpp
+++ b/indra/newview/fsassetblacklist.cpp
@@ -66,7 +66,7 @@ LLAssetType::EType S32toAssetType(S32 assetindex)
return type;
}
-void FSAssetBlacklist::initSingleton()
+void FSAssetBlacklist::init()
{
mBlacklistFileName = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "asset_blacklist.xml");
loadBlacklist();
diff --git a/indra/newview/fsassetblacklist.h b/indra/newview/fsassetblacklist.h
index d7a90b10ff..d7fbdcb612 100644
--- a/indra/newview/fsassetblacklist.h
+++ b/indra/newview/fsassetblacklist.h
@@ -44,7 +44,7 @@ class FSAssetBlacklist : public LLSingleton
LLSINGLETON_EMPTY_CTOR(FSAssetBlacklist);
public:
- void initSingleton() override;
+ void init();
bool isBlacklisted(const LLUUID& id, LLAssetType::EType type);
void addNewItemToBlacklist(const LLUUID& id, const std::string& name, const std::string& region, LLAssetType::EType type, bool permanent = true, bool save = true);
void addNewItemToBlacklistData(const LLUUID& id, const LLSD& data, bool save = true);
diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp
index 897289cc91..c3b25270d2 100644
--- a/indra/newview/fsfloaterim.cpp
+++ b/indra/newview/fsfloaterim.cpp
@@ -973,7 +973,6 @@ BOOL FSFloaterIM::postBuild()
mEmojiRecentIconsCtrl->setVisible(false);
mEmojiPickerToggleBtn = getChild("emoji_picker_toggle_btn");
- mEmojiPickerToggleBtn->setLabel(LLUIString(LLWString(1, 128512)));
mEmojiPickerToggleBtn->setClickedCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerToggleBtnClicked(); });
mRecentEmojisUpdatedCallbackConnection = LLFloaterEmojiPicker::setRecentEmojisUpdatedCallback([this](const std::list& recent_emojis_list) { initEmojiRecentPanel(); });
diff --git a/indra/newview/fsfloaternearbychat.cpp b/indra/newview/fsfloaternearbychat.cpp
index db9c677fdf..b2922e5f57 100644
--- a/indra/newview/fsfloaternearbychat.cpp
+++ b/indra/newview/fsfloaternearbychat.cpp
@@ -162,7 +162,6 @@ BOOL FSFloaterNearbyChat::postBuild()
mEmojiRecentIconsCtrl->setVisible(false);
mEmojiPickerToggleBtn = getChild("emoji_picker_toggle_btn");
- mEmojiPickerToggleBtn->setLabel(LLUIString(LLWString(1, 128512)));
mEmojiPickerToggleBtn->setClickedCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerToggleBtnClicked(); });
mRecentEmojisUpdatedCallbackConnection = LLFloaterEmojiPicker::setRecentEmojisUpdatedCallback([this](const std::list& recent_emojis_list) { initEmojiRecentPanel(); });
diff --git a/indra/newview/fsgridhandler.h b/indra/newview/fsgridhandler.h
index 1b1e8ad21f..8ac57866b2 100644
--- a/indra/newview/fsgridhandler.h
+++ b/indra/newview/fsgridhandler.h
@@ -128,7 +128,7 @@ public:
void initCmdLineGrids();
void resetGrids();
// grid list management
- bool isReadyToLogin(){return mReadyToLogin;}
+ bool isReadyToLogin() const {return mReadyToLogin;}
// add a grid to the list of grids
void addGrid(const std::string& loginuri);
diff --git a/indra/newview/fslslbridge.h b/indra/newview/fslslbridge.h
index 630c98a4be..a7efb1ec7e 100644
--- a/indra/newview/fslslbridge.h
+++ b/indra/newview/fslslbridge.h
@@ -77,19 +77,19 @@ public:
void processAttach(LLViewerObject* object, const LLViewerJointAttachment* attachment);
void processDetach(LLViewerObject* object, const LLViewerJointAttachment* attachment);
- bool getBridgeCreating() { return mBridgeCreating; };
+ bool getBridgeCreating() const { return mBridgeCreating; };
void setBridgeCreating(bool status) { mBridgeCreating = status; };
void setBridge(LLViewerInventoryItem* item) { mpBridge = item; };
- LLViewerInventoryItem* getBridge() { return mpBridge; };
+ LLViewerInventoryItem* getBridge() const { return mpBridge; };
bool canUseBridge();
bool isBridgeValid() const { return nullptr != mpBridge; }
void checkBridgeScriptName();
- std::string currentFullName() { return mCurrentFullName; }
+ std::string currentFullName() const { return mCurrentFullName; }
- LLUUID getBridgeFolder() { return mBridgeFolderID; }
- LLUUID getAttachedID() { return mBridgeUUID; }
+ LLUUID getBridgeFolder() const { return mBridgeFolderID; }
+ LLUUID getAttachedID() const { return mBridgeUUID; }
bool canDetach(const LLUUID& item_id);
@@ -97,10 +97,10 @@ public:
void setTimerResult(TimerResult result);
// from LLVOInventoryListener
- virtual void inventoryChanged(LLViewerObject* object,
- LLInventoryObject::object_list_t* inventory,
- S32 serial_num,
- void* user_data);
+ void inventoryChanged(LLViewerObject* object,
+ LLInventoryObject::object_list_t* inventory,
+ S32 serial_num,
+ void* user_data) override;
private:
std::string mCurrentURL;
diff --git a/indra/newview/fsnearbychathub.h b/indra/newview/fsnearbychathub.h
index 9c59cdd334..bd2c9fbfe2 100644
--- a/indra/newview/fsnearbychathub.h
+++ b/indra/newview/fsnearbychathub.h
@@ -39,8 +39,6 @@ class FSNearbyChat : public LLSingleton
LLSINGLETON(FSNearbyChat);
~FSNearbyChat();
- void sendMsg();
-
static S32 sLastSpecialChatChannel;
FSNearbyChatControl* mDefaultChatBar;
diff --git a/indra/newview/llavatarpropertiesprocessor.h b/indra/newview/llavatarpropertiesprocessor.h
index 3538de13b9..10cde35f9c 100644
--- a/indra/newview/llavatarpropertiesprocessor.h
+++ b/indra/newview/llavatarpropertiesprocessor.h
@@ -216,10 +216,6 @@ public:
void sendAvatarGroupsRequest(const LLUUID& avatar_id);
void sendAvatarTexturesRequest(const LLUUID& avatar_id);
void sendAvatarClassifiedsRequest(const LLUUID& avatar_id);
- // enable legacy profile access for OpenSim to work with new profile
- void sendGenericRequestLegacy(const LLUUID& avatar_id, EAvatarProcessorType type, const std::string method);
- void sendAvatarPropertiesRequestLegacy(const LLUUID& avatar_id);
- //
// Duplicate pick info requests are not suppressed.
void sendPickInfoRequest(const LLUUID& creator_id, const LLUUID& pick_id);
diff --git a/indra/newview/llchicletbar.h b/indra/newview/llchicletbar.h
index 710491f36a..44dbf76697 100644
--- a/indra/newview/llchicletbar.h
+++ b/indra/newview/llchicletbar.h
@@ -49,11 +49,11 @@ public:
~LLChicletBar();
// LLIMSessionObserver observe triggers
- /*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg);
- /*virtual*/ void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) {}
- /*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id) {};
- /*virtual*/ void sessionRemoved(const LLUUID& session_id);
- /*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id);
+ /*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg) override;
+ /*virtual*/ void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) override {}
+ /*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id) override {};
+ /*virtual*/ void sessionRemoved(const LLUUID& session_id) override;
+ /*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) override;
S32 getTotalUnreadIMCount();
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 3c07bb472b..42ca9e3150 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1532,7 +1532,7 @@ bool idle_startup()
LLFile::mkdir(user_fonts_path_name.c_str());
// Initalize Account based asset_blacklist
- FSAssetBlacklist::instance();
+ FSAssetBlacklist::getInstance()->init();
// load per grid data
FSData::instance().downloadAgents();
diff --git a/indra/newview/lltoolcomp.h b/indra/newview/lltoolcomp.h
index ec50d32a7a..7b462c1525 100644
--- a/indra/newview/lltoolcomp.h
+++ b/indra/newview/lltoolcomp.h
@@ -168,8 +168,8 @@ public:
static void pickCallback(const LLPickInfo& pick_info);
// Add middle mouse control for switching uniform scaling on the fly
- virtual BOOL handleMiddleMouseDown(S32 x, S32 y, MASK mask);
- virtual BOOL handleMiddleMouseUp(S32 x, S32 y, MASK mask);
+ virtual BOOL handleMiddleMouseDown(S32 x, S32 y, MASK mask) override;
+ virtual BOOL handleMiddleMouseUp(S32 x, S32 y, MASK mask) override;
//
};
diff --git a/indra/newview/lltoolface.h b/indra/newview/lltoolface.h
index 654c9baec8..d5b6da3d95 100644
--- a/indra/newview/lltoolface.h
+++ b/indra/newview/lltoolface.h
@@ -48,8 +48,8 @@ public:
static void pickCallback(const LLPickInfo& pick_info);
// Add control to drag texture faces around
- virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
- virtual void stopGrabbing();
+ virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask) override;
+ void stopGrabbing();
static BOOL mTextureGrabbed;
static LLViewerObject* mTextureObject;
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 69d0990c83..3ff71eac32 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -10949,7 +10949,6 @@ void handle_report_bug(const LLSD& param)
// Keep linking to out JIRA
//std::string url = gSavedSettings.getString("ReportBugURL");
//LLWeb::loadURLExternal(url);
- LLUIString url(param.asString());
LLSD sysinfo = FSData::getSystemInfo();
LLStringUtil::format_map_t replace;
replace["[ENVIRONMENT]"] = LLURI::escape(sysinfo["Part1"].asString().substr(1) + sysinfo["Part2"].asString().substr(1));
diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h
index cbb24e50ae..2eacc94943 100644
--- a/indra/newview/llvoicevivox.h
+++ b/indra/newview/llvoicevivox.h
@@ -209,7 +209,7 @@ public:
virtual void removeObserver(LLVoiceClientParticipantObserver* observer) override;
// Add callback for user volume change
- boost::signals2::connection setUserVolumeUpdateCallback(const user_voice_volume_change_callback_t::slot_type& cb)
+ boost::signals2::connection setUserVolumeUpdateCallback(const user_voice_volume_change_callback_t::slot_type& cb) override
{
return mUserVolumeUpdateSignal.connect(cb);
}
diff --git a/indra/newview/qtoolalign.h b/indra/newview/qtoolalign.h
index ca3da4fa56..6fae2a7e82 100644
--- a/indra/newview/qtoolalign.h
+++ b/indra/newview/qtoolalign.h
@@ -19,12 +19,12 @@ class QToolAlign : public LLTool, public LLSingleton
virtual ~QToolAlign();
public:
- virtual void handleSelect();
- virtual void handleDeselect();
- virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
- virtual BOOL handleHover(S32 x, S32 y, MASK mask);
- virtual void render();
- virtual BOOL canAffectSelection();
+ virtual void handleSelect() override;
+ virtual void handleDeselect() override;
+ virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask) override;
+ virtual BOOL handleHover(S32 x, S32 y, MASK mask) override;
+ virtual void render() override;
+ BOOL canAffectSelection();
static void pickCallback(const LLPickInfo& pick_info);
diff --git a/indra/newview/rlvinventory.h b/indra/newview/rlvinventory.h
index 482a308392..cf57a84bb1 100644
--- a/indra/newview/rlvinventory.h
+++ b/indra/newview/rlvinventory.h
@@ -41,7 +41,7 @@ class RlvInventory : public LLSingleton, public LLInventoryObserve
public:
// LLInventoryObserver override
- /*virtual*/ void changed(U32 mask);
+ /*virtual*/ void changed(U32 mask) override;
/*
* #RLV Shared inventory
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
index e22f3a2c3e..b9a11d2c73 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
@@ -147,6 +147,8 @@
+
+
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
index b15ef898b4..947fe1b29a 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -905,6 +905,22 @@
top_pad="1"
height="16"
width="400" />
+
+
diff --git a/indra/newview/skins/default/xui/it/floater_emoji_picker.xml b/indra/newview/skins/default/xui/it/floater_emoji_picker.xml
new file mode 100644
index 0000000000..e16b383095
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_emoji_picker.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ Nessuna emoji selezionata
+
+
diff --git a/indra/newview/skins/default/xui/it/floater_fs_im_session.xml b/indra/newview/skins/default/xui/it/floater_fs_im_session.xml
index f77461a1f7..0e11ff3ae2 100644
--- a/indra/newview/skins/default/xui/it/floater_fs_im_session.xml
+++ b/indra/newview/skins/default/xui/it/floater_fs_im_session.xml
@@ -62,9 +62,18 @@
+
+
+
+
+
+
+ Le emoji usate di recente verranno visualizzate qui
+
+
diff --git a/indra/newview/skins/default/xui/it/floater_fs_nearby_chat.xml b/indra/newview/skins/default/xui/it/floater_fs_nearby_chat.xml
index a45de16bdf..b1a94725ce 100644
--- a/indra/newview/skins/default/xui/it/floater_fs_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/it/floater_fs_nearby_chat.xml
@@ -27,6 +27,10 @@
+
+
+
+
@@ -40,6 +44,11 @@
+
+
+ Le emoji usate di recente verranno visualizzate qui
+
+
diff --git a/indra/newview/skins/default/xui/it/floater_im_session.xml b/indra/newview/skins/default/xui/it/floater_im_session.xml
index d8ccb99203..56a74e6c9a 100644
--- a/indra/newview/skins/default/xui/it/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/it/floater_im_session.xml
@@ -21,11 +21,19 @@
+
+
+
+
+
+ Le emoji usate di recente verranno visualizzate qui
+
+
diff --git a/indra/newview/skins/default/xui/it/menu_fs_chat_options.xml b/indra/newview/skins/default/xui/it/menu_fs_chat_options.xml
index 9faf966408..32f21b08cc 100644
--- a/indra/newview/skins/default/xui/it/menu_fs_chat_options.xml
+++ b/indra/newview/skins/default/xui/it/menu_fs_chat_options.xml
@@ -15,6 +15,7 @@
+
diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml
index 7cf7a386f6..90df9e75a6 100644
--- a/indra/newview/skins/default/xui/it/menu_login.xml
+++ b/indra/newview/skins/default/xui/it/menu_login.xml
@@ -25,6 +25,11 @@
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
+
-
+
diff --git a/indra/newview/skins/default/xui/pl/floater_emoji_picker.xml b/indra/newview/skins/default/xui/pl/floater_emoji_picker.xml
new file mode 100644
index 0000000000..01c16bcb81
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/floater_emoji_picker.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ Nie wybrano emoji
+
+
diff --git a/indra/newview/skins/default/xui/pl/floater_fs_im_session.xml b/indra/newview/skins/default/xui/pl/floater_fs_im_session.xml
index 70887395b0..61bf58ede2 100644
--- a/indra/newview/skins/default/xui/pl/floater_fs_im_session.xml
+++ b/indra/newview/skins/default/xui/pl/floater_fs_im_session.xml
@@ -62,9 +62,18 @@
+
+
+
+
+
+
+ Tutaj pojawią się ostatnio używane emoji
+
+
diff --git a/indra/newview/skins/default/xui/pl/floater_fs_nearby_chat.xml b/indra/newview/skins/default/xui/pl/floater_fs_nearby_chat.xml
index aef77908db..7dc9a543fa 100644
--- a/indra/newview/skins/default/xui/pl/floater_fs_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/pl/floater_fs_nearby_chat.xml
@@ -27,6 +27,10 @@
+
+
+
+
@@ -40,6 +44,11 @@
+
+
+ Tutaj pojawią się ostatnio używane emoji
+
+
diff --git a/indra/newview/skins/default/xui/pl/floater_im_session.xml b/indra/newview/skins/default/xui/pl/floater_im_session.xml
index b969afe44f..f298f0fc51 100644
--- a/indra/newview/skins/default/xui/pl/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/pl/floater_im_session.xml
@@ -21,11 +21,19 @@
+
+
+
+
+
+ Tutaj pojawią się ostatnio używane emoji
+
+
diff --git a/indra/newview/skins/default/xui/pl/menu_fs_chat_options.xml b/indra/newview/skins/default/xui/pl/menu_fs_chat_options.xml
index 71ae4f6189..2bb638b728 100644
--- a/indra/newview/skins/default/xui/pl/menu_fs_chat_options.xml
+++ b/indra/newview/skins/default/xui/pl/menu_fs_chat_options.xml
@@ -15,6 +15,7 @@
+
diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml
index 38778fa432..2d880b499f 100644
--- a/indra/newview/skins/default/xui/pl/menu_login.xml
+++ b/indra/newview/skins/default/xui/pl/menu_login.xml
@@ -25,6 +25,11 @@
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml
index 2473dc79cb..7a2d53d5e2 100644
--- a/indra/newview/skins/default/xui/pl/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml
@@ -554,6 +554,8 @@
+
+
@@ -565,6 +567,7 @@
+
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
index b7c72f4fbb..787378f246 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
@@ -141,6 +141,8 @@
+
+
diff --git a/indra/newview/skins/vintage/xui/en/floater_fs_im_session.xml b/indra/newview/skins/vintage/xui/en/floater_fs_im_session.xml
index d0a6087a2f..e056fff42b 100644
--- a/indra/newview/skins/vintage/xui/en/floater_fs_im_session.xml
+++ b/indra/newview/skins/vintage/xui/en/floater_fs_im_session.xml
@@ -449,7 +449,7 @@
top="0"
left_delta="5"
name="FSSupportGroupChatPrefix_toggle"
- tool_tip="Adds your current viewer version and skin information to the front of messages sent by you to this group which will assist support staff in correctly diagnosing your issues and improve accuracy in answering your questions"
+ tool_tip="Adds current viewer version, viewer skin, operating system and RLVa status to the front of messages sent by you to this group which will assist support staff in correctly diagnosing your issues and improve accuracy in answering your questions"
width="110" />
@@ -603,6 +603,44 @@
right="-2"
wrap="true" />
+
+
+
+
+
+ Recently used emojis will appear here
+
+
diff --git a/indra/newview/skins/vintage/xui/en/floater_fs_nearby_chat.xml b/indra/newview/skins/vintage/xui/en/floater_fs_nearby_chat.xml
index 42e10cf146..d756c87547 100644
--- a/indra/newview/skins/vintage/xui/en/floater_fs_nearby_chat.xml
+++ b/indra/newview/skins/vintage/xui/en/floater_fs_nearby_chat.xml
@@ -252,6 +252,41 @@
right="-4"
wrap="true" />
+
+
+
+
+
+ Recently used emojis will appear here
+
+
diff --git a/indra/newview/utilitybar.h b/indra/newview/utilitybar.h
index f1bab26fe8..d58a24082c 100644
--- a/indra/newview/utilitybar.h
+++ b/indra/newview/utilitybar.h
@@ -39,7 +39,7 @@ class UtilityBar
public:
void init();
- virtual BOOL tick();
+ virtual BOOL tick() override;
void setAOInterfaceButtonExpanded(bool expanded);
void setVolumeControlsButtonExpanded(bool expanded);
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index dec8cd1fde..824754c410 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -2085,6 +2085,7 @@ class LinuxManifest(ViewerManifest):
self.path("ca-bundle.crt")
with self.prefix(src=os.path.join(pkgdir, 'lib', 'release'), dst="lib"):
+ self.path("libfreetype.so*")
self.path("libapr-1.so*")
self.path("libaprutil-1.so*")
#self.path("libboost_context-mt.so*")
@@ -2263,7 +2264,7 @@ class Linux_i686_Manifest(LinuxManifest):
# self.path("libfontconfig.so.*.*") # fontconfig and freetype should be taken from the user's system
# Include libfreetype.so. but have it work as libfontconfig does.
- # self.path("libfreetype.so.*.*") # fontconfig and freetype should be taken from the user's system
+ self.path("libfreetype.so.*.*")
try:
self.path("libtcmalloc.so*") #formerly called google perf tools
diff --git a/indra/newview/vjlocalmesh.cpp b/indra/newview/vjlocalmesh.cpp
index c0217bb9cd..e8871f58c7 100644
--- a/indra/newview/vjlocalmesh.cpp
+++ b/indra/newview/vjlocalmesh.cpp
@@ -468,8 +468,9 @@ LLLocalMeshFile::LLLocalMeshFile(const std::string& filename, bool try_lods)
mFilenames[LOCAL_LOD_HIGH] = filename;
// check if we have a valid extension, can't switch with string can we?
- if( std::string exten_str = boost::filesystem::extension(filename);
- boost::iequals(exten_str, ".dae") )
+ auto path = boost::filesystem::path(filename);
+ if (std::string exten_str = path.extension().string();
+ boost::iequals(exten_str, ".dae") )
{
mExtension = LLLocalMeshFileExtension::EXTEN_DAE;
pushLog("LLLocalMeshFile", "Extension found: COLLADA");