Commit Graph

29 Commits (master)

Author SHA1 Message Date
Ansariel ea5ead6f4a Merge remote-tracking branch 'FS600/master'
# Conflicts:
#	doc/contributions.txt
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
2024-05-23 18:15:07 +02:00
RunitaiLinden 7fc5f7e649
#1354 Make coroutines use LLCoros::Mutex instead of LLMutex (#1356)
* #1354 Make coroutines use LLCoros::Mutex instead of LLMutex

* #1354 Fix some more unsafe coroutine executions.

* #1354 Implement changes requested by Nat
2024-05-02 10:57:39 -05:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Alexander Gavriliuk beb6181863 SL-19299 Code formatting in modified files 2023-08-23 20:43:49 +02:00
Alexander Gavriliuk 85efb85acf SL-19299 Viewer crashes after change 'Pick a physics model:' dropdown 2023-08-23 18:16:43 +02:00
Dave Parks d9a68339d5 SL-16815 and SL-16906 Avoid redundant bumpmap generation, add some assertions around ref counting and (hack) fix crash on shutdown from dangling texture reference (reduced to 1 dangling texture from several hundred, can't find the remaining reference). 2022-02-23 16:51:33 -06: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
andreykproductengine fa15830e02 SL-10291 Replace apr_atomic with standard C++11 functionality 2019-01-15 18:31:17 +02:00
andreykproductengine 346fc435f1 SL-10291 cleanup-mutex 2019-01-17 01:53:27 +02:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nat Goodspeed 8bd39583fe MAINT-4952: Fix misplaced comments on intrusive_ptr_etc() overloads. 2015-06-29 15:32:47 -04:00
callum_linden 3d35d2f78d Update to build on Xcode 6.0: fix Boost intrusive_ptr scoping issue (part 2 - tidy up) 2014-10-17 20:24:58 -07:00
callum_linden b23afb709d Update to build on Xcode 6.0: fix Boost intrusive_ptr scoping issue 2014-10-17 20:24:02 -07:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Richard Linden e8aa0c493b BUILDFIX: some gcc build fixes 2013-07-30 19:50:37 -07:00
Richard Linden e5b51c7f6c BUIDLFIX: moved LLThreadSafeRefCount to proper file 2013-07-22 11:01:52 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Richard Linden 2fa1c42aad CHUI-51 WIP notifications routig code cleanup
phase 2, removal of extraneous signaling in favor of llnotificationchannels
made notificationchannels work better with overrides and lifetime managed
by creator
2012-03-29 23:48:29 -07:00
Nyx (Neal Orman) d8cf705d01 BUILDFIX: fixing linux build breakage
cleaning up a bit of syntax that gcc is complaining about.

reviewed by bao
2011-01-06 13:07:18 -05:00
Xiaohong Bao c876e78c10 trival: fix compiling errors for Linux. 2011-01-04 17:51:58 -07:00
Xiaohong Bao f1b7fce1db a debug tool to detect LLPointer issues for SH-694: check if there are any other LLPointer issues in the mesh model uploading flow and fix them if exist.
This debug tool is off by default. To turn it on, set LL_REF_COUNT_DEBUG to be 1 in the header file "llcommon/llrefcount.h".
2011-01-04 16:28:40 -07:00
Oz Linden a5619d16f7 correct licenses (fix problem with license change merge) 2010-10-13 07:24:37 -04:00
richard 337716d946 LLPointer cleanup and fix for EXT-4413
reviewed by Rick
2010-01-22 16:51:13 -08:00
brad kittenbrink d020dae7b9 Merged latest login-api with latest viewer-2.0.0-3 up through plugin-api-05 merge (r131929).
Some minor post-merge cleanups still required.
2009-08-27 16:25:02 -04:00
Richard Nelson 138bf11322 merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3
DEV-11254 DEV-11254 DEV-2003: DEV-21567 DEV-37301 EXT-104 EXT-138 EXT-217 EXT-256 EXT-259 EXT-259 EXT-328 EXT-348 EXT-386 EXT-399 EXT-403 EXT-460 EXT-492 EXT-492 EXT-531 EXT-537 EXT-684

improved text editor (handles multiple fonts simultaneously as well as inline widgets)
2009-08-24 20:04:52 +00:00
Steven Bennetts 9ec432034d merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3
ignore-dead-branch
2009-06-21 08:04:56 +00:00
Brad Kittenbrink 01d390825a DEV-27646 dll linkage for login module.
Ok, finally got this to a point where it doesn't break the build and I can check
in. llcommon can be built as a shared library (disabled but can be enabled with
cmake cache var LLCOMMON_LINK_SHARED.

reviewed by Mani on tuesday (I still need to get his suggested changes
re-reviewed)
2009-05-22 23:27:16 +00:00
Steven Bennetts a4000c3744 merge trunk@116587 skinning-7@119389 -> viewer-2.0.0-skinning-7 2009-05-08 07:43:08 +00:00