summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
AgeCommit message (Collapse)Author
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-13MAINT-6366 - diagnostics related to animation asset downloadsBrad Payne (Vir Linden)
2016-06-02MAINT-5194 Visual Outfit browserpavelkproductengine
Made refactoring of LLFloaterOutfitSnapshot and LLFloaterSnapshot
2016-05-26Fix typo in platform test for CEF versionCallum Prentice
2016-05-26Put back QuickTime plugin code for OS X only (untested - moving code to OS X ↵callum_linden
dev)
2016-05-24MAINT-6419 Simplified the version check + buildfixAndreyL ProductEngine
2016-05-24Merge VOB with release 4.0.6pavelkproductengine
2016-05-23Automated merge with tip of viewer-releasecallum_linden
2016-05-21merged jelly-doll viewer-release into bentoBrad Payne (Vir Linden)
2016-05-20MAINT-6419 Show the release notes when first starting a new viewerAndreyL ProductEngine
2016-05-10Added support for arbitrary URLs and cleaned up codecallum_linden
2016-05-20Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-05-13MAINT-6383 SLT timestamp in "About second life" floaterandreykproductengine
2016-05-10Merged in oz_linden/maint-5974Mnikolenko Productengine
2016-05-09Add version infocallum_linden
2016-05-06mergeBrad Payne (Vir Linden)
2016-05-06merge 4.0.4-release and MAINT-5974Oz Linden
2016-04-29MAINT-6226 Incorporate a customized Snapshot feature to Outfit Browser flowpavelkproductengine
Initial version, further refactoring pending
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-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-02-07put the KDU, Fmod*, and CEF versions back in the About infoOz Linden
2016-02-04add build configuration to the About box if it is not ReleaseOz Linden
remove some superfluous other information from About
2016-01-15merge changes for 4.0.1-releaseOz Linden
2016-01-15mergeBrad Payne (Vir Linden)
2016-01-15Merge VRRider Linden
2016-01-04MAINT-489 various cache and log files not being deletedandreykproductengine
2015-12-22Merge downstream, version 4.0.1AndreyL ProductEngine
2015-12-18MergeRider Linden
2015-12-18mergeBrad Payne (Vir Linden)
2015-12-18MergeRider Linden
2015-12-15Throttle consecutive connect attempts.rider
2015-11-13MAINT-5860: remove timestamp from the about box (version id is enough)Oz Linden
2016-01-15merge changes for 4.0.1-releaseOz Linden
2015-12-18merge changes for 4.0.0-releaseOz Linden
2015-11-10Added code to initiate controlled shutdown of plugins with timeouts for ↵Rider Linden
misbeahving plugin.
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-11-06MAINT-5754: Basic keyboard functionality on the Mac. Still incompleterider
2015-11-02Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2015-10-27Pulled merge from bento prime.Aura Linden
2015-10-27Fixes SL-202 joint offset and skin weight import. Race condition still exists.Aura Linden
2015-10-27MAINT-3491 FIXED If ALM is enabled while in wireframe mode, disabling ↵ruslantproductengine
wireframe mode results in a black screen.
2015-10-21SL-234 WIP - moved LLSkinningUtil funcs to separate class/files. Remap ↵Brad Payne (Vir Linden)
weights where needed. Warn that related debug settings require restart to take effect.
2015-10-20Merge with tip of viewer-releasecallum_linden
2015-10-19MAINT-5732: Behavior #2. Be sure that the internet stream is stopped before ↵Rider Linden
destroying the streaming audio interface. Otherwise FMODEX blocks on close.