Age | Commit message (Collapse) | Author |
|
wide char paths; on other platforms they are now just typedefs to the std classes
|
|
respectively
|
|
respectively
|
|
To be more accurate, this changeset doesn't actually eliminate the dependency:
it eliminates the use cases for the llifstream / llofstream feature that
requires it.
Currently you can construct an llifstream or llofstream from an open LLFILE*
file handle (or, except on Windows, an int file descriptor). But rather than
containing a streambuf implementation based on FILE*, llfile.h relies on the
fact that the Windows std::filebuf happens to support that as a nonstandard
extension; also on a nonstandard GNU extension __gnu_cxx::stdio_filebuf<char>.
To move from GNU libstdc++ to clang's libc++ (the direction on Mac), we could
code a streambuf that supports FILE*. But before doing that, it's worth asking
whether anyone actually uses this questionable feature.
In fact there were only two methods: LLWearable::exportFile() and importFile()
-- and only one call to either, in LLViewerWearable::saveNewAsset(). The code
in saveNewAsset() opened the LLFILE* immediately before calling exportFile(),
meaning we could reasonably push the open operation down into exportFile().
That logic was complex anyway due to the need for the caller to close the
LLFILE* regardless of the success of the exportFile().
Change LLWearable::exportFile() and importFile() to accept a std::string
filename rather than an open LLFILE*. Change LLViewerWearable::saveNewAsset()
to simply call exportFile(filename) rather than horsing around with an LLFILE*
handle. (This improves the code in another way too: it encapsulates the need
to open the relevant file in binary mode. Previously, each caller had to
remember to do that.)
To prevent inadvertent reintroduction of ll[io]fstream(LLFILE*) code, add
llstream_LLFILE preprocessor macro (default 0) to control access to the
relevant constructors. Also suppress rdbuf() override, the only method whose
signature references llstdio_filebuf.
|
|
|
|
on the heap
|
|
|
|
|
|
non-virtual dest
|
|
comparison with <0 [-Wtautological-compare]
|
|
abstract but has non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
|
|
|
|
|
|
can be undone intelligently
|
|
|
|
|
|
and all of its derived descendants in order to clarify ownership of memory pointers.
|
|
leaked because the LLWearable class was not destroying itself properly.
|
|
|
|
occurring because the LLWearable class was not properly destroying itself.
|
|
|
|
|
|
|
|
- Added clear() after DeletePointer() call to hopfully fix this...
|
|
fix, new back-end utility and restoring the necessary functionality.
|
|
|
|
|
|
|
|
|
|
Eliminated some unnecessary functions that the refactor took care of,
linux build should be fixed.
|
|
|
|
|
|
|
|
When wearing multiple layers of pants, the morph masks for all layers would be composited,
resulting in the smallest intersection of all layers. Instead we should only be applying the
top layer. This change will affect all consumers of the llappearance library.
|
|
|
|
related methods
|
|
region
Looks like we were caching bad morph masks that were generated on login. Adjusting
algorithms to always replace the cache when we have invalidated the other channels
of the baked texture.
|
|
|
|
|
|
|
|
another attempt to move mem stat into base class
|
|
|
|
|
|
|
|
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
|
|
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
|
|
|
|
dependency cleanup - removed a lot of unecessary includes
|
|
removing minimum height enforcement, as changes are local-only and would not
be visible by other users in this repro, unless the user explicitly saved
the changes. Since there are many ways to get around the enforcement, and the
enforced minimums won't be visible to other users, its simpler to allow
users to use the full range of the hover slider.
NOTE: this means that a user's avatar can be underground, leading to the
camera pointing up at the sky. this is a known issue.
|
|
|