Commit Graph

333 Commits (eb06fba7679704a7870e3d91f2166bf7e63e5641)

Author SHA1 Message Date
Ansariel ae2e40d5d7 Merge "MAINT-6818 Fix for LLImageBase::allocateData crash" with our fix 2016-11-18 17:54:35 +01:00
Nicky fa22626882 Merge. 2016-09-27 11:25:13 +02:00
Nicky d7a0835432 Merge. 2016-09-26 21:12:34 +02:00
Rider Linden 100aa4b79e Merge 2016-09-16 14:59:52 -07:00
Oz Linden 5edd4cecfc merge changes for exception handling 2016-09-06 11:07:39 -04:00
Oz Linden 8c86c594be paren fix 2016-09-06 11:01:02 -04:00
Oz Linden 53f9fbcfb7 add run time error checking to LLImageRaw::scale 2016-09-06 09:11:10 -04:00
Ansariel 09b9913d35 Merge viewer-vob 2016-08-29 11:40:53 +02: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
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
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
Ansariel cb89140d29 Merge LL release 4.0.7 2016-08-11 23:42:52 +02:00
AndreyL ProductEngine 5e02d304f0 MAINT-6618 More checks 2016-08-09 19:26:30 +03:00
AndreyL ProductEngine d4b1db277c MAINT-6618 Fixed the crash in LLImageRaw::scale() + some additional checks 2016-08-09 05:07:39 +03:00
AndreyL ProductEngine f459c67fae Buildfix: brought back LINDEN_J2C_COMMENT_PREFIX 2016-08-05 00:58:09 +03:00
AndreyL ProductEngine 2339e759fc MAINT-4327/MAINT-6584 Supress the crash on memory allocation error when decoding J2C images 2016-07-27 05:49:07 +03:00
Nat Goodspeed acdb050ce5 MAINT-6584: Convert LLImage class hierarchy to standard 'bool'
instead of legacy BOOL.
2016-07-22 11:35:23 -04:00
Nat Goodspeed 71b593e88b MAINT-6584: Streamline static LLImageJ2C implementation API.
Specifically, remove unused function pointer types CreateLLImageJ2CFunction,
DestroyLLImageJ2CFunction and EngineInfoLLImageJ2CFunction.

Also eliminate static fallbackDestroyLLImageJ2CImpl() and
fallbackEngineInfoLLImageJ2CImpl(), leaving only static
fallbackCreateLLImageJ2CImpl().

We do need a factory function to instantiate the appropriate LLImageJ2CImpl
subclass, so leave the fallbackCreateLLImageJ2CImpl() link seam in place.

However, given that every known LLImageJ2CImpl subclass is cheap to
instantiate, make getEngineInfo() a pure virtual method on that subclass: the
static LLImageJ2C::getEngineInfo() method can temporarily construct an
instance to query. While we're at it, make getEngineInfo() return std::string
like LLImageJ2C::getEngineInfo(). It's ridiculous that
fallbackEngineInfoLLImageJ2CImpl() implementations constructed a static
std::string and returned its c_str(), only to have LLImageJ2C::getEngineInfo()
construct ANOTHER std::string from the returned const char*.

fallbackDestroyLLImageJ2CImpl() never did anything useful: it merely deleted
the passed LLImageJ2CImpl subclass pointer as the specific subclass type. But
since LLImageJ2CImpl's destructor is virtual, LLImageJ2C's destructor could
simply delete the stored LLImageJ2CImpl*. In fact, make mImpl a
boost::scoped_ptr<LLImageJ2CImpl> so we don't even have to delete it manually.
2016-07-21 16:49:02 -04:00
Nat Goodspeed 9c49a6c91d MAINT-5011: Introduce LLException base class for viewer exceptions.
This also introduces LLContinueError for exceptions which should interrupt
some part of viewer processing (e.g. the current coroutine) but should attempt
to let the viewer session proceed.

Derive all existing viewer exception classes from LLException rather than from
std::runtime_error or std::logic_error.

Use BOOST_THROW_EXCEPTION() rather than plain 'throw' to enrich the thrown
exception with source file, line number and containing function.
2016-07-19 16:25:25 -04:00
Nat Goodspeed 636ce117bb MAINT-5011: Per NickyD, put PngError in anonymous namespace. 2016-07-14 10:35:56 -04:00
Nat Goodspeed 75149be061 MAINT-5011: Wrap thrown png_const_charp in new PngError class
derived from std::runtime_error.
2016-07-13 14:19:26 -04:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nicky c266d0fdbc Crashfix. 2015-10-20 14:45:42 +02:00
Ansariel d8de03e5c9 Fix another case of a leaking file handle 2015-10-15 23:45:11 +02:00
Ansariel 5fe09cb64d Merge Viewer-Bear 2015-08-22 03:13:17 +02:00
ruslantproductengine ff3e1ae7d6 MAINT-5343 (Viewer sometimes crashes when updating a local tga texture when RLE or BMP compression is disabled - LLImageTGA::decodeTruecolorNonRle) 2015-08-04 17:51:58 +03:00
Ansariel bc85a86b3b Merge Firestorm LGPL tip 2015-07-02 16:40:38 +02:00
Ansariel 1d4c678cf3 Fix license header 2015-06-30 16:33:26 +02:00
Nicky c5c4a85d01 FIRE-16342; (Windows) When opening a TGA file do deny writes to the file, otherwise we might end with a corrupted buffer of
two intermixed version of that file.
2015-06-30 16:04:00 +02:00
Ansariel a45d3d8421 Merge Viewer-Bear 2015-06-20 15:35:15 +02:00
ruslantproductengine 6de01b2b12 Hotfix for build on OSX with -Werror,-Wtautological-compare 2015-05-05 21:09:33 +03:00
Mnikolenko ProductEngine 89321a56fd increment viewer version to 3.7.29 2015-04-28 12:03:31 +03:00
ruslantproductengine c3affc4d6b Hotfix for build on OSX with -Werror,-Wtautological-compare 2015-05-05 21:05:13 +03:00
Mnikolenko ProductEngine bb87365c37 Merge viewer-release, become version 3.7.29 2015-04-28 13:36:35 +03:00
Oz Linden a8ef252571 merge changes for 3.7.27-release 2015-04-13 16:23:36 -04:00
Oz Linden 5c6cf3e7fb restore the ll[io]fstream because we need them as wrappers on Windows for wide char paths; on other platforms they are now just typedefs to the std classes 2015-04-10 11:02:37 -04:00
Oz Linden 8b42c7898e replace llifstream and llofstream with std::ifstream and std::ofstream respectively 2015-04-07 17:59:28 -04:00
Oz Linden 3a57b18896 convert llifstream and llofstream to std::ifstream and std::ofstream respectively 2015-04-07 17:28:05 -04:00
Nicky 006190f2a1 Merge with tools update. 2015-05-05 13:09:27 +02:00
Ansariel cec7691ef0 Merge changes from main repo 2015-04-22 21:16:17 +02:00
Ansariel 59950592ec Replace fix in LLImageDecodeThread with LL's version 2015-04-14 23:01:54 +02:00
Ansariel 9be423524d Merge LL V3.7.27 2015-04-14 22:08:31 +02:00
Oz Linden 905431cf60 merge changes for 3.7.25-release 2015-02-24 15:48:28 -05:00
ruslantproductengine a7530cb3fa MAINT-4329 FIXED LLImageRaw::scale() scales each image *twice* for no apparent reason
Linux & OS X compile error fix
2015-02-23 14:06:42 +02:00
ruslantproductengine ef67802a19 Backed out changeset: 81b8de17a195 2015-02-23 14:03:07 +02:00
ruslantproductengine 6926a6977d MAINT-4329 FIXED LLImageRaw::scale() scales each image *twice* for no apparent reason
Linux & OS X compile error fix
2015-02-23 13:14:25 +02:00
ruslantproductengine 32bb73eff4 Backed out changeset: 4c24cfce033a 2015-02-23 13:11:34 +02:00