summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-27DRTVWR-418: initSingleton(), cleanupSingleton() must be non-static.Nat Goodspeed
2017-04-27DRTVWR-418: Use conventional LLSingleton init/cleanup for LLWinDebug.Nat Goodspeed
LLWinDebug, though an LLSingleton, had (and required explicit calls to) special init() and cleanup() methods. Kitty Barnett points out that the cleanup() method was actually being called after LLSingletonBase::deleteAll(), requiring resurrection of the deleted LLWinDebug, which sometimes led to crashes. (Resurrecting deleted LLSingletons is always suspect.) Change LLWinDebug::init() and cleanup() to the conventional initSingleton() and cleanupSingleton() methods. This eliminates the need to make special method calls at all. In particular, cleanupSingleton() will be called by the existing LLSingletonBase::cleanupAll() call near viewer shutdown. We retain the early LLWinDebug::instance() call, which implicitly initializes the LLWinDebug instance, because evidently we want that initialized early. But we no longer require a separate init() call.
2017-04-27DRTVWR-418: Remove misleading comment -- no more implicit deleteAll().Nat Goodspeed
The comment indicates that calling LLSingletonBase::deleteAll() is optional because the LLSingleton machinery implicitly calls that during final static-object cleanup. That is no longer true.
2017-04-24DRTVWR-418: Remove final shutdown cleanup as a cause of crashes.Nat Goodspeed
The recent LLSingleton work added a hook that would run during the C++ runtime's final destruction of static objects. When the LAST LLSingleton in any module was destroyed, its destructor would call LLSingletonBase::deleteAll(). That mechanism was intended to permit an application consuming LLSingletons to skip making an explicit deleteAll() call, knowing that all instantiated LLSingleton instances would eventually be cleaned up anyway. However -- experience proves that kicking off deleteAll() processing during the C++ runtime's final cleanup is too late. Too much has already been destroyed. That call tends to cause more shutdown crashes than it resolves. This commit deletes that whole mechanism. Going forward, if you want to clean up LLSingleton instances, you must explicitly call LLSingletonBase::deleteAll() during the application lifetime. If you don't, LLSingleton instances will simply be leaked -- which might be okay, considering the application is terminating anyway.
2017-04-21Automated merge with tip of viewer64 (after it was merged with viewer-release)Callum Prentice
2017-04-21Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-04-21Automated merge with tip of viewer64Callum Prentice
2017-04-21Fix windows line endings because it's 2017 and our tools can't deal with itCallum Prentice
2017-04-21tweak shutdown procedure for example plugin to match our new methodologyCallum Prentice
2017-04-21DRTVWR-418: Send address_size with login and viewer stats.Nat Goodspeed
2017-04-19Fix for 32bit builds of example plugin - need an extra parameter for visual ↵Callum Prentice
studio
2017-04-19Pull in improvements to LLProcess termination via a commit from Nat Linden ↵Callum Prentice
here: https://bitbucket.org/rider_linden/doduo-viewer/commits/4f39500cb46e879dbb732e6547cc66f3ba39959e?at=default
2017-04-19Add back the missing pieces and updated code for the example plugin. It was ↵Callum Prentice
useful during testing SLPlugin changes. Not shipped with release versions of viewer
2017-04-19Turn off message that is expected behavior and will fill up the logs/consoleCallum Prentice
2017-04-19Remove the scary 32bit exception handler that patches kernel32.dll since it ↵Callum Prentice
was (a) scary, (b) didn't work on 64 bit and (c) likely the cause of a lot of anti-virus false positives
2017-04-19Hopeful fix for MAINT-7220 Windows Error Message 'SLPlugin.exe has stopped ↵Callum Prentice
working ' appears.
2017-04-19increment viewer version to 5.0.5Oz Linden
2017-04-19Added tag 5.0.4-release for changeset 022709ef76a3Oz Linden
2017-04-06Automated merge with head of viewer64Callum Prentice
2017-04-06Partial fix for MAINT-7236 Web content does not always respect UI Size ↵Callum Prentice
preference (pull in new version of Dullahan with improved support)
2017-04-06DRTVWR-418, MAINT-7242: Update viewer64 to KDU 7.9.1 build 504041.Nat Goodspeed
2017-04-05Fix for MAINT-7227 Drop down lists do not close after use in internal web ↵Callum Prentice
browser. (Surprisingly large amount of changes and new version of Dullahan to support this fix)
2017-04-03Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-03-30 fix for MAINT-6998 64bit viewer installs to Program Files (x86) by default. ↵Callum Prentice
- this change also fixes MAINT-5365 Windows viewer uninstall icon is system default not SL logo
2017-03-31Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2017-03-30DRTVWR-418: Eliminate reference to LLParcelSelection::sNullSelection.Nat Goodspeed
2017-03-30Automated merge with ssh://bitbucket.org/lindenlab/viewer64-xcode-8.3Nat Goodspeed
2017-03-30DRTVWR-418: Xcode 8.3 complains about LLSafeHandle<T> implementation.Nat Goodspeed
The previous LLSafeHandle<T> implementation declares a static data member of the template class but provides no (generic) definition, relying on particular specializations to provide the definition. The data member is a function pointer, which is called in one of the methods to produce a pointer to a "null" T instance: that is, a dummy instance to be dereferenced in case the wrapped T* is null. Xcode 8.3's version of clang is bothered by the call, in a generic method, through this (usually) uninitialized pointer. It happens that the only specializations of LLSafeHandle do both provide definitions. I don't know whether that's formally valid C++03 or not; but I agree with the compiler: I don't like it. Instead of declaring a public static function pointer which each specialization is required to define, add a protected static method to the template class. This protected static method simply returns a pointer to a function-static T instance. This is functionally similar to a static LLPointer<T> set on demand (as in the two specializations), including lazy instantiation. Unlike the previous implementation, this approach prohibits a given specialization from customizing the "null" instance function. Although there exist reasonable ways to support that (e.g. a related traits template), I decided not to complicate the LLSafeHandle implementation to make it more generally useful. I don't really approve of LLSafeHandle, and don't want to see it proliferate. It's not clear that unconditionally dereferencing LLSafeHandle<T> is in any way better than conditionally dereferencing LLPointer<T>. It doesn't even skip the runtime conditional test; it simply obscures it. (There exist hints in the code that at one time it might have immediately replaced any wrapped null pointer value with the pointer to the "null" instance, obviating the test at dereference time, but this is not the current functionality. Perhaps it was only ever wishful thinking.) Remove the corresponding functions and static LLPointers from the two classes that use LLSafeHandle.
2017-03-30Add multiline support for MAINT-6959andreykproductengine
2017-03-30MAINT-7245 Use Experience Box in LSL Editor will not show as checked if ↵Mnikolenko Productengine
containing object is in another region
2017-03-30MAINT-7128 Crash in LLDrawable::cleanupReferences - more informative loggingAndreyL ProductEngine
2017-03-29DRTVWR-418: Instead of "Unknown", try be informative about platform.Nat Goodspeed
When a 'family' code isn't recognized, for instance, report the family code. That should at least clue us in to look up and add an entry for the relevant family code.
2017-03-29Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2017-03-28MAINT-7257 Added null check for volume managerandreykproductengine
2017-03-28MAINT-1858 Fixed camera not looking at avatar if "Editing Appearance" while ↵andreykproductengine
moving
2017-03-28Backed out changeset: 50e72280019fandreykproductengine
2017-03-28MAINT-6980 FIXED Ctrl + Alt + Shift + B does not force a crash on macMnikolenko Productengine
2017-03-27Fix for MAINT-7131 Unable to start the x64 Viewer on Windows 8.1 x64. This ↵Callum Prentice
appears to be because two of the MS DLLs we ship with the 64 bit viewer are 32bit. Manually replacing them with their 64 bit equivalents allowed the viewer to start on Windows 8.1. The change forces the cmake file which copies the DLLs to look in C:\windows\SysWOW64 for 32 bit versions and C:\windows\system32 for 64 bit versions. (yes really).
2017-03-27Additional work on : Fix for MAINT-7054 Viewer Crashed when I used Japanese ↵Callum Prentice
IM. (Drake and Appurist convinced me my initial solution was non-optimal)
2017-03-27Fix for MAINT-7054 Viewer Crashed when I used Japanese IM.Callum Prentice
2017-03-27MAINT-7238 Change InventoryMarketplaceError textMnikolenko Productengine
2017-03-24MAINT-380 Add "Duplicate" feature into Build-Object sunbmenuandreykproductengine
2017-03-23MAINT-7237 Change Flickr upload button label & window title nameMnikolenko Productengine
2017-03-22MAINT-6789 MAC build fixandreykproductengine
2017-03-22MAINT-7225 Blocks list wasn't updating corretly for name based muting.andreykproductengine
2017-03-22Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2017-03-21MAINT-7224 Chat logs move down, leaving huge empty spaceMnikolenko Productengine
2017-03-21remove --quiet from xcodebuild (it hides too much)Oz Linden
2017-03-21MAINT-6789 Add More now won't affect Edit Appearance perfomance during fetch ↵andreykproductengine
unless visible
2017-03-22MAINT-7225 MAC build fixandreykproductengine