On the removal of permYouOwner():
Calling permYouOwner() to determine if an attachment is yours is
not correct: grid gods (and that includes BEFORE requesting admin
status) are marked as owner of everything in their sim.
The reason for that is that otherwise,
<Melanie_T> if they only had it when actually godding u, the viewer
would have to have an option to either show the proper menus (it
doesn't) or allow the sim to refresh the object flags without full
object updates (it hasn't).
<Melanie_T> gods often have to act fast, for instance with griefers.
Having transition to god mode take as long as a full rez just isn't an
option, apart from the sim load caused by resending all objects.
<Melanie_T> Then i tried resending only the object that was selected
but there the arriving object update would close the pie menu.
So you right-click a prim and the pie menu would close again.
The result has always been that if you are on your own sim, in opensim,
and select an attachment on another avatar, then YOU would freeze, not
the selected avatar. This patch fixes that "opensim related" bug as
well.
This is needed for synchronization: motions will have to start
(with a specific start time offset) from a point in the code where
only the motion object is available.
I added/used LLMotionController& in a previous commit, this was
now changed into a pointer. There is (obviously) not much reason
for that, but also no disadvantage: the diff relative to LLs code
doesn't get larger since the references where already added, too.
Conflicts:
indra/llcharacter/llkeyframemotion.cpp
indra/llcharacter/llkeyframemotion.h
For these standard motions, the viewer likes to very frequently
flood-call startMotion/stopMotion sometimes, which at the very
least needs a LLUUID lookup in a std::map. In particular, this
is done for two of them for every avatar in the sim every frame.
This code makes it possible to test if that makes sense by
merely doing a bit test.
Conflicts:
indra/llcharacter/llkeyframemotion.h
Generalized several templates in llstl.h in order to support more containers.
Removed several instances of is_in_map/getWearableCount being followed immediately by another lookup with the same key. find is more efficient, as we get an iterator to use instead of a simple boolean.
Updated llstring to current linden
Further linden_common cleanup
Header cleanup
Raised banlines to 5000 as per linden server change
Included missing llmediaentry.cpp file
Minor whitespace changes here and there