highfidelity/hifi — pull request #3834 by ZappoMan (2014-11-20 00:12:53+00:00)
Title: fix a major bug in updateEntity() caused by the new properties not containing "registrationPoint"

If the properties used to update an entity didn't contain the registration point, and the entity had a non-default registration point, then there was a chance we would add the entity to an incorrect tree element.

Repro case set an entity to have a registration point other than .5,.5,.5 and then move it around quickly. There was a very high chance you'd end up with a corrupt tree with the entity listed in multiple elements.

Once the tree was corrupted you'd get several or all of the following problems:
* crash on exit of client for attempting to double delete the entity item
* multiple "renders" of the entity item causing lower FPS
* runaway persist on the server which could cause a giant persist file.

This bug was introduced last week when I optimized the "edit messages" to only send properties that actually changed.