# Conflicts:
#	autobuild.xml
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/llui/llemojihelper.cpp
#	indra/newview/CMakeLists.txt
#	indra/newview/viewer_manifest.py
meow-7.2.2
Ansariel 2024-08-02 15:39:34 +02:00
commit a944a7b54a
10 changed files with 64 additions and 189 deletions

View File

@ -823,47 +823,19 @@
<map>
<key>platforms</key>
<map>
<key>darwin64</key>
<key>common</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>52c41a4547d2d9aceb4a9a1e9e1680c71e5ffa79</string>
<string>9c58108270fbad15a321f75501cdfb9c6b78a6f2</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst</string>
<string>https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v15.3.2-r1/emoji_shortcodes-15.3.2.10207138275-common-10207138275.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>5b957aa7f353b10ae17b7119e5b3668f48a35325</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>3137e06d376767a631bc9626832d558c4d5e5aa9</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-windows64-5413f58.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
<string>common</string>
</map>
</map>
<key>license</key>
@ -873,7 +845,7 @@
<key>copyright</key>
<string>Copyright 2017-2019 Miles Johnson.</string>
<key>version</key>
<string>6.1.0.5413f58</string>
<string>15.3.2.10207138275</string>
<key>name</key>
<string>emoji_shortcodes</string>
<key>canonical_repo</key>
@ -1287,63 +1259,65 @@
<key>name</key>
<string>jpegencoderbasic</string>
</map>
<key>jpeglib</key>
<key>libjpeg-turbo</key>
<map>
<key>platforms</key>
<map>
<key>darwin64</key>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>776d114aa1e3455bb13deaacd756deb07b53ecbe</string>
<string>36144272e381952a7c11f1d593c2916c5c7387d0</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-jpeglib/releases/download/v8c.7846234/jpeglib-8c.7846234-darwin64-7846234.tar.zst</string>
<string>https://github.com/secondlife/3p-libjpeg-turbo/releases/download/v3.0.3-r1/libjpeg_turbo-3.0.3-windows64-10204037839.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
<string>windows64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>b4b2278bd2fcae85619e2145a243cca388d760d7</string>
<string>f853a7d4fe842e7a661dd71a56a51f65b2ec25c7</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-jpeglib/releases/download/v8c.7846234/jpeglib-8c.7846234-linux64-7846234.tar.zst</string>
<string>https://github.com/secondlife/3p-libjpeg-turbo/releases/download/v3.0.3-r1/libjpeg_turbo-3.0.3-linux64-10204037839.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>d50fcac69eeb9404638da07db96ee3e1191ecf93</string>
<string>6fcbc2c3c91b5e9bfbbc57ddf27d2f3698fe7d99</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-jpeglib/releases/download/v8c.7846234/jpeglib-8c.7846234-windows64-7846234.tar.zst</string>
<string>https://github.com/secondlife/3p-libjpeg-turbo/releases/download/v3.0.3-r1/libjpeg_turbo-3.0.3-darwin64-10204037839.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
<string>darwin64</string>
</map>
</map>
<key>license</key>
<string>jpeglib</string>
<string>libjpeg-turbo</string>
<key>license_file</key>
<string>LICENSES/jpeglib.txt</string>
<string>LICENSES/libjpeg-turbo.txt</string>
<key>copyright</key>
<string>Copyright (C) 1991-2011, Thomas G. Lane, Guido Vollbeding.</string>
<string>Copyright (C)2009-2024 D. R. Commander. All Rights Reserved. Copyright (C)2015 Viktor Szathmáry. All Rights Reserved.</string>
<key>version</key>
<string>8c.7846234</string>
<string>3.0.3</string>
<key>name</key>
<string>jpeglib</string>
<string>libjpeg-turbo</string>
<key>canonical_repo</key>
<string>https://github.com/secondlife/3p-libjpeg-turbo</string>
<key>description</key>
<string>JPEG encoding, decoding library</string>
</map>
@ -1410,11 +1384,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>d5757ab84d934fa358f299ab91e2e297beaa3dac</string>
<string>e71ae7a645603fe967a69aa5beb5b3009185e177</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-libhunspell/releases/download/v1.3.2.650fb94/libhunspell-1.3.2.650fb94-darwin64-650fb94.tar.zst</string>
<string>https://github.com/secondlife/3p-libhunspell/releases/download/v1.7.2-r1/libhunspell-1.7.2.10207243663-darwin64-10207243663.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
@ -1424,11 +1398,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>6413d3bd4cd50c2a6b7f949eb4bd6f0c94feb984</string>
<string>275ffb7f60064d8008aed8406f80f34229f651fc</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-libhunspell/releases/download/v1.3.2.650fb94/libhunspell-1.3.2.650fb94-linux64-650fb94.tar.zst</string>
<string>https://github.com/secondlife/3p-libhunspell/releases/download/v1.7.2-r1/libhunspell-1.7.2.10207243663-linux64-10207243663.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -1438,11 +1412,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c1be4a79b20435030b2e0e01b582c61b462c8376</string>
<string>89ff24e93eaeca7949ccdb5cc368f938f5b1f307</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-libhunspell/releases/download/v1.3.2.650fb94/libhunspell-1.3.2.650fb94-windows64-650fb94.tar.zst</string>
<string>https://github.com/secondlife/3p-libhunspell/releases/download/v1.7.2-r1/libhunspell-1.7.2.10207243663-windows64-10207243663.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
@ -1453,9 +1427,9 @@
<key>license_file</key>
<string>LICENSES/hunspell.txt</string>
<key>copyright</key>
<string>See hunspell.txt</string>
<string>LGPL 2.1</string>
<key>version</key>
<string>1.3.2.650fb94</string>
<string>1.7.2.10207243663</string>
<key>name</key>
<string>libhunspell</string>
<key>description</key>
@ -2523,66 +2497,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>description</key>
<string>Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) Library</string>
</map>
<key>pcre</key>
<map>
<key>platforms</key>
<map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>b372d37596474043a62568e569b0ce155192f484</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-pcre/releases/download/v8.35.979fd86/pcre-8.35.979fd86-darwin64-979fd86.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>3a722c508a9278a49317e3f749f3256768f1c50b</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-pcre/releases/download/v8.35-3c0eb51/pcre-8.35.3c0eb51-linux64-3c0eb51.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>166564afb60a7536a038fae80e2fc9a41d6dbccb</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-pcre/releases/download/v8.35.979fd86/pcre-8.35.979fd86-windows64-979fd86.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>license</key>
<string>bsd</string>
<key>license_file</key>
<string>LICENSES/pcre-license.txt</string>
<key>copyright</key>
<string>Copyright (c) 1997-2014 University of Cambridge; Copyright(c) 2009-2014 Zoltan Herczeg; Copyright (c) 2007-2012, Google Inc.</string>
<key>version</key>
<string>8.35.979fd86</string>
<key>name</key>
<string>pcre</string>
<key>description</key>
<string>PCRE Perl-compatible regular expression library</string>
</map>
<key>slvoice</key>
<map>
<key>platforms</key>
@ -2839,41 +2753,19 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<map>
<key>platforms</key>
<map>
<key>darwin64</key>
<key>common</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>deb47841d8e6c82fe9704aaa79d62846</string>
<string>52bfa9057a5d34cd841e93624c03a0cdcdf7b12a</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/viewer_fonts-1.240681616-common-240681616.tar.bz2</string>
<string>https://3p.firestormviewer.org/viewer_fonts-1.0.0.242151216-common-242151216.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>deb47841d8e6c82fe9704aaa79d62846</string>
<key>url</key>
<string>https://3p.firestormviewer.org/viewer_fonts-1.240681616-common-240681616.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>deb47841d8e6c82fe9704aaa79d62846</string>
<key>url</key>
<string>https://3p.firestormviewer.org/viewer_fonts-1.240681616-common-240681616.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
<string>common</string>
</map>
</map>
<key>license</key>
@ -2883,7 +2775,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>copyright</key>
<string>Copyright 2016-2022 Brad Erickson CC-BY-4.0/MIT, Copyright 2016-2022 Twitter, Inc. CC-BY-4.0, Copyright 2013 Joe Loughry and Terence Eden MIT</string>
<key>version</key>
<string>1.579464</string>
<string>1.0.0.10204976553</string>
<key>name</key>
<string>viewer-fonts</string>
<key>description</key>

View File

@ -59,7 +59,6 @@ if(WINDOWS)
libaprutil-1.dll
nghttp2.dll
glod.dll # <FS:Beq> restore GLOD
libhunspell.dll
)
# <FS:Ansariel> Only copy OpenJPEG dll if needed
@ -201,7 +200,6 @@ elseif(DARWIN)
libaprutil-1.dylib
${EXPAT_COPY}
libGLOD.dylib # <FS:Beq> restore GLOD
libhunspell-1.3.0.dylib
libndofdev.dylib
libnghttp2.dylib
libnghttp2.14.dylib
@ -271,7 +269,6 @@ elseif(LINUX)
libaprutil-1.so.0
libhunspell-1.3.so.0.0.0
#libopenjp2.so
libuuid.so.16
libuuid.so.16.0.22

View File

@ -1,4 +1,5 @@
# -*- cmake -*-
include(Linking)
include(Prebuilt)
include_guard()
@ -8,10 +9,16 @@ add_library( ll::hunspell INTERFACE IMPORTED )
use_system_binary(hunspell)
use_prebuilt_binary(libhunspell)
if (WINDOWS)
target_link_libraries( ll::hunspell INTERFACE libhunspell)
target_compile_definitions( ll::hunspell INTERFACE HUNSPELL_STATIC=1)
target_link_libraries( ll::hunspell INTERFACE
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libhunspell.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libhunspell.lib
)
elseif(DARWIN)
target_link_libraries( ll::hunspell INTERFACE hunspell-1.3)
target_link_libraries( ll::hunspell INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libhunspell-1.7.a
)
elseif(LINUX)
target_link_libraries( ll::hunspell INTERFACE hunspell-1.3)
target_link_libraries( ll::hunspell INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libhunspell-1.7.a
)
endif()
target_include_directories( ll::hunspell SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/hunspell)

View File

@ -7,12 +7,14 @@ include_guard()
add_library( ll::libjpeg INTERFACE IMPORTED )
use_system_binary(libjpeg)
use_prebuilt_binary(jpeglib)
use_prebuilt_binary(libjpeg-turbo)
if (LINUX)
target_link_libraries( ll::libjpeg INTERFACE jpeg)
target_link_libraries( ll::libjpeg INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libjpeg.a)
elseif (DARWIN)
target_link_libraries( ll::libjpeg INTERFACE jpeg)
target_link_libraries( ll::libjpeg INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libjpeg.a)
elseif (WINDOWS)
target_link_libraries( ll::libjpeg INTERFACE jpeglib)
target_link_libraries( ll::libjpeg INTERFACE
debug ${ARCH_PREBUILT_DIRS_DEBUG}/jpeg.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/jpeg.lib)
endif (LINUX)
target_include_directories( ll::libjpeg SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)

View File

@ -6,7 +6,6 @@ include(Boost)
include_guard()
add_library( ll::pcre INTERFACE IMPORTED )
add_library( ll::minizip-ng INTERFACE IMPORTED )
add_library( ll::libxml INTERFACE IMPORTED )
add_library( ll::colladadom INTERFACE IMPORTED )
@ -22,11 +21,8 @@ use_system_binary( colladadom )
use_prebuilt_binary(colladadom)
use_prebuilt_binary(minizip-ng) # needed for colladadom
use_prebuilt_binary(pcre)
use_prebuilt_binary(libxml2)
target_link_libraries( ll::pcre INTERFACE pcrecpp pcre )
if (WINDOWS)
target_link_libraries( ll::minizip-ng INTERFACE libminizip )
else()

View File

@ -71,7 +71,6 @@ target_link_libraries(llprimitive
llrender
llphysicsextensions_impl
ll::colladadom
ll::pcre
ll::glh_linear
)

View File

@ -84,7 +84,9 @@ bool LLEmojiHelper::isCursorInEmojiCode(const LLWString& wtext, S32 cursorPos, S
shortCodePos--;
}
bool isShortCode = (cursorPos - shortCodePos >= 2) && (L':' == wtext[shortCodePos - 1]); // <FS:Beq/> FIRE-33773 - fix logic to avoid OOB access to wtext
bool isShortCode = (cursorPos - shortCodePos >= 2) && (L':' == wtext[shortCodePos - 1]);
if(isShortCode && (shortCodePos >= 2) && isdigit(wtext[shortCodePos - 2])) // <TS:3T> Add qualifier to avoid emoji pop-up when typing times.
isShortCode = false;
if (pShortCodePos)
*pShortCodePos = (isShortCode) ? shortCodePos - 1 : -1;
return isShortCode;

View File

@ -30,12 +30,7 @@
#include "llsdserialize.h"
#include "llspellcheck.h"
#if LL_WINDOWS
#include <hunspell/hunspelldll.h>
#pragma comment(lib, "libhunspell.lib")
#else
#include <hunspell/hunspell.hxx>
#endif
#include <hunspell/hunspell.hxx>
static const std::string DICT_DIR = "dictionaries";
static const std::string DICT_FILE_CUSTOM = "user_custom.dic";
@ -64,11 +59,11 @@ void LLSpellChecker::initSingleton()
bool LLSpellChecker::checkSpelling(const std::string& word) const
{
if ( (!mHunspell) || (word.length() < 3) || (0 != mHunspell->spell(word.c_str())) )
if ( (!mHunspell) || (word.length() < 3) || (0 != mHunspell->spell(word)) )
{
return true;
}
if (mIgnoreList.size() > 0)
if (!mIgnoreList.empty())
{
std::string word_lower(word);
LLStringUtil::toLower(word_lower);
@ -85,15 +80,8 @@ S32 LLSpellChecker::getSuggestions(const std::string& word, std::vector<std::str
return 0;
}
char** suggestion_list; int suggestion_cnt = 0;
if ( (suggestion_cnt = mHunspell->suggest(&suggestion_list, word.c_str())) != 0 )
{
for (int suggestion_index = 0; suggestion_index < suggestion_cnt; suggestion_index++)
{
suggestions.push_back(suggestion_list[suggestion_index]);
}
mHunspell->free_list(&suggestion_list, suggestion_cnt);
}
suggestions = mHunspell->suggest(word);
return static_cast<S32>(suggestions.size());
}
@ -194,7 +182,7 @@ void LLSpellChecker::addToCustomDictionary(const std::string& word)
{
if (mHunspell)
{
mHunspell->add(word.c_str());
mHunspell->add(word);
}
addToDictFile(getDictionaryUserPath() + DICT_FILE_CUSTOM, word);
sSettingsChangeSignal();
@ -441,7 +429,7 @@ bool LLSpellChecker::canRemoveDictionary(const std::string& dict_language)
const LLSD dict_info = getDictionaryData(dict_language);
return
(dict_info["user_installed"].asBoolean()) &&
( (!getUseSpellCheck()) || (!LLSpellChecker::instance().isActiveDictionary(dict_language)) );
( (!getUseSpellCheck()) || (!isActiveDictionary(dict_language)) );
}
void LLSpellChecker::removeDictionary(const std::string& dict_language)

View File

@ -2178,7 +2178,6 @@ if (WINDOWS)
${CMAKE_SOURCE_DIR}/../etc/message.xml
${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
#${SHARED_LIB_STAGING_DIR}/openjp2.dll # <FS:Ansariel> Only copy OpenJPEG dll if needed
${SHARED_LIB_STAGING_DIR}/libhunspell.dll
${SHARED_LIB_STAGING_DIR}/llwebrtc.dll
#${SHARED_LIB_STAGING_DIR}/${LL_INTDIR}/SLVoice.exe
#${SHARED_LIB_STAGING_DIR}/${LL_INTDIR}/libsndfile-1.dll

View File

@ -712,9 +712,6 @@ class Windows_x86_64_Manifest(ViewerManifest):
# HTTP/2
self.path("nghttp2.dll")
# Hunspell
self.path("libhunspell.dll")
# BugSplat
if self.args.get('bugsplat'):
self.path("BsSndRpt64.exe")
@ -1163,7 +1160,6 @@ class Darwin_x86_64_Manifest(ViewerManifest):
# with self.prefix(src=relpkgdir, dst=""):
# self.path("libndofdev.dylib")
# self.path("libhunspell-1.3.a")
# with self.prefix(src_dst="cursors_mac"):
# self.path("*.tif")
@ -1450,7 +1446,6 @@ class Darwin_x86_64_Manifest(ViewerManifest):
# copy additional libs in <bundle>/Contents/MacOS/
self.path(os.path.join(relpkgdir, "libndofdev.dylib"), dst="Resources/libndofdev.dylib")
self.path(os.path.join(relpkgdir, "libhunspell-1.3.0.dylib"), dst="Resources/libhunspell-1.3.0.dylib")
# CEF framework goes inside Contents/Frameworks.
# Remember where we parked this car.
@ -2152,7 +2147,6 @@ class LinuxManifest(ViewerManifest):
self.path_optional("libfusion*.so*")
self.path_optional("libdirect*.so*")
self.path_optional("libopenjpeg.so*")
self.path("libhunspell-1.3.so*")
self.path("libalut.so*")
#self.path("libpng15.so.15") #use provided libpng to workaround incompatible system versions on some distros
#self.path("libpng15.so.15.13.0") #use provided libpng to workaround incompatible system versions on some distros
@ -2287,7 +2281,6 @@ class Linux_i686_Manifest(LinuxManifest):
self.path("libdirectfb-1.4.so.5")
self.path("libfusion-1.4.so.5")
self.path("libdirect-1.4.so.5*")
self.path("libhunspell-1.3.so*")
self.path("libalut.so*")
self.path("libopenal.so*")