summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2016-07-01Automated merge with ssh://bitbucket.org/nat_linden/viewer-mac-mainloopNat Goodspeed
2016-06-30DRTVWR-418: Unify control flow through LLAppViewer across platforms.Nat Goodspeed
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This makes sense -- but on Mac that structure was being subverted. The method called mainLoop() was in fact being called once per frame. There was initialization code in the method, which (on Mac) needed to be skipped with an already-initialized bool. There was a 'while' loop which (on Mac) needed to be turned into an 'if' instead so the method would return after every frame. Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer and LLCrashLogger. Document the fact that frame() returns true to mean "done." (This was always the case, but had to be inferred from the code.) Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free function it calls from runMainLoop() to pumpMainLoop(). Add comments to llappdelegate-objc.mm explaining (inferred) control flow. Change the Linux viewer main() and the Windows viewer WINMAIN() from a single LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true. Move initialization code from the top of LLAppViewer::frame() to the init() method, where it more properly belongs. Remove corresponding mMainLoopInitialized flag (and all references) from LLAppViewer. Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())') from LLAppViewer::frame() -- thus unindenting the whole body of the 'while' and causing many lines of apparent change. (Apologies to reviewers.) There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING, APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know under what circumstances the state might transition to STOPPED during a frame() call, but I'm quite sure that if it does, we don't want to call frame() again. We only want a subsequent call if the state is RUNNING. Also rename mainLoop() method in LLCrashLogger subclasses LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's completely up to the frame() method whether to yield control; none of those in fact do. Honor protocol by returning true (frame() is done), even though each one's main() caller ignores the return value. In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol correctly anyway, returning wParam or 0 or 1 -- possibly because the return protocol was never explicitly documented. It should always return true: "I'm done, don't call me again."
2016-06-28DRTVWR-418: Double coroutine stack size for 64-bit buildsNat Goodspeed
on the advice of NickyD.
2016-06-24MergeRider Linden
2016-06-24MAINT-6521: A compare against a static const empty string causes segfault in ↵Rider Linden
integration tests on Mac and Linux. Use empty() test instead.
2016-06-23MergeRider Linden
2016-06-23MAINT-6521: Allow anonymous connections to bypass the dependency and order ↵Rider Linden
tracking.
2016-06-16Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-06-14MAINT-5040 Warning "ll_apr_warn_status: APR: Connection refused" continually ↵Mnikolenko Productengine
appears on Linux
2016-06-13MAINT-6366 - diagnostics related to animation asset downloadsBrad Payne (Vir Linden)
2016-06-01MAINT-6446 Correct password length handlingandreykproductengine
2016-05-21merged jelly-doll viewer-release into bentoBrad Payne (Vir Linden)
2016-05-19Automated merge with tip of viewer-release to pick up 4.0.5callum_linden
2016-05-20Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-05-18MAINT-6409 invisiprims should be preloadedandreykproductengine
2016-05-06Merge with https://bitbucket.org/oz_linden/maint-5974 to pick up a variety ↵callum_linden
of fixes
2016-05-06Merge with viewer-releasecallum_linden
2016-05-06mergeBrad Payne (Vir Linden)
2016-05-06mergeBrad Payne (Vir Linden)
2016-05-06merge 4.0.4-release and MAINT-5974Oz Linden
2016-05-06merge changes for 4.0.4-releaseOz Linden
2016-04-26MAINT-6336: Initialize TempBoundListener with constructorRider Linden
2016-04-26MAINT-6336: Put the timeout upstream of the suspending pump and fire the ↵Rider Linden
timeout it. Also some cleanup on LLSD construction in vivox.
2016-04-24Windows z64: Disable warning 4267 via llpreprocessor rather than cmake filesNicky
(transplanted from 165fa5852652a1da005cf3b2201c192f028efd43)
2016-04-22Fasttimers: Windows) Always use the __rdtsc() intrinsic rather than inline ↵Nicky
assembly. Linux/OSX) The rtdsc assembly intruction is clobbering EAX and EDX, the snippet was not protecting EDX accordingly. (transplanted from 6307b134f821390367d4c86a03b9a492ac7ed282)
2016-04-22MAINT-6336: Centralize waiting on event pump with a timeout. Shorten the ↵Rider Linden
lifespan of a timeout event pump lifespan to be no longer than necessary. Change all references to the LLEventTimer to instead uses the centralized version.
2016-04-22Windows: USe the correct datatypes when calling the Windows API.Nicky
(transplanted from 8b0c42b1a4f0416a17c8ec6078a85c5773f69a25)
2016-04-22Windows x64: Cannot use inline assembly.Nicky
(transplanted from ee32840fc591f5529a0b544243e7b4146eb8f531)
2016-04-21DRTVWR-418 remove vestiges of TCMALLOC and GooglePerfTools from the viewercallum_linden
2016-04-21SL-315 - disable call stack dumping in release, where we don't have the info ↵Brad Payne (Vir Linden)
anyway.
2016-04-21MAINT-6317 [QuickGraphics-RC] Some rigged mesh attachments render fully on ↵ruslantproductengine
jellybaby avatars when ALM is enabled FIXED - remove global identifier for the black texture - add black texture 2x2x3 localy on apllication startup - add special flag to LLViewerFetchedTexture for protect from removing
2016-04-20MAINT-6336: Crasher showing up in voice was a Bound Listener that should ↵Rider Linden
have been a Temp Bound listener.
2016-04-20SL-371 - increased the limit for StackWalker strings, avoid crashing if mesh ↵Brad Payne (Vir Linden)
has wrong number of mAlternateBindMatrix matrices
2016-04-20MAINT-6322 fix merge error that prevented crash dumps from being located for ↵Oz Linden
upload (and add better logging)
2016-04-20MAINT-6322 fix merge error that prevented crash dumps from being located for ↵Oz Linden
upload (and add better logging)
2016-04-04merge with 4.0.3-releaseOz Linden
2016-04-01mergeBrad Payne (Vir Linden)
2016-03-22fix merge error for specular rendering on impostorsOz Linden
2016-03-21mergeBrad Payne (Vir Linden)
2016-03-17MergeRider Linden
2016-03-16merge changes for DRTVWR-417Oz Linden
2016-03-07merge DRTVWR-398 build cleanup fixesOz Linden
2016-03-07SL-315 WIP - more call stack tracing, initial hooks for avatar reset ↵Brad Payne (Vir Linden)
skeleton option.
2016-02-23SL-287 WIP - fixed default avatar crash caused by added spine joints. Still ↵Brad Payne (Vir Linden)
renders distorted.
2016-02-19MAINT-5022 [QuickGraphics] Materials should not be applied to simple impostersruslantproductengine
Fixe based on that texture with assetd id: "3b39cc01-c2d1-e194-1181-e4404978b20c" will exist on data server.
2016-02-03SL-315 - context strings, comments, debugging. joint_test temporarily disabled.Brad Payne (Vir Linden)
2016-02-01SL-315 - untest old stack traceBrad Payne (Vir Linden)
2016-01-29SL-315 test old stack traceBrad Payne (Vir Linden)
2016-01-28SL-315 - fix for LLCallStack stubs for mac/linux.Brad Payne (Vir Linden)
2016-01-28SL-315 - verbose option for CallStack objects, doc headers in ↵Brad Payne (Vir Linden)
StackWalker.{h,cpp}