Commit Graph

497 Commits (75965449fb3cc37f830f88c6807745e629dfd1e1)

Author SHA1 Message Date
Lars Næsbye Christensen 3a12af88b7 llplugin: BOOL (int) to real bool 2024-02-12 23:17:22 +02:00
Ansariel 62ffcf193d Merge branch 'release/materials_featurette' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/app_settings/settings.xml
#	indra/newview/llpanelface.h
#	indra/newview/pipeline.cpp
#	indra/newview/skins/default/xui/en/floater_tools.xml
2024-01-26 13:17:18 +01:00
Jonathan "Geenz" Goodman 373b06398c Merge remote-tracking branch 'origin/release/materials_featurette' into DRTVWR-583 2024-01-24 14:37:33 -08:00
Ansariel 45dc1a63f0 Merge branch 'DRTVWR-599-maint-Z' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llprimitive/lldaeloader.cpp
#	indra/llui/lllayoutstack.cpp
#	indra/llui/llnotifications.h
#	indra/llui/lltoolbar.cpp
#	indra/newview/CMakeLists.txt
#	indra/newview/llagent.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterimcontainer.cpp
#	indra/newview/llfloaterimnearbychathandler.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llpaneloutfitsinventory.h
#	indra/newview/llsidepanelappearance.h
#	indra/newview/lltoolbarview.cpp
2024-01-12 14:18:34 +01:00
AiraYumi 7c8907522f replace boost library to standard 2024-01-08 23:29:21 +02:00
Ansariel 5c8b25521e Merge branch 'DRTVWR-587-maint-V' of https://github.com/secondlife/viewer 2023-07-25 15:06:37 +02:00
Lars Næsbye Christensen fbc4c9e31f replaces deprecated (since 10.12) reference to NSAnyEventMask with the replacement NSEventMaskAny. Functionality unaltered. 2023-07-21 00:25:07 +02:00
Jonathan "Geenz" Goodman f7f9601567 Got hero probes rendering from the camera.
DRTVWR-583
2023-07-17 15:05:47 -07:00
Ansariel 40b731eb76 Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-568
# Conflicts:
#	.gitignore
#	indra/cmake/FindOpenJPEG.cmake
#	indra/cmake/FreeType.cmake
#	indra/cmake/OpenJPEG.cmake
#	indra/cmake/UI.cmake
#	indra/cmake/ViewerMiscLibs.cmake
#	indra/llwindow/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/viewer_manifest.py
2023-03-21 10:57:56 +01:00
Andrey Lihatskiy dca3c83cd9 Merge branch 'DRTVWR-568' into DRTVWR-573-maint-R
# Conflicts:
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/cmake/FindOpenJPEG.cmake
#	indra/cmake/OpenJPEG.cmake
#	indra/integration_tests/llui_libtest/CMakeLists.txt
#	indra/newview/CMakeLists.txt
2023-03-20 01:23:16 +02:00
Ansariel b157ab47c0 Merge branch 'DRTVWR-573-maint-R' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/newview/llagentui.cpp
#	indra/newview/llcallingcard.cpp
#	indra/newview/llfloateravatarrendersettings.cpp
#	indra/newview/llimview.cpp
#	indra/newview/llimview.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llpanelmaininventory.cpp
#	indra/newview/skins/default/xui/de/floater_tools.xml
#	indra/newview/skins/default/xui/en/floater_display_name.xml
#	indra/newview/skins/default/xui/en/floater_tools.xml
#	indra/newview/skins/default/xui/es/floater_tools.xml
#	indra/newview/skins/default/xui/ru/floater_tools.xml
2023-01-12 16:56:08 +01:00
Andrey Kleshchev 823dbc8805 SL-18801 Crash at LLPluginProcessParent::pollTick()
Looks like pollTick tried to call an already dead process
2022-12-07 19:33:47 +02:00
Ansariel 1fc3aaff9b Merge branch 'DRTVWR-568_cmake' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	.gitignore
#	autobuild.xml
#	indra/CMakeLists.txt
#	indra/cmake/00-Common.cmake
#	indra/cmake/Boost.cmake
#	indra/cmake/BuildVersion.cmake
#	indra/cmake/CEFPlugin.cmake
#	indra/cmake/CMakeLists.txt
#	indra/cmake/CURL.cmake
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/cmake/DBusGlib.cmake
#	indra/cmake/DragDrop.cmake
#	indra/cmake/FMODSTUDIO.cmake
#	indra/cmake/FindHUNSPELL.cmake
#	indra/cmake/FindJsonCpp.cmake
#	indra/cmake/FindOpenJPEG.cmake
#	indra/cmake/FindURIPARSER.cmake
#	indra/cmake/FreeType.cmake
#	indra/cmake/GLH.cmake
#	indra/cmake/Hunspell.cmake
#	indra/cmake/JsonCpp.cmake
#	indra/cmake/LLKDU.cmake
#	indra/cmake/LLPhysicsExtensions.cmake
#	indra/cmake/LLPlugin.cmake
#	indra/cmake/LLWindow.cmake
#	indra/cmake/Linking.cmake
#	indra/cmake/MESHOPTIMIZER.cmake
#	indra/cmake/MediaPluginBase.cmake
#	indra/cmake/NGHTTP2.cmake
#	indra/cmake/OPENAL.cmake
#	indra/cmake/OpenGL.cmake
#	indra/cmake/OpenJPEG.cmake
#	indra/cmake/OpenSSL.cmake
#	indra/cmake/PNG.cmake
#	indra/cmake/Tracy.cmake
#	indra/cmake/UI.cmake
#	indra/cmake/Variables.cmake
#	indra/cmake/ViewerMiscLibs.cmake
#	indra/cmake/ZLIBNG.cmake
#	indra/cmake/bugsplat.cmake
#	indra/integration_tests/llui_libtest/CMakeLists.txt
#	indra/linux_crash_logger/CMakeLists.txt
#	indra/llaudio/CMakeLists.txt
#	indra/llcommon/CMakeLists.txt
#	indra/llcommon/llapp.cpp
#	indra/llcorehttp/CMakeLists.txt
#	indra/llimagej2coj/CMakeLists.txt
#	indra/llinventory/CMakeLists.txt
#	indra/llmath/CMakeLists.txt
#	indra/llmath/llcalcparser.h
#	indra/llmessage/CMakeLists.txt
#	indra/llprimitive/CMakeLists.txt
#	indra/llrender/CMakeLists.txt
#	indra/llrender/llglslshader.cpp
#	indra/llwindow/CMakeLists.txt
#	indra/media_plugins/CMakeLists.txt
#	indra/media_plugins/base/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/llxmlrpclistener.cpp
#	indra/newview/llxmlrpctransaction.cpp
#	indra/newview/viewer_manifest.py
#	indra/test/CMakeLists.txt
2022-09-17 23:12:34 +02:00
Nicky Dasmijn 0710d95f4b Merge remote-tracking branch 'origin/DRTVWR-543-maint_cmake' into DRTVWR-568_cmake 2022-09-16 23:15:49 +02:00
Ansariel 9300613edc Merge branch 'DRTVWR-544-maint' of https://bitbucket.org/lindenlab/viewer 2022-06-29 21:57:31 +02:00
Ansariel fc11575657 Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-ll-master 2022-06-29 20:28:29 +02:00
Andrey Lihatskiy 77ce594dec Merge branch 'master' into DRTVWR-544-maint 2022-06-29 20:31:17 +03:00
Andrey Kleshchev d1265cda36 SL-17425 Crash when closing two dependent floaters
dependent_it in llfloater was not valid after dependent floater removed itself from the list
2022-05-20 01:35:40 +03:00
Nicky 62053e1e88 Merge remote-tracking branch 'origin/DRTVWR-543-maint_cmake' into DRTVWR-543-maint_cmake 2022-05-07 18:10:29 +02:00
Nicky 767464a262 Adapt gnerator expression usage to work on OSX. 2022-05-07 02:19:51 +02:00
Ansariel ae2a0b24b8 Merge branch 'DRTVWR-543-maint' of https://bitbucket.org/lindenlab/viewer 2022-05-05 10:00:17 +02:00
Nicky 283c2a20cc Remove setting of HEADER_FILE_ONLY on .h* files, cmake automatically
sets the property on those.
2022-05-01 00:38:40 +02:00
Mnikolenko Productengine fb4aab3144 SL-17246 Fix getSharedPrt typo 2022-04-20 00:51:13 +03:00
Nicky e0cf0cdfd4 Switch to target_include_directories
All 3Ps include dirs are treated as SYSTEM, this will stop compilers
stop emitting warnings from those files and greatly helps having high
warning levels and not being swamped by warnings that come from
external libraries.
2022-04-17 18:04:57 +02:00
Nicky 2c3507a9d2 Cleanup plugin, create proper target for link libraries. Remove unused
variables.
2022-04-16 19:58:17 +02:00
Nicky b9f94c0897 Now there is a oslibrary target get rid of some more obsolete vars:
LEGACY_STDIO_LIBS (was only used for Windows)
PTHREAD_LIBRARY (only Linux)
LLDATABASE_LIBRARIES (that one was supposed for Linux, but never needed anyway)
2022-04-16 15:33:32 +02:00
Nicky bb85651d98 Create a new target ll::oslibrary to link against libs specific to the OS compiled on.
This gets rid of the a few OS specific set and uses variables (which some even seemed mostly
duplicate like WINDOWS_LIBRARIES ans UI_LIBRARIES) and it also solves the problem of
having them to tack on every target, as of no they come as a transitive dependency from llcommon
2022-04-16 15:29:02 +02:00
Nicky 786b291d9c Move CMake files to modernized cmake syntax, step 1.
Change projects to cmake targetsto get rid of havig to hardcore
include directories and link libraries in consumer projects.
2022-04-06 16:32:52 +02:00
Ansariel a74de2d794 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2022-03-01 19:14:31 +01:00
Andrey Lihatskiy 1e0eafd50c Merge branch 'master' into DRTVWR-544-maint
# Conflicts:
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/newview/llviewerregion.cpp
2022-02-28 21:56:25 +02:00
Ansariel f46a15b3f3 Merge branch 'DRTVWR-544-maint' of https://bitbucket.org/lindenlab/viewer 2022-01-11 15:04:11 +01:00
Mnikolenko Productengine d91606b354 Merge branch 'master' into DRTVWR-544-maint 2021-12-20 15:36:23 +02:00
Ansariel 496156073b Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-12-16 18:56:31 +01:00
Andrey Lihatskiy edb6293528 Merge branch 'master' into DRTVWR-530-maint 2021-12-15 21:50:40 +02:00
Andrey Kleshchev e55a0510ff SL-16510 VLC time slider sometimes does not work 2021-12-14 21:40:10 +02:00
Ansariel 969762f162 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-11-16 16:29:50 +01:00
Ansariel 3322eadea0 Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-519 2021-11-16 13:04:22 +01:00
Ansariel ced9423261 Merge branch 'DRTVWR-534' of https://bitbucket.org/lindenlab/viewer 2021-11-16 12:17:26 +01:00
Ansariel 627eecd577 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-11-16 08:22:59 +01:00
Andrey Lihatskiy ab4d4a4817 Merge branch 'DRTVWR-519' into DRTVWR-552-cache-360
# Conflicts:
#	indra/newview/app_settings/settings.xml
2021-11-16 01:24:03 +02:00
Andrey Lihatskiy 0505c6ebbb Merge branch 'master' into DRTVWR-534
# Conflicts:
#	indra/newview/VIEWER_VERSION.txt
2021-11-16 01:21:55 +02:00
Andrey Lihatskiy 0bffd3d365 Merge branch 'master' into DRTVWR-519
# Conflicts:
#	README.md
2021-11-16 01:21:05 +02:00
Andrey Lihatskiy 30c381406c Merge branch 'master' into DRTVWR-530-maint
# Conflicts:
#	doc/contributions.txt
2021-11-16 01:09:11 +02:00
Ansariel 7bef9a1605 Merge branch 'DRTVWR-530-maint' of https://bitbucket.org/lindenlab/viewer 2021-10-12 13:34:36 +02:00
Andrey Kleshchev 66b5e49a79 SL-16161 Don't process new plugin messages on shutdown #2 2021-10-11 19:26:45 +03:00
Andrey Kleshchev c1943e5efb SL-16161 Don't process new plugin messages on shutdown
Some pending messages might try to update non-existing view or cause a pop up, neither should be avaliable by this point, so just don't process them
2021-10-08 23:56:43 +03:00
Ansariel f843a97aeb Merge branch 'DRTVWR-521-maint' of https://bitbucket.org/lindenlab/viewer 2021-09-20 11:26:51 +02:00
Callum Linden b12dd38c57 SL-15867 User not logged in - very much the MVS (minimum viable solution) but by storing the OpenID cookie when it arrives then injecting it forcefully into each new media instance, it appears that the 'not logged in' problem is solved - at least in my testing, 20+ times logging in without a cache and profiles, dashboard etc. were all logged in - QA will confirm. The full solution involves providing a separate cache for each media instance and tightening up the CEF cookie calling code - that is a large project and this is sufficient for now 2021-09-01 22:26:21 +03:00
Ansariel 1536fdd1c3 Merge branch 'DRTVWR-530-maint' of https://bitbucket.org/lindenlab/viewer 2021-08-24 10:47:18 +02:00
Callum Prentice 0c89e67eb5 DRTVWR-534: Batch of modifications to 360 capture project after moving from internal repo to public one. 2021-08-20 08:28:48 -07:00
Callum Prentice 8631a7a077 Merge with tip of Master after a Viewer release 2021-07-19 14:35:44 -07:00
Andrey Lihatskiy 3a476a8296 Merge branch 'master' into DRTVWR-530-maint 2021-07-19 22:22:42 +03:00
Andrey Lihatskiy d53055406e DRTVWR-521 xcode buildfix 2021-07-12 20:32:48 +03:00
Ansariel dde3c2c7a8 Merge branch 'DRTVWR-519' of https://bitbucket.org/lindenlab/viewer 2021-06-05 14:03:30 +02:00
Andrey Kleshchev d875f80900 SL-14988 Plugin process creation can cause a notiecable delay 2021-05-25 03:31:50 +03:00
Andrey Kleshchev fa26f5eaa2 SL-14988 Viewer freezes when opening any CEF based window
Don't block main thread if possible
2021-05-24 15:59:52 +03:00
Nat Goodspeed d313d7021f SL-15200: Add LLApp::sleep(duration) methods.
Two sleep() methods: one accepting F32Milliseconds, or in general any LLUnits
time class; the other accepting any std::chrono::duration.

The significant thing about each of these sleep() methods, as opposed to any
freestanding sleep() function, is that it only sleeps until the app starts
shutdown. Moreover, it returns true if it slept for the whole specified
duration, false if it woke for app shutdown.

This is accomplished by making LLApp::sStatus be an LLScalarCond<EAppStatus>
instead of a plain EAppStatus enum, and by making setStatus() call set_all()
each time the value changes. Then each new sleep() method can call
wait_for_unequal(duration, APP_STATUS_RUNNING).

Introducing llcond.h into llapp.h triggered an #include circularity because
llthread.h #included llapp.h even though it didn't reference anything from it.
Removed. This, in turn, necessitated adding #include "llapp.h" to several .cpp
files that reference LLApp but had been depending on other header files to
drag in llapp.h.
2021-05-17 13:37:13 -04:00
Nicky 493200bca5 Undo Linux updates. 2021-03-09 10:40:01 +01:00
Nicky 4e3cd245e6 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm into linux-updates 2021-02-15 17:46:45 +01:00
Andrey Lihatskiy e275de5a82 SL-13497 Fixed error in logic 2021-02-11 13:00:48 +01:00
Andrey Lihatskiy 661d595967 SL-13497 Fixed error in logic 2021-02-10 22:31:38 +02:00
Nicky 24b2f60d1a Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm into linux-updates 2021-02-06 00:18:07 +01:00
Beq 49690e5b8b Trap one specific fail code and force refresh of pollset
There may well be others that we should do this for but for now this eliminates the worst offender
2021-02-04 22:12:28 +00:00
Ansariel 52b3bb404c Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-01-17 12:38:03 +01:00
Beq 543e5dc1d2 Improve logging of looping apr poll error in slplugin
won't change the issues but it should make the logging sane
2021-01-14 01:57:09 +00:00
Ansariel af2abe17cd Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-11-12 00:51:42 +01:00
Andrey Lihatskiy 0303dd8179 Merge branch 'master' into DRTVWR-513-maint
# Conflicts:
#	autobuild.xml
#	indra/llui/llfolderviewmodel.h
#	indra/newview/lltexturecache.cpp
#	indra/newview/llviewermenu.h
#	indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
2020-11-11 22:14:24 +02:00
Ansariel 78a79267e8 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-08-19 09:30:26 +02:00
Ansariel 000f3be01a Merge branch 'DRTVWR-507-maint' of https://bitbucket.org/lindenlab/viewer 2020-08-18 23:53:40 +02:00
Ansariel 0efda8f28d Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-08-18 22:41:20 +02:00
Nicky Dasmijn 7925f7c7c3 Merge remote-tracking branch 'fs/master' into linux-updates 2020-08-15 21:00:44 +02:00
Tonya Souther 46bd337096 FIRE-30019: Remove clamp on shared media size on Linux 2020-08-14 18:32:11 -05:00
Andrey Kleshchev 8213cc896c SL-3704 Give plugins some time to terminate
requestExit() doesn't close CEF, command sets CEF into closing state which will be processed on update()
2020-08-10 20:44:52 +03:00
Ansariel 705b5568c4 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-07-24 23:49:28 +02:00
Ansariel e5677c891a Merge branch 'DRTVWR-507-maint' of https://bitbucket.org/lindenlab/viewer 2020-07-24 20:15:15 +02:00
Nicky 15b13608ba Merge branch 'master' into linux-updates 2020-07-23 23:40:41 +02:00
Andrey Lihatskiy ae48c7c8b3 Merge branch 'master' into DRTVWR-513-maint
# Conflicts:
#	indra/llcommon/llerror.cpp
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/llimprocessing.cpp
#	indra/newview/llviewerjoystick.cpp
2020-07-21 11:54:11 +03:00
Andrey Lihatskiy f77a30f740 Merge branch 'master' into DRTVWR-507-maint
# Conflicts:
#	autobuild.xml
2020-07-21 11:30:48 +03:00
Nicky Dasmijn f116ea4cb7 Merge remote-tracking branch 'fs/master' into fs-vs2017-d476
(Note: This removed our changed dullahan, but that's okay as it is
vs2013)
2020-07-20 09:58:30 +02:00
Andrey Kleshchev 383352c61c SL-13567 Users should have separate CEF contexts 2020-07-17 19:00:58 +03:00
Ansariel 187b1e0d6e Merge branch 'DRTVWR-513-maint' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llviewerregion.h
#	indra/newview/llvoavatarself.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/skins/default/xui/en/menu_attachment_self.xml
#	indra/newview/skins/default/xui/en/menu_avatar_self.xml
#	indra/newview/skins/default/xui/en/menu_viewer.xml
2020-07-09 10:08:42 +02:00
Andrey Kleshchev 52ff68ce51 SL-13497 Sometimes plugin process isn't terminated correctly. 2020-07-06 20:13:01 +03:00
Nat Goodspeed 77cf4588df DRTVWR-476: Merge branch 'master' of lindenlab/viewer into d476
following release of D512.
2020-06-23 22:03:43 -04:00
Ansariel 77f56fa7bf Merge branch 'DRTVWR-512' of https://bitbucket.org/lindenlab/viewer 2020-05-31 15:27:02 +02:00
Nicky Dasmijn d1f6441751 Merge branch 'master' into linux-updates 2020-05-30 18:00:33 +02:00
Nicky Dasmijn cff453ff51 Merge remote-tracking branch 'eep/master' into fs-eep-vs2017 2020-05-20 13:49:20 +02:00
Nat Goodspeed ca6f092929 DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72 2020-05-06 16:06:26 -04:00
Callum Prentice 9c78928311 Initial port of the changes from DRTVWR509 (Adult Swim) minus the volume fall-off settings updates 2020-04-28 10:57:17 -07:00
Anchor b5bb0794f0 [DRTVWR-476] - fix linking 2020-03-25 18:39:20 -04:00
Nat Goodspeed 5e7df752a6 DRTVWR-494: Use std:🧵:id for LLThread::currentID().
LLThread::currentID() used to return a U32, a distinct unsigned value
incremented by explicitly constructing LLThread or by calling LLThread::
registerThreadID() early in a thread launched by other means. The latter
imposed an unobvious requirement on new code based on std::thread. Using
std:🧵:id instead delegates to the compiler/library the problem of
distinguishing threads launched by any means.

Change lots of explicit U32 declarations. Introduce LLThread::id_t typedef to
avoid having to run around fixing uses again if we later revisit this decision.

LLMutex, which stores an LLThread::id_t, wants a distinguished value meaning
NO_THREAD, and had an enum with that name. But as std:🧵:id promises
that the default-constructed value is distinct from every valid value,
NO_THREAD becomes unnecessary and goes away.

Because LLMutex now stores LLThread::id_t instead of U32, make llmutex.h
#include "llthread.h" instead of the other way around. This makes LLMutex an
incomplete type within llthread.h, so move LLThread::lockData() and
unlockData() to the .cpp file. Similarly, remove llrefcount.h's #include
"llmutex.h" to break circularity; instead forward-declare LLMutex.

It turns out that a number of source files assumed that #include "llthread.h"
would get the definition for LLMutex. Sprinkle #include "llmutex.h" as needed.

In the SAFE_SSL code in llcorehttp/httpcommon.cpp, there's an ssl_thread_id()
callback that returns an unsigned long to the SSL library. When LLThread::
currentID() was U32, we could simply return that. But std:🧵:id is very
deliberately opaque, and can't be reinterpret_cast to unsigned long.
Fortunately it can be hashed because std::hash is specialized with that type.
2020-03-25 15:28:17 -04:00
Dave Houlton 2a6b48c9b0 DRTVWR-440, merge in latest from 6.3.7 release 2020-01-28 17:26:45 -07:00
Nicky Dasmijn a135b5b428 Merge remote-tracking branch 'origin/ll-vs2017' into fs-vs2017 2019-12-21 13:14:51 +01:00
Nicky Dasmijn 7f9bce5ada Merge branch 'master' into fs-vs2017 2019-12-21 01:52:19 +01:00
Nicky Dasmijn 5e23499660 Merge branch 'master' into linux-updates 2019-12-18 10:34:06 +01:00
Dave Houlton f61a5c4642 Merge viewer-release 6.3.6 into viewwer-eep repo 2019-12-16 12:47:19 -07:00
Nat Goodspeed 218c0a1d4f Automated merge with ssh://bitbucket.org/nat_linden/viewer-llsingleton 2019-12-13 13:20:21 -05:00
Nat Goodspeed 24499ac66f Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2019-12-13 12:30:03 -05:00
Ansariel da365b227e Merge Firestorm LGPL 2019-12-13 18:15:19 +01:00
Nat Goodspeed 55d7ac5e81 DRTVWR-494: Use std:🧵:id for LLThread::currentID().
LLThread::currentID() used to return a U32, a distinct unsigned value
incremented by explicitly constructing LLThread or by calling LLThread::
registerThreadID() early in a thread launched by other means. The latter
imposed an unobvious requirement on new code based on std::thread. Using
std:🧵:id instead delegates to the compiler/library the problem of
distinguishing threads launched by any means.

Change lots of explicit U32 declarations. Introduce LLThread::id_t typedef to
avoid having to run around fixing uses again if we later revisit this decision.

LLMutex, which stores an LLThread::id_t, wants a distinguished value meaning
NO_THREAD, and had an enum with that name. But as std:🧵:id promises
that the default-constructed value is distinct from every valid value,
NO_THREAD becomes unnecessary and goes away.

Because LLMutex now stores LLThread::id_t instead of U32, make llmutex.h
#include "llthread.h" instead of the other way around. This makes LLMutex an
incomplete type within llthread.h, so move LLThread::lockData() and
unlockData() to the .cpp file. Similarly, remove llrefcount.h's #include
"llmutex.h" to break circularity; instead forward-declare LLMutex.

It turns out that a number of source files assumed that #include "llthread.h"
would get the definition for LLMutex. Sprinkle #include "llmutex.h" as needed.

In the SAFE_SSL code in llcorehttp/httpcommon.cpp, there's an ssl_thread_id()
callback that returns an unsigned long to the SSL library. When LLThread::
currentID() was U32, we could simply return that. But std:🧵:id is very
deliberately opaque, and can't be reinterpret_cast to unsigned long.
Fortunately it can be hashed because std::hash is specialized with that type.
2019-12-06 16:31:49 -05:00
Ansariel 3789a192dc Merge viewer-lynx 2019-10-16 22:48:57 +02:00