Commit Graph

103 Commits (a831237e29c650146b6870b568feddcda310ab29)

Author SHA1 Message Date
Ansariel a831237e29 Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llimage/llimage.cpp
#	indra/llimage/llimage.h
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llfloaterpreference.h
#	scripts/messages/message_template.msg.sha1
2024-02-06 17:58:20 +01:00
simon 3777dbb3d6 More sl-20635 - moved new attachment data to AvatarAppearance message 2023-12-08 23:57:40 +00:00
Ansariel 2bc4fb2bf0 Merge branch 'DRTVWR-567' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcommon/llqueuedthread.cpp
#	indra/llcommon/llsdserialize.cpp
#	indra/llcommon/llsdserialize.h
#	indra/llcommon/llthreadsafequeue.h
#	indra/llinventory/llsettingssky.cpp
#	indra/llui/llfolderviewitem.cpp
#	indra/llui/llview.h
#	indra/newview/llaisapi.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterproperties.cpp
#	indra/newview/llfloaterproperties.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llpanelmaininventory.cpp
#	indra/newview/llpanelmaininventory.h
#	indra/newview/llpanelmarketplaceinbox.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpathfindingnavmesh.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/llsidepanelinventory.cpp
#	indra/newview/llsidepanelinventory.h
#	indra/newview/llsidepaneliteminfo.cpp
#	indra/newview/llsidepaneltaskinfo.cpp
#	indra/newview/llviewerfloaterreg.cpp
#	indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml
#	indra/newview/skins/default/xui/en/panel_main_inventory.xml
#	indra/newview/skins/default/xui/en/panel_profile_firstlife.xml
#	indra/newview/skins/default/xui/en/panel_profile_secondlife.xml
#	indra/newview/skins/default/xui/en/sidepanel_inventory.xml
#	indra/newview/skins/default/xui/en/sidepanel_item_info.xml
#	indra/newview/skins/default/xui/en/sidepanel_task_info.xml
#	indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml
#	indra/newview/skins/default/xui/ru/floater_inventory_item_properties.xml
2023-02-13 23:35:21 +01:00
Brad Payne (Vir Linden) 27046fcc14 SL-18629 - moving createNewCategory to AIS3 2022-11-21 13:48:23 +00:00
Ansariel dde3c2c7a8 Merge branch 'DRTVWR-519' of https://bitbucket.org/lindenlab/viewer 2021-06-05 14:03:30 +02: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 Dasmijn 27715d4d03 Merge remote-tracking branch 'll/d476' into fs-eep-vs2017-d476 2020-05-21 06:54:02 +02:00
Nat Goodspeed 9d5d257cee DRTVWR-476, SL-12204: Fix crash in Marketplace Listings.
The observed crash was due to sharing a stateful global resource (the global
LLMessageSystem instance) between different tasks. Specifically, a coroutine
sets its mMessageReader one way, expecting that value to persist until it's
done with message parsing, but another coroutine sneaks in at a suspension
point and sets it differently.

Introduce LockMessageReader and LockMessageChecker classes, which must be
instantiated by a consumer of the resource. The constructor of each locks a
coroutine-aware mutex, so that for the lifetime of the lock object no other
coroutine can instantiate another.

Refactor the code so that LLMessageSystem::mMessageReader can only be modified
by LockMessageReader, not by direct assignment. mMessageReader is now an
instance of LLMessageReaderPointer, which supports dereferencing and
comparison but not assignment. Only LockMessageReader can change its value.

LockMessageReader addresses the use case in which the specific mMessageReader
value need only persist for the duration of a single method call. Add an
instance in LLMessageHandlerBridge::post().

LockMessageChecker is a subclass of LockMessageReader: both lock the same
mutex. LockMessageChecker addresses the use case in which the specific
mMessageReader value must persist across multiple method calls. Modify the
methods in question to require a LockMessageChecker instance. Provide
LockMessageChecker forwarding methods to facilitate calling the underlying
LLMessageSystem methods via the LockMessageChecker instance.

Add LockMessageChecker instances to LLAppViewer::idleNetwork(), a couple cases
in idle_startup() and LLMessageSystem::establishBidirectionalTrust().
2020-05-14 16:58:33 -04:00
Ansariel c182741596 Merge viewer-lynx 2016-11-16 09:55:54 +01:00
AndreyL ProductEngine 7fceb3a63f Merged in lindenlab/viewer-cleanup 2016-11-14 22:04:37 +02:00
Ansariel 42c77ab5bc Merge Firestorm LGPL 2016-11-04 12:52:13 +01:00
Ansariel b8d1160cd8 Restore original LLMessageSystem HTTP options for OpenSim (0 retries and 60 seconds timeout) 2016-11-01 21:26:35 +01:00
Ansariel c13d5c4072 Merge viewer-bear 2016-09-20 11:44:19 +02:00
Nat Goodspeed c92eb7e591 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-30 11:36:06 -04:00
Ansariel Hiller 5e2676994c Fix HttpCoroutineAdapter name for clarity 2016-07-26 19:26:28 +00:00
Ansariel d0ddccdac2 Fix HTTP adapter naming 2016-07-25 11:48:53 +02:00
Ansariel 2797c5938a Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Oz Linden 5822fb00b6 merge DRTVWR-398 build cleanup fixes 2016-03-07 12:41:11 -05:00
Ansariel 11bdf84fd9 Merge viewer-quickgraphics 2016-02-13 16:30:42 +01:00
Oz Linden be8844ff3b MAINT-1945: correct total bytes sent in log stats 2016-02-12 16:58:33 -05:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nicky c218e524b2 Merge - Step 1; Still enough to do. 2015-10-26 20:20:13 +01:00
Rider Linden 75c6549fde Set consistent terminology for yield/wait -> suspend for coroutines. 2015-09-18 11:39:22 -07:00
Rider Linden 97236a42ca MAINT-5507: Remove HTTPClient and related cruft. 2015-09-14 11:15:23 -07:00
Rider Linden 7c61728b4b MAINT-4952: Removed a bit of debug code that got included accidentally and change host == LLHost() to host.isInvalid() 2015-08-24 14:19:30 -07:00
Nat Goodspeed 62527e6f18 MAINT-5506: Fix ugly timing bug in llurlentry static initialization.
The problem was that class-static LLUrlEntryParcel::sRegionHost was being
initialized by copying class-static LLHost::invalid. Naturally, these two
statics are initialized in different source files. Since C++ makes no promises
about the relative order in which objects in different object files are
initialized, it seems we hit a case in which we were trying to initialize
sRegionHost by copying a completely uninitialized LLHost::invalid.
In general we might attempt to address such cross-translation-unit issues by
introducing an LLSingleton. But in this particular case, the punch line is
that LLHost::invalid is explicitly constructed identically to a
default-constructed LLHost! In other words, LLHost::invalid provides nothing
we couldn't get from LLHost(). All it gives us is an opportunity for glitches
such as the above.
Remove LLHost::invalid and all references, replacing with LLHost().
2015-08-18 17:05:29 -04:00
Rider Linden 8c311d69cd MAINT-5506: Forgot to remove LLFnPtrResponder 2015-08-14 16:56:19 -07:00
Rider Linden aa3042ea33 MAINT-5506: Converted llmessage untrusted sim message responder to coroutine.
Removed HTTPSender, HTTPNullSender, HTTPCapSender.
Moved UntrustedMessageCap storage into LLHost
Added boost libraries to PROJECT_x_TEST linkage.
2015-08-14 16:45:26 -07:00
Nat Goodspeed 4302637464 MAINT-5232: Make gMessageSystem an LLPounceable<LLMessageSystem*>.
This will permit other subsystems to use gMessageSystem.callWhenReady() to (e.g.)
register callbacks as soon as gMessageSystem is fully initialized.
2015-05-23 12:41:47 -04:00
Oz Linden a8ef252571 merge changes for 3.7.27-release 2015-04-13 16:23:36 -04:00
Nicky 006190f2a1 Merge with tools update. 2015-05-05 13:09:27 +02:00
Ansariel 9be423524d Merge LL V3.7.27 2015-04-14 22:08:31 +02:00
andreykproductengine 797f221e67 MAINT-4708 better grouping of ack messages between viewer and server 2014-12-18 20:05:36 +02:00
callum_linden 23711c9275 Rename llround(..) to ll_round(..) because of a collision with MS llround (long long round) in VS2013 2014-12-10 08:44:08 -08:00
Ansariel f4bfb1aadf Merge LL V3.7.9 (AIS3 + SSA) 2014-10-22 02:02:08 +02:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
Brad Payne (Vir Linden) d9e3a2948a merge 2014-03-12 17:24:07 -04:00
Richard Linden 5b846ed2a6 merge with release 2014-03-12 12:48:43 -07:00
Tank_Master 6095a2072d more deprecated call fixes (llmsg -> LL_MSG() / llendl -> LL_ENDL) 2014-06-10 08:01:16 -07:00
Tank_Master 6babf8abd2 Merge LL 3.7.7 2014-06-09 11:29:57 -07:00
Tank_Master 3d1ac7c0ec Merge LL 3.7.3 (Viewer-Bear fixes) 2014-03-17 14:14:15 -07:00
maksymsproductengine 241259820c MAINT-3269 FIXED crash in LLMessageSystem::callExceptionFunc 2013-11-12 20:05:45 +02:00
Richard Linden 612892b45a SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
continued conversion to units system
made units perform type promotion correctly and preserve type in arithmetic
e.g. can now do LLVector3 in units
added typedefs for remaining common unit types, including implicits
2013-08-18 22:30:27 -07:00
Richard Linden 25937040de SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
converted many values over to units system in effort to track down
source of 0 ping
2013-08-16 12:38:12 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden a2e22732f1 Summer cleaning - removed a lot of llcommon dependencies to speed up build times
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
2013-07-30 19:13:45 -07:00
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Don Kjer beeefb4526 Renaming HTTP_HEADER_* into HTTP_IN_HEADER_* and HTTP_OUT_HEADER_* to make it more clear which header strings should be used for incoming vs outgoing situations.
Using constants for commonly used llhttpnode context strings.
2013-04-04 21:50:45 +00:00