summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.h
AgeCommit message (Collapse)Author
2012-11-13Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2012-10-16Introduce LLAppViewer::initStrings(); reload default_trans_args.Nat Goodspeed
Calling LLTrans::setDefaultArg() after LLTransUtil::parseStrings() is almost good enough -- but it fails to address the case in which one or more of the default_trans_args strings (e.g. "create_account_url") embeds a reference to the new substitution. So after the setDefaultArg() call, go back through default_trans_args, refetching each string to perform the substitution and updating it with a setDefaultArg() call of its own. All this is way too much logic to replicate in both LLAppViewer::initConfiguration() and init(), so break out new LLAppViewer::initStrings() method and call it from both places.
2012-08-03Merge of viewer-development (3.4.1).Monty Brandenberg
2012-07-19SH-3280 Better init/shutdown functionality for llcorehttp by llappviewerMonty Brandenberg
Isolate llcorehttp initialization into a utility class (LLAppCoreHttp) that provides glue between app and library (sets up policies, handles notifications). Introduce 'TextureFetchConcurrency' debug setting to provide some field control when absolutely necessary.
2012-06-04merge changes for DRTVWR-157Oz Linden
2012-04-10STORM-1842 Don't save per-account settings if login not fully successfulZi Ree
Repo created from Firestorm patch by Jonathan Yap
2012-03-14Add --leap command-line switch to launch one or more LEAP plugins.Nat Goodspeed
You can specify one or more instances of --leap 'command line'. Each such command line is parsed using bash-like conventions, notably honoring double quotes, e.g. --leap '"c:/Program Files/Something/something.exe" arg1 arg2'. (Specifying such an argument in a Windows Command Prompt may be tricky.) Such a program should read its stdin and write to its stdout using LLSD Event API Plugin protocol: length:serialized_LLSD where 'length' is the decimal integer count of bytes in serialized_LLSD, ':' is a literal colon character, and 'serialized_LLSD' is notation-format LLSD. A typical LLSD object is a map containing 'pump' and 'data' keys, where 'pump' is the name of the LLEventPump on which to send 'data' (or on which 'data' was received). In particular, the initial LLSD object on stdin mentions the name of this plugin's reply LLEventPump: the LLEventPump that will send every subsequent received event to the plugin's stdin. Anything written to the plugin's stderr will be logged in the viewer log. In addition to being generally useful, this helps debug problems with particular plugins.
2011-10-14Merge backout of b782a75c99e6Dave Parks
2011-10-14Backed out changeset b782a75c99e6Dave Parks
2011-08-31MergeXiaohong Bao
2011-08-19STORM-1543 WIP Fixed auto-moving offered inventory items to trash.Vadim ProductEngine
It turned out impossible to properly remove an inventory item from within LLDiscardAgentOffer::done(), because that would lead to nested LLInventoryModel::notifyObservers() calls. Fixed that by deferring removal until the next LLAppViewer::idle() iteration. Also elimiteed duplicated code.
2011-07-15Merge from viewer-developmentXiaohong Bao
2011-03-30SOCIAL-853 FIX As a new user, I would like Second Life to start up with a ↵Linden Staff@LINDEN-E5E9EA17.lindenlab.com
maximized window to fully immerse myself in the experience * Added virtual meetsRequirementsForMaximizedStart() function to determine whether or not to start the initial experience in a maximized window Reviewed by Richard
2011-02-23MergeXiaohong Bao
2011-02-23Merge from viewer-developmentXiaohong Bao
2011-02-22SOCIAL-545 WIP Figure out how to configure skylight-specific settings while ↵Richard Linden
retaining relevant user settings (login account name, etc.) converted settings_file.xml to use param block descriptions for easier modification added session settings file and user session settings file for per-session config overrides
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2010-12-17Merge from viewer-development post 2.4 releaseMonty Brandenberg
2010-12-09merge from http://hg.secondlife.com/viewer-developmentMonty Brandenberg
2010-12-03first iteration of memory pool codeXiaohong Bao
2010-12-02mergeMonroe Linden
2010-11-29ESC-154 ESC-156 Now using region hash rather than region uuid as identifier.Monty Brandenberg
In the viewer, the region's UUID is acquired very late and isn't generally used as the canonical region identifier. The U64 region hash is a better and more consistently used identifier so I'm moving over to using that as the region key. Don't have a proper reserved invalid region hash which is unfortunate, but then, so much is.
2010-11-24ESC-154 ESC-156 Metrics integration across threadsMonty Brandenberg
Using unpause() method in derived class rather than wake() in furthest base class solved the stalling problem. I still think too many levels of the LLTextureFetch hierarchy are keeping thread state, however. The LLViewerRegion instance an agent enters doesn't necessarily have its region_id yet, that only comes after the handshake, if any. So add a few more metrics insertion points to propagate region into metrics. Finally, try to launch a final metrics report when a quit is initiated.
2010-11-18Merge with viewer-developmentMark Palange (Mani)
2010-11-18ESC-154 ESC-155 ESC-156Monty Brandenberg
Asset fetch requests wrapped to allow for measurements. Asset fetch enqueues, dequeues and completion times recorded to asset stats collector. Texture fetch operations (http and udp) recorded to asset stats collector. Stats collector time vallue switched from F32 to U64 which is the more common type in the viewer. Cross-thread mechanism introduced to communicate region changes and generate global statistics messages. Facility to deliver metrics via Capabilities sketched in but needs additional work. Documentation and diagrams added.
2010-11-15mergeRichard Linden
2010-11-05STORM-105 : Take Vadim code review into account, code clean upMerov Linden
2010-11-05Merge latest lindenlab/viewer-development with mani_linden/viewer-development.brad kittenbrink
2010-11-04merge with viewer-developmentMerov Linden
2010-10-27STORM-105 : improve decompression perf gathering, allow perf name to be ↵Merov Linden
passed on the command line, fix crash in analysis phase
2010-10-27CHOP-122 Initializing Facade service in the viewer. Rev. by Brad.Mark Palange (Mani)
2010-10-21Automated merge up from viewer-developmentLoren Shih
2010-10-14for SH-335: create a debug tool to track of memory availability.Xiaohong Bao
2010-10-13improved fastquit logic which should reliably disconnect viewer from simRichard Linden
2010-10-11fix for linux buildRichard Nelson
2010-10-08added "FastQuit" option for forceful termination, default is offRichard Linden
2010-10-07EXP-167: Quit On Login Page Activated - viewer code /default settingcallum
2010-09-27MergeLeyla Farazha
2010-09-16mergeRichard Linden
2010-09-16MergeLeyla Farazha
2010-09-03Post-convert merge by convert_monolith.py from ↵Aimee Linden
/Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution
2010-09-01code for DEV-52939: viewer's object geometry cache files are not limited in ↵Xiaohong Bao
number, and can also be incorrectly cleared with the VFS cache. reviewed by andrew.
2010-08-27Post-convert merge by convert_monolith.py from ./viewer-experienceMonroe Linden
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-12added remaining hints and fade in/fade out behaviorRichard Linden
2010-06-21Merge with q/viewer-releaseLeyla Farazha
2010-05-27Removed the SyncErrorHandler from llapp and llappviewer*.Lynx Linden
This was only used for the Linux client to dump a stack trace to stack_trace.log, which is no longer needed now that we are using Google Breakpad. I also removed all of the stack printing code from llappviewerlinux.cpp.
2010-05-13merge pull from dessie/viewer-public, picking up SLE codeJames Cook
2010-05-11merge from dessie/viewer-public right before SLE code landedJames Cook
2010-04-19DEV-47529 Viewer refresh name lookup cap URL on region cross/teleportJames Cook
Reviewed with Kelly