Age | Commit message (Collapse) | Author |
|
|
|
since Visual Studio doesn't know __PRETTY_FUNCTION__, and Boost already has a
portable macro to Do The Right Thing.
|
|
KDU internally throws kdu_exception, which is a typedef for int. It's possible
that such an exception might leak out.
Our usual strategy for unknown exceptions is to catch (...) and let
boost::current_exception_diagnostic_information() handle them. However, for
int (or a class not derived from std::exception), that function will only
shrug and report no information available.
Besides, we want to format kdu_exception specially anyway. First, the KDU
#defines are in hex, so we should report the value in hex. But on inspection,
certain of those hex values are actually multibyte ASCII literals in disguise
-- so also report the byte string value.
|
|
|
|
change coloring for show bones, to highlight joint positions and rigging
|
|
Failure to load an image shouldn't crash the whole viewer.
|
|
Turns out we have a surprising number of catch (...) clauses in the viewer
code base. If all we currently do is
LL_ERRS() << "unknown exception" << LL_ENDL;
then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is
LL_WARNS() << "unknown exception" << LL_ENDL;
then call LOG_UNHANDLED_EXCEPTION() instead.
Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
LLContinueError yet, eliminate LLContinueError& parameter from
LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.
Where a catch (...) clause actually provides contextual information, or makes
an error string, add boost::current_exception_diagnostic_information() to try
to figure out actual exception class and message.
|
|
|
|
|
|
A level of preprocessor indirection lets us later change the implementation if
desired.
|
|
llexception_test.cpp is an unusual test source in that it need not be verified
on every build, so its invocation in indra/llcommon/CMakeLists.txt is
commented out with that remark. Its purpose is to help a developer decide what
base class(es) to use for LLException, how to throw and how to catch.
Our current conclusions are written up as comments in llexception_test.cpp.
Added CRASH_ON_UNHANDLED_EXCEPTION() and LOG_UNHANDLED_EXCEPTION() macros to
llexception.h -- macros to log __FILE__, __LINE__ and __PRETTY_FUNCTION__ of
the catch site. These invoke functions in llexception.cpp so we don't need to
#include llerror.h for every possible catch site.
|
|
|
|
|
|
|
|
|
|
The CMake invocations are controlled by UNATTENDED -- these were not. Let
CMake do it if it must be done.
|
|
|
|
|
|
|
|
|
|
|
|
VSTool manipulates the SecondLife.sln solution file for the convenience of a
developer subsequently running Visual Studio interactively. But the cost of
having it sometimes break TeamCity automated builds is too high -- especially
since we never expect to run Visual Studio interactively on a TC build host.
Also remove the CMake UNATTENDED variable that controlled it.
|
|
|
|
to avoid breaking existing content.
|
|
|
|
|
|
|
|
|
|
or avatar_lad.xml. If either of these is broken, there's no point trying to continue, more informative to just error out with an appropriate message.
|
|
|
|
|
|
in avatar_lad.xml
|
|
|
|
based on incorrectly sized reference eyes.
|
|
Previous code would crump with LL_ERRS. But a bad image file should fail only
the image load -- not crash the viewer.
While at it, validate all components present, not just 0, 1, 2.
While at it, make the failure message report which component and what the
mismatched dimensions are, not just "Components don't have matching
dimensions!"
|
|
Specifically, manually apply changesets b4db8a8 and b98371d from
nat_linden/viewer-mac-mainloop. We need to throw from a new place, but if we
threw const char* (current convention), the new throw wouldn't be patched when
we merge to new exception convention.
|
|
These comments are inherently fragile, in that they enumerate all present
callers of certain methods. Adding, removing or relocating calls would
invalidate these comments. However, the LLImageJ2CKDU implementation is
probably pretty stable by now.
|
|
|
|
|
|
|
|
|
|
The only call to the findDiscardLevelsBoundaries() method was commented out
inside initDecode(), with a comment:
// Merov : Test!! DO NOT COMMIT!!
This was the only caller of copy_tile(), which was the only caller of
copy_block(). Commented out all three of these (biggish!) functions, since I
have no idea what any of them were supposed to do or when it might be useful
to call them. In other words, I can't yet rule out the possibility that I
might have to uncomment them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|