Commit Graph

36485 Commits (4e7d0ddb2f86f5ae59f009d6cdbd9ca9b4e0a34a)

Author SHA1 Message Date
Mnikolenko Productengine 93617deff7 MAINT-6676 FIXED Viewer crashes when clicking "Default creation permissions" before logging in. 2016-08-26 11:35:47 +03:00
Nat Goodspeed cc29b44dcf MAINT-5011: Fix type error surfaced by gcc 4.7.
LLView::childFromPoint(), which is declared to return LLView*, contained a
code path that could 'return false'. This is blatantly wrong. Why has it
compiled on our other compilers so far?
2016-08-25 14:37:46 -04:00
Nat Goodspeed 17382b22e0 MAINT-5011: Remove unreferenced param name to avoid fatal warning 2016-08-25 14:04:36 -04:00
Nat Goodspeed 1d2360ef7c Update to googlemock build 319024 2016-08-25 13:53:51 -04:00
Nat Goodspeed 12379fc8d3 Update to llceflib build 319030 2016-08-25 13:51:45 -04:00
Nat Goodspeed 91501eaa93 Update to colladadom build 319021 2016-08-25 13:44:14 -04:00
Nat Goodspeed 2f85899bfd Update to boost build 318979 2016-08-25 12:02:02 -04:00
AndreyL ProductEngine 98d7c35654 Merge 2016-08-25 17:34:10 +03:00
AndreyL ProductEngine 7ea2f091a6 MAINT-6511 Buildfix 2016-08-25 17:33:54 +03:00
Mnikolenko Productengine 1b8f2f1db9 MAINT-6657 Media navigation bar beyond the window border 2016-08-25 17:12:05 +03:00
andreykproductengine c4e9fe9fe5 MAINT-6636 Mesh upload was failing from a folder with a diacritic character in the name 2016-08-25 15:40:33 +03:00
andreykproductengine 0279d5d986 MAINT-6671 Fixed crash in LLFloaterPay::give() 2016-08-23 20:06:45 +03:00
AndreyL ProductEngine 534bffb257 MAINT-6511 Crash in LLFloaterView::restoreAll - exception handling 2016-08-23 17:58:36 +03:00
AndreyL ProductEngine 7d77b82f37 Merged in andreyl_productengine/viewer-427 2016-08-29 05:22:45 +03:00
pavelkproductengine b22fc7f470 MAINT-6476 VOB - User can add any size image to an Outfit Gallery outfit folders 2016-08-25 17:48:27 +03:00
Mnikolenko Productengine c37b822abf MAINT-6616 new crash in VOB viewer in snapshot preview 2016-08-23 18:53:27 +03:00
AndreyL ProductEngine b4ee80b91b MAINT-6511 Crash in LLFloaterView::restoreAll - exception handling 2016-08-23 17:58:36 +03:00
Mnikolenko Productengine 377683a8ed MAINT-6648 FIXED [SECURITY] Link tags do not filter unicode and allow for easy URL spoofing. 2016-08-23 13:01:19 +03:00
andreykproductengine f69e82b584 Backed out changeset: 6d631b9d02a0 for maint-6242 2016-08-22 20:57:22 +03:00
AndreyL ProductEngine 6c280f9d2b MAINT-6662 Don't show release notes on first login 2016-08-20 14:36:04 +03:00
AndreyL ProductEngine ea4b5e60d9 Fixed line endings in llwindowwin32.cpp 2016-08-20 14:28:03 +03:00
AndreyL ProductEngine 3d9c39c77c MAINT-6663 [Win LibVLC] test video buttons still appearing in search 2016-08-20 12:53:03 +03:00
Nat Goodspeed 4d10172d8b MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.
Wrap coroutine call in try/catch in top-level coroutine wrapper function
LLCoros::toplevel(). Distinguish exception classes derived from
LLContinueError (log and continue) from all others (crash with LL_ERRS).

Enhance CRASH_ON_UNHANDLED_EXCEPTIONS() and LOG_UNHANDLED_EXCEPTIONS() macros
to accept a context string to supplement the log message. This lets us replace
many places that called boost::current_exception_diagnostic_information() with
LOG_UNHANDLED_EXCEPTIONS() instead, since the explicit calls were mostly to
log supplemental information.

Provide supplemental information (coroutine name, function parameters) for
some of the previous LOG_UNHANDLED_EXCEPTIONS() calls. This information
duplicates LL_DEBUGS() information at the top of these functions, but in a
typical log file we wouldn't see the LL_DEBUGS() message.

Eliminate a few catch (std::exception e) clauses: the information we get from
boost::current_exception_diagnostic_information() in a catch (...) clause
makes it unnecessary to distinguish.

In a few cases, add a final 'throw;' to a catch (...) clause: having logged
the local context info, propagate the exception to be caught by higher-level
try/catch.

In a couple places, couldn't resist reconciling indentation within a
particular function: tabs where the rest of the function uses tabs, spaces
where the rest of the function uses spaces.

In LLLogin::Impl::loginCoro(), eliminate some confusing comments about an
array of rewritten URIs that date back to a long-deleted implementation.
2016-08-18 17:33:44 -04:00
pavelkproductengine cf93c1c81d MAINT-5992 Second Life unusable on Windows 10 with 4k monitor SL forcibly overrides DPI compatibility option 2016-08-18 19:43:48 +03:00
Mnikolenko Productengine 8db7540908 MAINT-6649 PRIM_TEXT/llSetText upper draw distance limit 2016-08-19 11:58:32 +03:00
andreykproductengine e8b23bbfff MAINT-6644 Way for users to disable avatar complexity notifications. 2016-08-18 19:30:36 +03:00
Nat Goodspeed c7bf8af637 MAINT-5011: Use BOOST_CURRENT_FUNCTION instead of __PRETTY_FUNCTION__
since Visual Studio doesn't know __PRETTY_FUNCTION__, and Boost already has a
portable macro to Do The Right Thing.
2016-08-18 11:06:51 -04:00
Nat Goodspeed 0eac1f41f6 MAINT-5011: Catch kdu_exception (aka int) in case it leaks out.
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.
2016-08-17 16:42:10 -04:00
Nat Goodspeed 83eb960063 MAINT-5011: Derive image-load exceptions from LLContinueError.
Failure to load an image shouldn't crash the whole viewer.
2016-08-17 15:47:08 -04:00
Rider Linden d258fe4035 Merge 2016-08-17 12:42:14 -07:00
Nat Goodspeed 993f54f6e9 MAINT-5011: Try to enrich catch (...) logging throughout 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.
2016-08-17 15:40:03 -04:00
Rider Linden 1edf48a0c7 Put bake request back in AIS queue. Don't rerequest bake. 2016-08-17 12:39:54 -07:00
Nat Goodspeed db4f13e7bc MAINT-5011: Clean up indentation from merge of viewer-release. 2016-08-17 11:48:33 -04:00
Nat Goodspeed e72bdc9bc5 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-17 11:41:12 -04:00
Nat Goodspeed 5e9d2f57c8 MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION().
A level of preprocessor indirection lets us later change the implementation if
desired.
2016-08-17 11:36:24 -04:00
Nat Goodspeed 1ed76c382e MAINT-5011: Add llexception_test.cpp with tests (and conclusions).
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.
2016-08-17 10:45:06 -04:00
pavelkproductengine 05e77c5f26 Merge VOB with 4.0.8-release 2016-08-16 20:40:57 +03:00
andreykproductengine d85bc7de7f MAINT-6637 DebugAvatarAppearanceMessage incorrectly reports all avatars received COF version as -1 2016-08-16 17:48:52 +03:00
andreykproductengine 0f06168991 MAINT-6655 Group inspector doesn't support default icon. 2016-08-17 20:35:00 +03:00
Oz Linden 6ff420d705 merge changes for 4.0.7-release 2016-08-11 15:36:09 -04:00
Oz Linden 4fb100ac7a increment viewer version to 4.0.8 2016-08-11 15:31:41 -04:00
Oz Linden e4a1b2c940 Added tag 4.0.7-release for changeset 33981d8130f0 2016-08-11 15:31:41 -04:00
Mnikolenko Productengine b496e4ff15 MAINT-6616 new crash in VOB viewer in snapshot preview 2016-08-10 16:32:35 +03:00
AndreyL ProductEngine 5e02d304f0 MAINT-6618 More checks 2016-08-09 19:26:30 +03:00
pavelkproductengine 471ff40c2c Reverted change to lllayoutstack.cpp which could possibly cause memory leak 2016-08-09 17:37:48 +03:00
AndreyL ProductEngine d4b1db277c MAINT-6618 Fixed the crash in LLImageRaw::scale() + some additional checks 2016-08-09 05:07:39 +03:00
Nat Goodspeed 1773f44b6d MAINT-6584: Don't crash on inconsistent dims in a JPEG-2000 image.
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!"
2016-08-06 11:39:11 -04:00
Nat Goodspeed 80adc9b6aa MAINT-6584: Introduce KDUError exception from other viewer project.
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.
2016-08-05 17:57:24 -04:00
Nat Goodspeed a5ce63eb3c MAINT-6584: Add explanatory comments to LLImageJ2CKDU implementation.
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.
2016-08-05 17:44:13 -04:00
Nat Goodspeed 65d608cdac MAINT-6584: Clarify LLKDUMessageError::flush() throwing exception. 2016-08-05 14:02:12 -04:00