Commit Graph

211 Commits (f8fb2dab5b93588fb3e7f4c1912fd253375e0ced)

Author SHA1 Message Date
Andrey Lihatskiy 3f48ab1c05 SL-13642 Get rid of that ugly ignore -Wdelete-incomplete
Get rid of that ugly '#pragma clang diagnostic ignored "-Wdelete-incomplete"' by making sure the delete always happens inside llview.cpp, where the type of LLView is known.
2020-07-23 00:46:20 +03:00
AndreyL ProductEngine 95af08341c Buildfix 2019-11-28 00:51:05 +02:00
AndreyL ProductEngine 56056aa198 Upstream merge from viewer-neko 2019-11-27 23:20:03 +02:00
andreykproductengine 98b28e5881 SL-11910 [Win] Horizontal scroll 2019-09-10 19:49:15 +03:00
andreykproductengine c61d0f4297 DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
andreykproductengine b1b102cf66 SL-8380 Ability to disable 2D UI tooltips 2019-07-26 21:10:01 +03:00
AndreyL ProductEngine 7fceb3a63f Merged in lindenlab/viewer-cleanup 2016-11-14 22:04:37 +02:00
Nat Goodspeed 704c53b3c5 MAINT-5232: Merge up to VLC viewer from viewer-release 2016-10-11 10:59:17 -04:00
AndreyL ProductEngine 4617e07b37 Merged in lindenlab/viewer-release 2016-10-10 23:26:58 +03:00
Nat Goodspeed d2c3c2f9fe MAINT-5232: Normalize LLSingleton subclasses.
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-09-15 20:18:12 -04:00
Oz Linden 6ff420d705 merge changes for 4.0.7-release 2016-08-11 15:36:09 -04:00
andreykproductengine 9a262f345e MAINT-6572 FIXED UI freezes when clicking on a specific folder in the inventory 2016-07-14 19:31:35 +03:00
AndreyL ProductEngine f9023371ba MAINT-6461 Added a null check 2016-06-08 03:49:55 +03:00
Nicky b61d62bbf4 GCC compile fix (function returns a pointer, not a bool). 2016-06-01 22:29:27 +02:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
callum_linden ca49ad736a Initial support for keyboard (in progress) but includes many viewer changes to plumb in Key Up events 2015-07-10 01:01:07 +01:00
Oz Linden 6f3cf79a3a merge changes for 3.7.24-release 2015-01-13 13:46:45 -05:00
callum_linden 0b44e4d59b Update to build on Xcode 6.0: more removal of unused const variables [-Wunused-const-variable] and member variables 2014-10-18 11:09:07 -07:00
Mnikolenko ProductEngine 271ca5e08c MAINT-4438 FIXED Warning message is changed to debug message. 2014-09-11 11:18:36 +03:00
Richard Linden 5b846ed2a6 merge with release 2014-03-12 12:48:43 -07:00
Baker Linden 28d3bb0975 [MAINT-3555][MAINT-3703]
- Removed logging for MAINT-3555
- Added NULL guard to fix MAINT-3703 (hopefully)
2014-03-03 11:53:57 -08:00
Baker Linden bd73465e51 [MAINT-3784] - Viewer takes too long to shut down
- Removed a lot of logging code to reduce application close time
2014-02-25 16:41:23 -08:00
Baker Linden 7faaaa9b11 [MAINT-3555] Adding a bajillion log messages to (hopefully) narrow down the cause of the crash 2014-02-20 15:23:53 -08:00
Mnikolenko ProductEngine 4a09065691 MAINT-3539 Additional checking was added to avoid possible crash. 2013-12-09 13:02:06 +02:00
Mnikolenko ProductEngine a873a575dd MAINT-3375 FIXED Do not record visibility change if event logging is off(because it kills fps). 2013-11-19 13:36:59 +02:00
Richard Linden c4fc085f74 fixed some warnings 2013-11-06 18:16:57 -08:00
Richard Linden fe518bde8e merge with release 2013-11-06 17:22:04 -08:00
Richard Linden a10eb7b240 further fix of inventory keyboard focus and tab order calculations 2013-11-05 19:30:38 -08:00
Richard Linden 697d2e720b renamed TimeBlock to BlockTimerStatHandle 2013-10-15 20:24:42 -07:00
Richard Linden 12f0f8cb72 changed over to manual naming of MemTrackable stats
changed claimMem and disclaimMem behavior to not pass through argument
added more mem tracking stats to floater_stats
2013-10-01 13:46:43 -07:00
Richard Linden 053d97db1b better memory usage for LLTrace (tighter packing of recording arrays)
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-25 19:12:35 -07:00
Richard Linden cbe397ad13 changed fast timer over to using macro
another attempt to move mem stat into base class
2013-09-05 14:04:13 -07:00
Oz Linden 306b2d810e Fix coding style fails 2013-08-27 16:27:19 -04:00
Oz Linden 7614589adc MAINT-3074: Remove warning log that kills FPS 2013-08-27 16:31:36 -04:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Jeff (Gioffredo Linden) ee0b66f080 VITA test framework - record events support 2013-07-25 16:07:16 -04:00
Richard Linden 8208a40412 BUILDFIX: reverted changes that attempted to automate mem track
stat definition as they don't work on gcc/clang
2013-07-01 18:50:51 -07:00
Richard Linden 04bdc8ba83 SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%
also, removed LLTrace::init and cleanup
removed derived class implementation of memory stat for LLMemTrackable
is automatic now
2013-07-01 17:04:01 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Richard Linden 41b4374760 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
renamed LLView::handleVisibilityChange to onVisibilityChange to reflect
standard naming conventions for handlers vs. reactors
2013-05-10 17:57:12 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Richard Linden 7b4d27ecbc SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
collapsed Orientation enums to all use LLView::EOrientation
added ability to display stat bar horizontally
2013-03-14 19:36:50 -07:00
Richard Linden f07b9c2c69 renamed LLTrace stat gathering classes/methods to make the structure of LLTrace clearer
Count becomes CountStatHandle
Count.sum becomes sum(Count, value), etc.
2013-03-06 11:08:25 -08:00
Richard Linden cbff0e7ab8 SH-3468 WIP add memory tracking base class
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
2013-01-04 13:48:35 -08:00
maksymsproductengine 01bdfb3ecb CHUI-591 FIXED Issues with resizing conversations floater 2012-12-15 21:28:38 +02:00
Richard Linden 2facd63745 SH-3406 WIP convert fast timers to lltrace system
improved LLUnit compile time errors
removed cassert in favor of llstatic_assert
2012-12-06 14:30:56 -08:00
William Todd Stinson 67bc42a80a Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta. 2012-11-20 16:20:40 -08:00
Kelly Washington c5f6ff43da MAINT-1897 Poor performance viewing large group member lists
* Improve draw performance of scroll lists by only drawing what is visible
* Reduce frequency of expensive column width calculations
Fixes by Richard
2012-11-12 15:38:58 -08:00
Merov Linden 7fc33cc47f CHUI-367 : Completed : Show user name tooltip in all situations so to avoid the conversation name showing up 2012-09-28 17:30:18 -07:00