summaryrefslogtreecommitdiff
path: root/indra/llui/llview.cpp
AgeCommit message (Collapse)Author
2016-11-14Merged in lindenlab/viewer-cleanupAndreyL ProductEngine
2016-10-11MAINT-5232: Merge up to VLC viewer from viewer-releaseNat Goodspeed
2016-10-10Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-09-15MAINT-5232: Normalize LLSingleton subclasses.Nat Goodspeed
A shocking number of LLSingleton subclasses had public constructors -- and in several instances, were being explicitly instantiated independently of the LLSingleton machinery. This breaks the new LLSingleton dependency-tracking machinery. It seems only fair that if you say you want an LLSingleton, there should only be ONE INSTANCE! Introduce LLSINGLETON() and LLSINGLETON_EMPTY_CTOR() macros. These handle the friend class LLSingleton<whatevah>; and explicitly declare a private nullary constructor. To try to enforce the LLSINGLETON() convention, introduce a new pure virtual LLSingleton method you_must_use_LLSINGLETON_macro() which is, as you might suspect, defined by the macro. If you declare an LLSingleton subclass without using LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() in the class body, you can't instantiate the subclass for lack of a you_must_use_LLSINGLETON_macro() implementation -- which will hopefully remind the coder. Trawl through ALL LLSingleton subclass definitions, sprinkling in LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() as appropriate. Remove all explicit constructor declarations, public or private, along with relevant 'friend class LLSingleton<myself>' declarations. Where destructors are declared, move them into private section as well. Where the constructor was inline but nontrivial, move out of class body. Fix several LLSingleton abuses revealed by making ctors/dtors private: LLGlobalEconomy was both an LLSingleton and the base class for LLRegionEconomy, a non-LLSingleton. (Therefore every LLRegionEconomy instance contained another instance of the LLGlobalEconomy "singleton.") Extract LLBaseEconomy; LLGlobalEconomy is now a trivial subclass of that. LLRegionEconomy, as you might suspect, now derives from LLBaseEconomy. LLToolGrab, an LLSingleton, was also explicitly instantiated by LLToolCompGun's constructor. Extract LLToolGrabBase, explicitly instantiated, with trivial subclass LLToolGrab, the LLSingleton instance. (WARNING: LLToolGrabBase methods have an unnerving tendency to go after LLToolGrab::getInstance(). I DO NOT KNOW what should be the relationship between the instance in LLToolCompGun and the LLToolGrab singleton instance.) LLGridManager declared a variant constructor accepting (const std::string&), with the comment: // initialize with an explicity grid file for testing. As there is no evidence of this being called from anywhere, delete it. LLChicletBar's constructor accepted an optional (const LLSD&). As the LLSD parameter wasn't used, and as there is no evidence of it being passed from anywhere, delete the parameter. LLViewerWindow::shutdownViews() was checking LLNavigationBar:: instanceExists(), then deleting its getInstance() pointer -- leaving a dangling LLSingleton instance pointer, a land mine if any subsequent code should attempt to reference it. Use deleteSingleton() instead. ~LLAppViewer() was calling LLViewerEventRecorder::instance() and then explicitly calling ~LLViewerEventRecorder() on that instance -- leaving the LLSingleton instance pointer pointing to an allocated-but-destroyed instance. Use deleteSingleton() instead.
2016-08-11merge changes for 4.0.7-releaseOz Linden
2016-07-14MAINT-6572 FIXED UI freezes when clicking on a specific folder in the inventoryandreykproductengine
2016-06-08MAINT-6461 Added a null checkAndreyL ProductEngine
2016-06-01GCC compile fix (function returns a pointer, not a bool).Nicky
2016-01-15merge changes for 4.0.1-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-07-10Initial support for keyboard (in progress) but includes many viewer changes ↵callum_linden
to plumb in Key Up events
2015-01-13merge changes for 3.7.24-releaseOz Linden
2014-10-18Update to build on Xcode 6.0: more removal of unused const variables ↵callum_linden
[-Wunused-const-variable] and member variables
2014-09-11MAINT-4438 FIXED Warning message is changed to debug message.Mnikolenko ProductEngine
2014-03-12merge with releaseRichard Linden
2014-03-03[MAINT-3555][MAINT-3703]Baker Linden
- Removed logging for MAINT-3555 - Added NULL guard to fix MAINT-3703 (hopefully)
2014-02-25[MAINT-3784] - Viewer takes too long to shut downBaker Linden
- Removed a lot of logging code to reduce application close time
2014-02-20[MAINT-3555] Adding a bajillion log messages to (hopefully) narrow down the ↵Baker Linden
cause of the crash
2013-12-09MAINT-3539 Additional checking was added to avoid possible crash.Mnikolenko ProductEngine
2013-11-19MAINT-3375 FIXED Do not record visibility change if event logging is ↵Mnikolenko ProductEngine
off(because it kills fps).
2013-11-06fixed some warningsRichard Linden
2013-11-06merge with releaseRichard Linden
2013-11-05further fix of inventory keyboard focus and tab order calculationsRichard Linden
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-10-01changed over to manual naming of MemTrackable statsRichard Linden
changed claimMem and disclaimMem behavior to not pass through argument added more mem tracking stats to floater_stats
2013-09-25better memory usage for LLTrace (tighter packing of recording arrays)Richard Linden
removed complicated and unnecessary fast timer gapless handoff logic (it should be gapless anyway) improved MemTrackable API, better separation of shadow and footprint added memory usage stats to floater_stats.xml
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-27Fix coding style failsOz Linden
2013-08-27MAINT-3074: Remove warning log that kills FPSOz Linden
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-25VITA test framework - record events supportJeff (Gioffredo Linden)
2013-07-01BUILDFIX: reverted changes that attempted to automate mem trackRichard Linden
stat definition as they don't work on gcc/clang
2013-07-01SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%Richard Linden
also, removed LLTrace::init and cleanup removed derived class implementation of memory stat for LLMemTrackable is automatic now
2013-06-05merge with viewer-releaseRichard Linden
2013-05-10SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
renamed LLView::handleVisibilityChange to onVisibilityChange to reflect standard naming conventions for handlers vs. reactors
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-14SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
collapsed Orientation enums to all use LLView::EOrientation added ability to display stat bar horizontally
2013-03-06renamed LLTrace stat gathering classes/methods to make the structure of ↵Richard Linden
LLTrace clearer Count becomes CountStatHandle Count.sum becomes sum(Count, value), etc.
2013-01-04SH-3468 WIP add memory tracking base classRichard Linden
attempted fix for gcc compile errors can't use typeid() on a class that doesn't have a method defined in a translation unit fix is to force classes deriving from LLMemTrackable to use their own static member named sMemStat
2012-12-15CHUI-591 FIXED Issues with resizing conversations floatermaksymsproductengine
2012-12-06SH-3406 WIP convert fast timers to lltrace systemRichard Linden
improved LLUnit compile time errors removed cassert in favor of llstatic_assert
2012-11-20Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.William Todd Stinson
2012-11-12MAINT-1897 Poor performance viewing large group member listsKelly Washington
* Improve draw performance of scroll lists by only drawing what is visible * Reduce frequency of expensive column width calculations Fixes by Richard
2012-09-28CHUI-367 : Completed : Show user name tooltip in all situations so to avoid ↵Merov Linden
the conversation name showing up
2012-09-28CHUI-342, CHUI-366 and CHUI-367 : WIP : Allow a NO_TOOLTIP value for ↵Merov Linden
tooltips, update display/user names and sort on display/user names
2012-06-07Merge : pull from lindenlab/viewer-releaseMerov Linden
2012-05-30CHUI-119 WIP Prepare the nearby chat for hosting it by the IM-containerAlexanderP ProductEngine
2012-03-06EXP-1767 WIP Received Items panel state does not persist between sessionsRichard Linden
ensure that layout stack has updated its layout before manually resizing one of its elements (which was causing the manual resize to be stomped on by the newly triggered layout update) made layout stack animation occur even when layout stack not visible (inventory will appear in proper open/closed state) LLView::setShape() now only calls handleReshape() when dimensions change removed extraneous calls to LLLayoutStack::updateClass() so that it should be called only once per frame now, allowing it to limit animation updates to layout stacks to one per frame. fixed rendering glitches arising from reshaping LLFolderView while in the middle of its draw() method
2012-02-24EXP-1181 FIX As a designer, I would like to specify default floater ↵Richard Linden
positions using relative coordinates floaters given specified positions will stay in that location floaters that stack will treat that as a specified position moving any floater will switch to relative positioning mode cleaned up some XUI where widgets were relying on a default height of 10 pixels
2012-02-10EXP-1884 FIX Errors in navigating text when editing Landmarks and picks once ↵Richard Linden
a vertical scrollbar is shown