Commit Graph

36433 Commits (5dcd81c15507ad8f487e5727bc7a94de82f6fb45)

Author SHA1 Message Date
Nat Goodspeed 03bff896bd MAINT-6584: Use RAII classes to manage helper object lifespans.
Use boost::scoped_ptr instead of raw pointers to LLKDUMemSource,
LLKDUDecodeState, kdu_coords and kdu_dims so cleanup is simpler, and automated
on destruction of LLImageJ2CKDU.

Replace pointer to kdu_codestream with a custom RAII class. kdu_codestream is
itself an opaque handle, so we don't need to add another layer of indirection.
Just wrap it to ensure its destroy() method is reliably called when needed.

Make static instances of LLKDUMessageWarning and LLKDUMessageError
self-register, eliminating the companion static bool and explicit checks in
code.
2016-08-03 20:40:03 -04:00
Oz Linden 3f2b5f4049 merge build script improvement 2016-07-26 17:50:14 -04:00
Oz Linden 47f2c6bd52 merge callums latest changes 2016-07-26 17:49:41 -04:00
Oz Linden b779ca0aed fail build on a failed configure 2016-07-26 17:43:39 -04:00
pavelkproductengine 7187ec75a7 MAINT-6476 VOB - User can add any size image to an Outfit Gallery outfit folders
Added restriction of image size that can be added to outfit via "Select Photo"
2016-07-26 19:18:03 +03:00
andreykproductengine 1b1f4252e3 MAINT-6460 Crash calculating mesh complexity 2016-07-25 23:43:37 +03:00
Callum Prentice 19640c015e Remove unncessary Y flip 2016-07-25 12:09:55 -07:00
Callum Linden 6f09cf76cd Polish web content floater - rename to reflect it now does all media. remove developer options when Develop menu closed. start at google home page by default. 2016-07-22 16:27:53 -07:00
Callum Linden 989379b09b More Y flip madness - 2D media on OS X is has flipped Y mouse coords but correct on 3D/MOAP - reluctantly adding per platform switch 2016-07-22 13:56:26 -07: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 ab07b1a461 MAINT-6584: Rationalize custom KDU error/warning message classes.
Derive them both from a common base class that does the message logging,
instead of having each handler class log redundantly -- especially since the
put_text() override accepting const kdu_uint16* was simply streaming the
kdu_uint16 pointer to the log file, which would log the hex value of the
pointer.

Although we want a static instance of each of these handler classes, pull it
out rather than nesting the instance within the class itself.
2016-07-22 10:32:53 -04:00
Callum Linden 8cd9569cef First pass at enabling time based media (videos) scrubbing controls 2016-07-21 21:06:06 -07:00
Callum Linden befb0446c5 Remove new 'buffering' state for video media - seemed like it'd be useful but it broke things 2016-07-21 15:20:00 -07: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
Callum Linden db76562aa7 Missed updated version of LLCEFLib with flipped mouse Y input - perils of using local files 2016-07-21 13:41:42 -07:00
Rider Linden 694fe9cfc5 explicit not available for conversion operators in Linux yet 2016-07-21 13:03:40 -07:00
Rider Linden de438e7512 MAINT-6570: Feedback from code review. 2016-07-21 11:35:24 -07:00
Nat Goodspeed f09a92f1f3 DRTVWR-427: Remove engineInfoLLImageJ2CKDU(), createLLImageJ2CKDU(),
destroyLLImageJ2CKDU().

These were apparently intended as simple C-style DLL entry points. But as
nobody calls them, and as we decided against building the viewer from DLLs,
they only clutter the code.
2016-07-21 14:29:29 -04:00
Callum Linden f0eab8b36f Add a comment about order of operation that might be important for those that follow 2016-07-21 09:46:42 -07:00
Rider Linden 31009296bb Merge 2016-07-21 09:08:28 -07:00
Callum Linden 8a25489591 MAINT-6578 Broken texture batching - fixed along with misc LibVLC plugin additions (status, titles, looping) 2016-07-20 19:54:54 -07:00
Rider Linden d0d07ccac5 Fix for linux build 2016-07-20 16:45:17 -07:00
Rider Linden 0b4b121945 MAINT-6570: Changes for LLCheckedHandle plus some timeout issues from AndreyK regarding script compiles/resets. 2016-07-20 14:56:49 -07: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
Callum Linden cd47f86c4a MAINT-6578 Add back Y Flip into QuickTime plugin used in OS X to match viewer setting 2016-07-19 12:42:49 -07:00
Callum Linden 0870ee4d74 MAINT-6578: pick up version of LLCEFLib that has output Y flipped to match updated viewer setting 2016-07-19 12:33:28 -07:00
Nat Goodspeed 47d93e4f65 DRTVWR-418: Remove rogue getMessage() from llsecapi.h exceptions.
The LLProtectedDataException and LLCertException exception classes didn't used
to be derived from std::exception, so they followed their own getMessage()
convention instead of the standard what() convention. Now that they're derived
from std::exception, remove getMessage() and change its few consumers to use
what() instead. Thanks NickyD for suggesting.
2016-07-19 14:08:43 -04:00
pavelkproductengine 97d73a7c31 MAINT-6583 FIXED [VOB] Snapshot floater is stuck in "Posting" state.
Removed wrong callback set from VOB snapshot floater
2016-07-19 20:09:46 +03:00
Mnikolenko Productengine 25095cbabe MAINT-6582 [VOB] Snapshot is not sent 2016-07-19 16:22:02 +03:00
ruslantproductengine eebbda288d Backed out changeset: 5fe5ad059c05 2016-07-18 20:09:18 +03:00
pavelkproductengine 9c7b7d13c7 MAINT-6476 VOB - User can add any size image to an Outfit Gallery outfit folders
Added restriction of image size that can be added to outfit
2016-07-18 19:54:00 +03:00
Callum Linden 1c4dbc64ab MAINT-6577 FIX No sound in MOAP or browser video 2016-07-15 12:18:00 -07:00
Brad Payne (Vir Linden) e0c2a4ac33 SL-126 - getting performance analysis into a non-crashing state 2016-07-15 10:52:29 -04:00
Oz Linden 0db98a6308 merge changes for STORM-2133 2016-07-14 11:35:14 -04:00
Nat Goodspeed cefa598e49 MAINT-5011: Per NickyD, make LLCertException::getMessage() const.
Also getCert().

Also LLProtectedDataException::getMessage().
2016-07-14 11:33:29 -04:00
Nat Goodspeed 636ce117bb MAINT-5011: Per NickyD, put PngError in anonymous namespace. 2016-07-14 10:35:56 -04:00
Nat Goodspeed d7c904632b MAINT-5011: On advice from NickyD, say KDUError not KduError.
Also place KDUError into anonymous namespace to emphasize that it's entirely
local to this .cpp file.
2016-07-14 10:26:57 -04:00
andreykproductengine 00a193e740 MAINT-6460 Crash calculating mesh complexity 2016-07-14 15:21:39 +03:00
Ansariel d2cf09e7d2 STORM-2133: VOICE-36 prevents proper shutdown of connector 2016-07-14 10:28:54 +02:00
Nat Goodspeed 2f003fd5a9 MAINT-5011: Throw an actual exception in Force Software Exception.
http://en.cppreference.com/w/cpp/language/throw says of the plain throw syntax:

"This form is only allowed when an exception is presently being handled (it
calls std::terminate if used otherwise)."

On advice from Oz, replace plain 'throw;' with throwing a std::runtime_error.
2016-07-13 14:58:12 -04:00
Nat Goodspeed 21e8352de6 MAINT-5011: Introduce KduError instead of throw/catch const char*.
KduError is derived from std::runtime_error, so the message string becomes its
what() message.
2016-07-13 14:42:44 -04:00
Nat Goodspeed 5b233bba3f MAINT-5011: Remove alarming ll_kdu_error() function
whose body reads:

    // *FIX: This exception is bad, bad, bad. It gets thrown from a
    // destructor which can lead to immediate program termination!
    throw "ll_kdu_error() throwing an exception";

which would be bad indeed... if ll_kdu_error() were ever actually referenced
by anything!
2016-07-13 14:28:45 -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
Nat Goodspeed cd1c64d689 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-07-13 10:44:40 -04:00
Nat Goodspeed b031b1a625 MAINT-5011: Derive remaining exception classes from std::exception.
In particular:
NotImplemented in llhttpnode.cpp
RelocateError in llupdateinstaller.cpp
LLProtectedDataException, LLCertException and subclasses in llsecapi.h

Had to add no-throw destructor overrides to LLCertException and subclasses
because otherwise clang complains that the implicitly-generated destructor's
exception specification is more lax than the base class's.
2016-07-13 10:43:36 -04:00
Brad Payne (Vir Linden) 913659c309 merge 2016-07-12 15:17:28 -04:00
Brad Payne (Vir Linden) a1655f032d SL-424 - slider eye fixes, tail scaling with height 2016-07-12 15:06:48 -04:00
andreykproductengine b06d5aeec8 MAINT-6460 Crash calculating mesh complexity 2016-07-12 21:37:45 +03:00
Rider Linden 85c0bec92c Merge 2016-07-12 12:11:01 -07:00
Rider Linden c0407af8ab STORM-2132: Remove obsoleted unique_ptr.hpp, use make_shared for pointer allocation. 2016-07-12 11:07:05 -07:00