summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2017-05-08DRTVWR-418: Fix vector assignment for C++03.Nat Goodspeed
For the time being we're still compiling for production with C++03. Although assigning an initializer list to a vector is valid C++11, in C++03 mode clang rejects it.
2017-05-04Automated merge with ssh://bitbucket.org/lindenlab/viewer64-c-11Nat Goodspeed
2017-05-04Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-03Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-03DRTVWR-418: 64-bit Windows viewer requests "win64" updates from VVM.Nat Goodspeed
This is only transitional, until we integrate the Viewer Management Process (soon now).
2017-05-03Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-02Automated merge with head of lindenlab/viewer64callum@lindenlab.com
2017-05-02DRTVWR-418, MAINT-6996: clarify divide-by-1024 (not shift-right 10)Nat Goodspeed
2017-05-02DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.Nat Goodspeed
There were two distinct LLMemory methods getCurrentRSS() and getWorkingSetSize(). It was pointless to have both: on Windows they were completely redundant; on other platforms getWorkingSetSize() always returned 0. (Amusingly, though the Windows implementations both made exactly the same GetProcessMemoryInfo() call and used exactly the same logic, the code was different in the two -- as though the second was implemented without awareness of the first, even though they were adjacent in the source file.) One of the actual MAINT-6996 problems was due to the fact that getWorkingSetSize() returned U32, where getCurrentRSS() returns U64. In other words, getWorkingSetSize() was both useless *and* wrong. Remove it, and change its one call to getCurrentRSS() instead. The other culprit was that in several places, the 64-bit WorkingSetSize returned by the Windows GetProcessMemoryInfo() call (and by getCurrentRSS()) was explicitly cast to a 32-bit data type. That works only when explicitly or implicitly (using LLUnits type conversion) scaling the value to kilobytes or megabytes. When the size in bytes is desired, use 64-bit types instead. In addition to the symptoms, LLMemory was overdue for a bit of cleanup. There was a 16K block of memory called reserveMem, the comment on which read: "reserve 16K for out of memory error handling." Yet *nothing* was ever done with that block! If it were going to be useful, one would think someone would at some point explicitly free the block. In fact there was a method freeReserve(), apparently for just that purpose -- which was never called. As things stood, reserveMem served only to *prevent* the viewer from ever using that chunk of memory. Remove reserveMem and the unused freeReserve(). The only function of initClass() and cleanupClass() was to allocate and free reserveMem. Remove initClass(), cleanupClass() and the LLCommon calls to them. In a similar vein, there was an LLMemoryInfo::getPhysicalMemoryClamped() method that returned U32Bytes. Its job was simply to return a size in bytes that could fit into a U32 data type, returning U32_MAX if the 64-bit value exceeded 4GB. Eliminate that; change all its calls to getPhysicalMemoryKB() (which getPhysicalMemoryClamped() used internally anyway). We no longer care about any platform that cannot handle 64-bit data types.
2017-05-01Fix MAINT-7360 Investigate removal of MSVCR100.DLL and MSVCP100.DLLCallum Prentice
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-26Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-04-22DRTVWR-418: Binary search for a good size for temp Mac disk imageNat Goodspeed
2017-04-22DRTVWR-418: Binary search for a good size for temp Mac disk imageNat Goodspeed
2017-04-22DRTVWR-418: Make temporary .sparseimage drive bigger for signing.Nat Goodspeed
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-21DRTVWR-418: Send address_size with login and viewer stats.Nat Goodspeed
2017-04-20DRTVWR-418: Boost fixed max size of temporary Mac volumeNat Goodspeed
used during construction of the eventual installation .dmg. With newer 64-bit Havok packages, we need more elbow room on the temporary volume.
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-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-06Automated merge with head of viewer64Callum Prentice
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-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-29Merged in lindenlab/viewer-lynxAndreyL ProductEngine
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-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-6789 Add More now won't affect Edit Appearance perfomance during fetch ↵andreykproductengine
unless visible
2017-03-22MAINT-7225 MAC build fixandreykproductengine
2017-03-20MAINT-7223 Odd placement on box in chat preferencesMnikolenko Productengine
2017-03-20MAINT-7117 Don't Show "Unknown error" in warning dialogMnikolenko Productengine
2017-03-16merge CEF update and fixes from callumOz Linden
2017-03-16MAINT-1858 Fixed camera not looking at avatar if "Editing Appearance" while ↵andreykproductengine
moving
2017-03-17MAINT-7215 Add "+" button next to filter editor in Avatar rendering settings ↵Mnikolenko Productengine
floater