summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2016-12-20DRTVWR-418: Another fix for std::string::find() return type.Nat Goodspeed
2016-12-20DRTVWR-418: Fix API for LLTracker::stopTracking().Nat Goodspeed
The signature for LLTracker::stopTracking() was silly: it accepted a void* for the sole purpose of testing whether it was NULL. In other words, the parameter was really a bool in void* clothing. Most callers passed NULL. What got ugly was when you wanted to pass 'true', or a variable bool value. Such values had to be cast to void*. In 64-bit land, the compiler correctly flags that as extremely dubious practice. But it's entirely unnecessary. Since stopTracking() wants a bool, change its parameter to bool. Everybody wins. (While at it, change a few related method params from BOOL to builtin bool.)
2016-12-20DRTVWR-418: Casting pointer to BOOL is just wrong.Nat Goodspeed
Since BOOL is simply a typedef for int, casting a 64-bit pointer to 32-bit int is correctly diagnosed by the compiler as an error. What works is to cast the pointer to (lowercase) bool, the builtin type, which engages the compiler's test for "is this pointer NULL?"
2016-12-20DRTVWR-418: Untangle LLWLParamKey, LLWLAnimator circularity.Nat Goodspeed
LLWLAnimator stores a std::map<F32, LLWLParamKey>. But llwlanimator.h only forward-declared LLWLParamKey, begging the question of how this ever compiled on any previous platform. LLWLParamKey was declared for real in llwlparammanager.h, so the obvious fix is to #include "llwlparammanager.h" in llwlanimator.h. Unfortunately this doesn't work because llwlparammanager.h already #includes "llwlanimator.h". As the dependency is specifically on LLWLParamKey, which isa LLEnvKey, which is declared in llenvmanager.h, move LLWLParamKey to llenvmanager.h. Then we can #include "llenvmanager.h" in llwlanimator.h instead of merely forward- declaring LLWLParamKey. This migration compiles LLWLParamKey in a context in which LLTrans isn't visible. It's not really clear why all LLWLParamKey's methods are inline, but toString() -- the method that requires LLTrans -- isn't going to be fast in any case. Break toString() out to llenvmanager.cpp, and #include "lltrans.h" there.
2016-12-20DRTVWR-418: std::string::find() returns std::string::size_type.Nat Goodspeed
Storing it in a U32 and then comparing it to std::string::npos isn't going to work in 64 bit land.
2016-12-19DRTVWR-418: Avoid casting sa_sigaction to unsigned int for comparing.Nat Goodspeed
It's not really clear to me why the original coder felt it necessary to cast the two sigaction::sa_sigaction fields to unsigned int in the first place, but in a 64-bit clang compile, that discards information.
2016-12-19DRTVWR-418: Use $LL_BUILD to set most switches in 00-Common.cmake.Nat Goodspeed
Going forward, the intention is to set in 00-Common.cmake only switches not already set for ALL viewer-related libraries in https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables. To that end, remove all switches redundant with settings from that file. Remove redundancies within 00-Common.cmake. Remove cruft testing for gcc versions older than 4.3.
2016-12-19DRTVWR-418: Use U32 for int (and hex) of HttpStatus in 64-bit too.Nat Goodspeed
Turns out that Monty didn't intend for the int-flavored representation of HttpStatus to expand to 64 bits even when unsigned long is that wide. So change the implicit conversion operator, and its uses, to U32 instead. That produces a consistent toHex() result for both 32-bit and 64-bit builds.
2016-12-19DRTVWR-418: Fix streamtools test.Nat Goodspeed
When std::istream::good() returns false, presumably we can no longer rely on get() returning valid data. Certain streamtools tests were assuming that get() would return the empty string at EOF, but in fact it appears that it left the previous buffer contents unmodified.
2016-12-17DRTVWR-418: Merge backout of TYPE_INDEX / TYPE_MAX changeNat Goodspeed
2016-12-17Backed out changeset bb47510bda62: don't change TYPE_MAX.Nat Goodspeed
Ruslan points out that changing TYPE_MAX could lead to extra (useless) render passes. We will have to solve the TYPE_INDEX > TYPE_MAX problem another way.
2016-12-17DRTVWR-418: Update dubious llvertexbuffer.cpp cast comment.Nat Goodspeed
Ruslan assures me that in fact this usage is valid.
2016-12-16DRTVWR-418: Fix a (correct) clang correctness complaint.Nat Goodspeed
LLStatGraph::Threshold has an operator<(const Threshold& other) -- but because the method itself wasn't marked const, it could only be used on a non-const instance. This change fixes a case when it was applied to const instances.
2016-12-16DRTVWR-418: Work around dubious cast from S32 to GLvoid*Nat Goodspeed
when passing -- something -- to glVertexAttribPointerARB() in LLVertexBuffer::setupVertexArray().
2016-12-16DRTVWR-418: Adjust HttpStatus::toHex() test for 64-bit result.Nat Goodspeed
2016-12-16DRTVWR-418: Put TYPE_INDEX within TYPE_MAX: stop undefined indexing.Nat Goodspeed
LLVertexBuffer::TYPE_INDEX was past TYPE_MAX, which is used to set the maximum sizes of various (scattered) arrays, bleh. The alarm bells that this SHOULD set off are indeed correct: TYPE_INDEX was being used to index at least one of those arrays, meaning we've been indexing past the end of that array, meaning undefined behavior. The enum that defines both TYPE_INDEX and TYPE_MAX provides a helpful comment indicating what things must be updated when modifying the enum. (Far better to define things centrally in a single place... but another time.) Update the designated arrays to include a final TYPE_INDEX entry. Contents of those entries are wild guesses -- but even wild guesses are better than completely indeterminate data.
2016-12-16Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2016-12-15DRTVWR-418: -Wl,-no_compact_unwind switch breaks exception catching!Nat Goodspeed
In a clang 64-bit compile, with that switch set in CMAKE_CXX_LINK_FLAGS, we cannot catch any user exception. This shows up right away because TUT relies on internal exceptions to walk through test<n>() test methods, but of course being unable to catch any exceptions in the viewer would be just as bad. A quick Google search turned up lots of people mentioning -no_compact_unwind without finding any documentation about what it's supposed to be good for. But since no tests work with it, whereas they work without it -- kill it.
2016-12-15BUG-41027 (FIX) Changing login location at the login screen crashes the viewerCallum Prentice
2016-12-15DRTVWR-418: Store std::string::find() result in size_t, not U32.Nat Goodspeed
In a 64-bit build, std::string::npos is way bigger than a U32.
2016-12-14DRTVWR-418: Derive certain CMAKE_XCODE_etc. vars from LL_BUILD.Nat Goodspeed
2016-12-13DRTVWR-418, BUG-41026: Double default coroutine stack size.Nat Goodspeed
Also make it Persist so if someone hand-edits it to try to find a more suitable size, they won't have to keep re-editing it for every session.
2016-12-12DRTVWR-418: Align minimum OS X version with viewer-build-variables.Nat Goodspeed
2016-12-10DRTVWR-418: Update some copy commands for 3p library versions.Nat Goodspeed
2016-12-09Merged in lindenlab/nat_viewer64 (pull request #6)nat_linden
DRTVWR-418: Change Mac build_directory to build-darwin-x86_64 since we no longer support 32-bit Mac builds.
2016-12-09increment minor version for p64 projectOz Linden
2016-12-09remove non-functional attempt to load llbase from the viewer tree; it is not ↵Oz Linden
there any more
2016-12-09move some cmake messages that are not warnings from stderr to stdoutOz Linden
2016-12-09Simplify version line in the About box, add address size to itOz Linden
2016-12-09add AUTOBUILD_ADDRSIZE to symbol file name for clarity, change output tag to ↵Oz Linden
just "Symbolfile"
2016-12-08DRTVWR-418: Change Mac build_directory to build-darwin-x86_64Nat Goodspeed
since we no longer support 32-bit Mac builds. The old build-darwin-i386 directory name appeared in a shocking number of files. Change CMake paths to use ${CMAKE_BINARY_DIR} -- or, when trying to find the packages subdirectory, ${AUTOBUILD_INSTALL_DIR}. Change the rest to at least look for build-darwin-*.
2016-12-07DRTVWR-418: Merge backout that restores llcorehttp tests.Nat Goodspeed
2016-12-07Backed out changeset fbcb5f5fb015: restore llcorehttp tests.Nat Goodspeed
2016-12-07DRTVWR-418: Overriding shutdown_request() wasn't the issue. Remove.Nat Goodspeed
2016-12-07merge changes for nats updates for llcorehttpOz Linden
2016-12-07merge changes for callums updatesOz Linden
2016-12-07Automated merge with ssh://bitbucket.org/lindenlab/viewer-skip-llcorehttp-testNat Goodspeed
2016-12-07DRTVWR-418: Apparently (some) Windows hosts still need freeport().Nat Goodspeed
This is the function in indra/llmessage/tests/testrunner.py that iterates through ports in a specified range, looking for an available one. Other platforms understand a specification of port 0 to mean: "You pick one. I'll just use whichever one you picked."
2016-12-07DRTVWR-418: Make testrunner.run() avoid extra Thread altogether.Nat Goodspeed
2016-12-07big hammer - temporarily disable llcorehttp tests completelyOz Linden
2016-12-07DRTVWR-418: Suppress llcorehttp tests until we solve TC harness issues.Nat Goodspeed
2016-12-07Automated merge with tip of lindenlab/oz_viewer64Callum Prentice
2016-12-07DRTVWR-418: Diagnostic prints to identify hangupNat Goodspeed
2016-12-07merge nats even newer fix for the llcorehttp testOz Linden
2016-12-07DRTVWR-418: Reinstate test that we THOUGHT was killing test run.Nat Goodspeed
But since the real problem is quite different, try with that suspected test restored.
2016-12-07DRTVWR-418: Fix a couple variable references in debugging output.Nat Goodspeed
2016-12-07DRTVWR-418: Revamp testrunner to shutdown server Thread at end.Nat Goodspeed
Instead of having testrunner.run()'s caller pass a Thread object on which to run the caller's server instance's serve_forever() method, just pass the server instance. testrunner.run() now constructs the Thread. This API change allows run() to also call shutdown() on the server instance when done, and then join() the Thread. The hope is that this will avoid the Python runtime forcing the process termination code to 1 due to forcibly killing the daemon thread still running serve_forever(). While at it, eliminate calls to testrunner.freeport() -- just make the runtime pick a suitable port instead.
2016-12-06DRTVWR-418: Remove duplicate testrunner.pyNat Goodspeed
2016-12-06pick up latest fixes from natOz Linden
2016-12-06automated merge with tip of lindenlab/viewer64Callum Prentice