Commit Graph

454 Commits

Author SHA1 Message Date
Inusaito Sayori
5affacab70 Fixes, mainly for Clang/Mac, from Cinder. 2014-03-24 16:56:10 -04:00
Latif Khalifa
c4a82fe0d1 Version 1.8.5 2014-01-28 18:12:23 +01:00
Siana Gearz
679019f2de Merge branch 'master' of https://github.com/Lirusaito/SingularityViewer 2013-12-15 14:09:29 +01:00
Siana Gearz
c5adb01ed9 Stop occasional crash during shutdown 2013-12-10 23:11:07 +01:00
Inusaito Sayori
be369b5500 Merge branch 'master' of https://github.com/singularity-viewer/SingularityViewer 2013-12-04 14:05:46 -05:00
Inusaito Sayori
23958965aa LLInitParam/LLUI Params enhancement
Specialized param handling for common linden types
And pre-viewer-interesting modernized llinitparam.* (includes llsdparam.cpp update)
2013-12-02 00:27:50 -05:00
Aleric Inglewood
8357a2b90b Speed up ll_assert_aligned
Although only used in Debug mode, this showed up in a profiling
with a very significant amount of CPU cycles (in a state when
the viewer bogged down to 1 FPS because of drawing terrain,
but still - significant compared to the code that was being
executed (ie, 10%)).

This patch should bring that down from a few hunderd to one clock
cycle.
2013-11-26 17:52:24 +01:00
Aleric Inglewood
bddb1ba48c Merge remote-tracking branch 'singu/master' 2013-11-15 18:00:49 +01:00
Aleric Inglewood
a8cded0cf6 Allow calling LLNotificationsUtil::add from any thread.
This makes LLStringUtil thread-safe by removing a rather unnecessary
LLFastTimer from LLStringUtil::format.

Same thing for LLTrans::getString and LLTrans::findString, where
even a comment stated that the author wasn't interested in measuring
cpu time at all. In this case I added some code back to make sure
that we're not calling LLTrans::getString() in an inner loop, which
was the reason that the LLFastTimer was added.

Made one string static to avoid 45000 look ups during login, which
kinda triggered the above test.

Finally, LLNotificationsUtil::add is made thread-safe by making
LLNotificationChannelBase::mItems thread-safe and defering a call
to LLNotifications::updateItem to the main thread when called
from another thread (using a little statemachine).
2013-11-15 17:52:52 +01:00
Latif Khalifa
f273d3ff59 Singularity 1.8.4 2013-11-14 12:51:41 +01:00
Aleric Inglewood
5f9c6f1b08 AIAlert fixup. 2013-11-09 15:43:58 +01:00
Aleric Inglewood
a7e72ceb32 AIFile bug fixes.
Compare with errno instead of rc.
Make sure errno is preserved.
2013-11-07 18:20:49 +01:00
Aleric Inglewood
ee1ca0ed99 Compile fixes for windows(?) 2013-11-07 01:44:57 +01:00
Aleric Inglewood
c516a71804 Move AIAlert* into namespace AIAlert and rename classes.
Instead of having several AI* classes, it turned out to be easier to
have a namespace: this allows me to define the classes in llcommon but
add (new) 'add' and 'add_modal' functions to 'AIAlert' in llui.
This is needed to avoid a collision with the 'add' functions in
LLNotificationsUtil.

The new add/add_modal makes it a lot easier to just show a caught
alert, prepending or appending new text: it turns out that that is
way more common then a re-throw.

Adjusted code as appropriate.
2013-11-05 22:30:02 +01:00
Aleric Inglewood
78673e4a94 Add AIFile - LLFile but throws AIAlertCode exceptions on error.
The code is the current errno.
2013-11-05 03:01:47 +01:00
Aleric Inglewood
193010e947 Add THROW_[MF]ALERT[EC] (AIArgs, AIAlert, AIAlertCode, AIAlertPrefix, AIAlertLine)
A system to throw errors that allow for easy error reporting to the user
by showing a translated pop-up alert box with the error message.

The messages use strings.xml for translation and allow the usual
replacement args (ie [FILE] is replaced with a filename).

The exceptions can be cascaded, by adding more (translated) text
when caught and then re-throwing the result.

Macros are being used to support adding a function name prefix
to a message of the current function that the exception is thrown
from.

The syntax is:

  <macro>(<line>);		to show 'line'
  <macro>(<alert>, <line>);	to append 'line' to a caught alert.
  <macro>(<line>, <alert>);	to prepend 'line' to a caught alert.

  where <macro> is one of:
  THROW_ALERT, THROW_MALERT, THROW_FALERT, THROW_FMALERT,
  THROW_ALERTE, THROW_MALERTE, THROW_FALERTE, THROW_FMALERTE, where
  M = modal, F = Function name.
  and where <line> is one of:

  <xmldesc>
  <xmldesc>, AIArgs<args>

  where <xmldesc> is a string literal that will be looked up
  in strings.xml, and <args> is:

  (<key>, <replacement>)[<args>]

  There are more variations of the macros to throw an arbitrary
  class (append _CLASS), include an int code (append C) or
  to store the current errno as code (append E).

  For example, THROW_MALERTC(code, ...), or THROW_FALERT_CLASS(Foobar, ...),
  where the ... is the same as for the macros above.

Documentation and example usage has been added to aialert.h.
2013-11-05 03:01:47 +01:00
Aleric Inglewood
2f53f7232b Minor LLMD5 extension and cleanup.
* Add LLMD5::clone(unsigned char const*), the inverse of LLMD5::raw_digest.
* Add LLMD5::clone(std::string const&), the inverse of LLMD5::hex_digest.
* Add LLMD5::isFinalized(), returns true if the object is finalized.
* Turn all binary operators into inline friends in the class.
* Fix operator<< to take a LLMD5 const& instead of a LLMD5&.

These changes are needed for / used by AIMultiGrid.
2013-11-05 03:01:46 +01:00
Aleric Inglewood
b424d0232b Make #includes in llcommon header files more complete.
These includes are needed. The current code includes them
in .cpp files *before* including these include files, but
that is not very clean, and not useful.

Actually including what a header file needs makes it more
clear what it drags in, it doesn't drag in more then before.
It also allows to include these headers without having to
includes needed for the included header file in a specific
order, in every .cpp file.
2013-11-05 03:01:46 +01:00
Aleric Inglewood
66a43ea537 Make global strerr() functions in llfile.cpp static member functions of LLFile.
This is the cleanest way to make them available to the rest of the
viewer as exported functions.

This change is needed for / use by AIMultiGrid.
2013-11-01 00:47:47 +01:00
Aleric Inglewood
198840f839 Merge remote-tracking branch 'singu/master' 2013-10-31 05:45:25 +01:00
Latif Khalifa
78843493cc Syntax error fix 2013-10-31 03:31:12 +01:00
Aleric Inglewood
4aa3863f17 Merge remote-tracking branch 'singu/master' 2013-10-31 02:54:00 +01:00
Latif Khalifa
fcfffbb322 breakpad filter signature is different on windows compated to other platforms 2013-10-31 02:51:58 +01:00
Aleric Inglewood
e4b35a050d This makes more sense 2013-10-31 02:38:23 +01:00
Latif Khalifa
51d5984afa Allocate half a megabyte that is freed just before minidump is written in the breakpad exception handler (Siana) 2013-10-30 19:10:17 +01:00
Latif Khalifa
bdcc4189be Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2013-10-28 22:22:29 +01:00
Shyotl
fc04f6b2e1 Added handling of GL_LUMINANCE pixel format to setManualImage. Was missing, although GL_LUMINANCE_ALPHA and GL_ALPHA were handled.
Also added missing file hurr.
2013-10-26 16:42:41 -05:00
Shyotl
f4863527aa Migrate ui scale/translation transform matrix stacks to LLAlignedArray. 2013-10-26 16:29:38 -05:00
Shyotl
8441bc80a4 Use LLStaticHashedString for faster uniform lookup. 2013-10-26 16:26:46 -05:00
Latif Khalifa
6bae4a8d92 WIP: native win64 support 2013-10-20 12:37:35 +02:00
Latif Khalifa
7f52f78517 Breaking pad: restore 'Ask' preference for sending reports, cleanup remaining out-of-process bits 2013-10-15 07:20:57 +02:00
Inusaito Sayori
be5727548b Fix a warning typo and a minor bug I thought I'd fixed long ago indicated by some getString warning spam 2013-10-10 20:25:15 -04:00
Latif Khalifa
cf214e4f9e Silence compiler warnings 2013-10-10 22:07:43 +02:00
Latif Khalifa
5f0b1ab05b Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2013-10-10 05:17:41 +02:00
Shyotl
3132d2b0d0 Avoid perpetual re-entry for LLOctreeNode::octree_pool_alloc::malloc if LL_USE_TCMALLOC is defined. 2013-10-09 22:16:19 -05:00
Latif Khalifa
d98402b13f Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/llvotree.h
2013-10-10 00:03:36 +02:00
Shyotl
f25eb07fab Unstaged changes cleanup. Further vectorization. Change in binormal/bitangent calculation. 2013-10-09 15:43:23 -05:00
Latif Khalifa
85f4fa9000 Merge branch 'boost152' 2013-10-06 08:13:31 +02:00
Latif Khalifa
4118afc146 Boost upgrade to 1.52 2013-10-05 20:27:20 +02:00
Aleric Inglewood
034ff0a305 Fix google breakpad for standalone.
The normal usage is to include the src/ directory of google breakpad
in your application and then include client/ARCH/handler/exception_handler.h
where ARCH is windows, mac or linux.

However, Linden Lab for some reason packaged the breakpad prebuilt
with exception_handler.h installed in ../google_breakpad/exception_handler.h
where "../google_breakpad" is the 'root' of the include tree comparable
with 'src' in the source tree of google breakpad.

Hence, instead of including 'src' one now must include '../include/google_breakpad'
which was already done correctly for non-standable, but not for
standalone (BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR was set to '../include'
with the 'google_breakpad' and is subsequently never used: instead
BREAKPAD_INCLUDE_DIRECTORIES is used (which is set for non-standalone)).

Therefore one much not include "google_breakpad/exception_handler.h",
but just "exception_handler.h" or you rely on somehow the directory
*below* BREAKPAD_INCLUDE_DIRECTORIES to be part of the include path as
well.

Finally LL packages the prebuilt if another duplicate minidump_descriptor.h
in the include root. Also here including "minidump_descriptor.h" would
be better correct, but following the instructions by Google this time
we might as well include the original "client/linux/handler/minidump_descriptor.h".

My repo (http://github.com/AlericInglewood/3p-google-breakpad) doesn't
even put minidump_descriptor.h in the root anymore, only
exception_handler.h. The rest is an exact copy of the 'src' tree with
regard to the headers.

Tested to compile both standalone and non-standalone.
2013-10-05 19:44:37 +02:00
Latif Khalifa
c87f7b0576 Breakpad3: WIP, minidump files created
TODO: re-work sending crash logs
get rid of standalone loggers
2013-10-01 13:43:45 +02:00
Latif Khalifa
bc64e3aa29 Don't display both username and display name if they're the same.
This is issue especially on Aurora based grids.
Patch by  Liru
2013-10-01 03:29:57 +02:00
Latif Khalifa
ad8ea07a7a Aurora var region support
Firestorm patch by Cinders
Adopted from Angstrom viewer with assistance of nhede Core
and Revolution Smythe.
2013-09-27 03:14:51 +02:00
Latif Khalifa
ae38835959 Version 1.8.3 2013-09-18 06:55:30 +02:00
Latif Khalifa
64c6a8a3ed Bump version to 1.8.2 2013-08-28 06:44:35 +02:00
Inusaito Sayori
c3b7c6999f Implemented decrement and distance_to for LLInstanceTracker::instance_iter and LLInstanceTracker::key_iter
Technically, both nested iterator classes in llinstance tracker should be derived from a common base implementation of boost::iterator_facade for std::maps(LLInstanceTracker::InstanceMap), they'd only need to implement dereference individually
2013-08-24 21:49:01 -04:00
Latif Khalifa
8f43868f82 1.8.1 2013-08-12 16:57:27 +02:00
Lirusaito
ffe403e0f0 Update administrative tools code from upstream
Updates LLFloaterTopObjects code to have parcel filter(STAT_FILTER_BY_PARCEL_NAME) and use the CallbackRegistrar
Top Objects XML (and Translation) bits updated in part from Firestorm, as LL Viewer lacks certain buttons and the old xml was too far behind
- Translators may want to have a look at this... although you sorta need to have estate powers for it to be of any worth... *sigh*
Updates LLFloaterGodTools to use CallbackRegistrar
2013-07-13 16:38:20 -04:00
Shyotl
d4a545fb16 More WIP moap changes. Browser elements now function, added many required settings and notifications, and fixed some crashes and other bugs. 2013-06-01 05:11:18 -05:00
Shyotl
ef3e918558 Initial moap commit. /VERY/ WIP. Primarily committed to clean up unstaged changes. Do not run this, even if it may compile, as it will NOT work (for a myriad of reasons)! 2013-05-31 05:33:41 -05:00