Correct a condition where a prim is linked before it has been persisted
for the first time and is then persisted through it's former SOG with
a bad offset position.
XEngine fixes: prevent queue overruns, prevent spamming when no key
is down. Release controls when conflicting permissions are requested
or permissions are refused later. Release when prim or script are deleted.
Fixes Scene script instance deletion semantics.
* the methods were identical except that the Properties one did a check for the user profile beforehand. However, every caller was doing this already anyway.
Moved intialization of appearance from the SendInitialData
event handler into CompleteMovement handler. That ensures
that m_appearance is initialized before the inventory is
retrieved (so there is a place to check on attachments).
* Patch attached that adds the check for uninitialized appearance when inventory items are received and processed. Also attempts to ensure that appearance is initialized even
when the profile cache has not been built.
* This will not fix the race condition, but should at least remove the unhandled exception that is being reported in Mantis 0002126.
* Thanks cmickeyb
* This patch aims to introduce look at direction persistence between logins. It won't be active until the second part of the patch is committed in about two weeks time. At
this point, region servers that haven't upgraded past this revision may run into problems
* This checkin upgrades the user database. As always, we recommend you have backups in case something goes wrong.
* Many thanks to tyre for this patch.
* From looking at the code there shouldn't be any difference, and this appears to speed up prim loading and make a certain failure case (where prims seem to be going out of
bounds on startup) less of a problem.
* However, if I've been bad please revert this patch
couple of debug statements for null items while we
diagnose our interrmittent inventory issues. I looked
at this and it seems helpful to others. We can back it
later if desired.
Floating text, Rotation, Texture animation, Particle System
This will make "Eye Candy" scripts work without modification in
XEngine. The use of the CHANGED_REGION_RESTART hack is no longer
needed. Implemented in MySQL only, hovertext also in SQLite.
* These are different types then the OMV types because changing them causes just about all grid comms to break. If these were the libOMV types, then libOMV couldn't change them ever again after that.. or we'd have a breakage whenever they changed them.
* This might introduce a map issue. Still checking it out.
* Testers, please try rezzing your inventory on this revision and sending me feedback in mantis.
* Users, it's not time to update yet. The dust still hasn't settled.
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle.
* This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big!
* Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
Eliminate gretuitious KillObject packets. KillObject is sent to the
viewer for the root part only.
Also prevents the full update on deselect that makes a deleted object
reappear and stay visible until the background deleter got around to it.
We still send 2 KillObject packets for the root prim, that could be
avoided only at a cost in reliability. One packet seems an acceptable
price to pay for consistency.
Due to the many problems with not cleaned up child-agents, I thought it
might make sense to be able to see them on the console. 'show users' on
the region-server's console now outputs root- and child-agents (with
"root" or "child" column)
* a couple more remain that preferably the original coders should look at in more detail (obsolete warnings in the ogp module and not overriding warnings in the script
engine)
Addresses the problem of ghost avatars. The problem was child-agents
sending data. Due to symmetry reasons, I considered that wrong.
Whenever an avatar A1 in region R1 looks at avatar A2 in adjacent
region R2, we have two possibilities to communicate: A2-root sends
to A1-child (both in region R2), or A2-child sends to A1-root
(both in region R1). Currently, the children send data in some cases,
and I guess the viewer gets puzzled about that and switches the child
to root as consequence (at least partly), so it becomes visible.
Found that during my ghost-hunt: Add some logging and you see that the
counting down happens twice (once at the place that is removed by the
patch, and once caused by the actual removal of the root-/child-agent
during LLClientView.Close). With the patch applied, I end up with correct
numbers, i.e. with 0 roots and 0 children after everyone has logged out.