* This is to avoid repetitive null checks - I'm beginning to think that blasting away the root part on object deletion is actually a bad move. Perhaps we should leave it around
and let the client ignore any superfluous packets (which it may well do anyway), since we're constantly exposing a race condition
with the old Grid Instant Message over OGS1. Refactor the EventManager
to be independent of the rigid module structure design imposed by
the current implementation. Message routing is now done in the destination
module rather than in the event manager. This way, more or less granular
solutions are possible without core changes.
locks to just before the try/catch/finally block, so that an exception
thrown between taking the lock and entering the try doesn't leave a mutex
locked
* This may help us detect if mysterious UDP disconnects are happening because of this.
* Shouldn't be any functional change but I would appreciate a buddy check from Teravus if he has time (as for all client stack changes)
* Since the client sets the appearance in the first place (in response to receiving wearables information originally) this seems a little redundant
* But I've realized I didn't actually test this assumption, so I'm going to reinstate it for now
SQLite reports System NUll Reference, but works, inside
LoadItems, on SQLiteRegionData.cs
From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
* This is to make things less confusing to users (and maybe a little easier to do future version filtering for grid connections)
* If there's disagreement about this, then please say so (preferably in the opensim-dev mailing list)
* Whilst this does automatically get the client to rebake, on crossing a region border the 'local' assets are left behind
* There may be a cunning solution (such as squirting the assets on region crossing, or having them fetched from the original region) but
instead I'm going to opt for the easy solution of keeping them in the asset database, for now
* And hopefully rebaking all the time should no longer be necessary now
* It turns out that when the client baked the texture, the uploaded asset had the Temporary flag to true (Temporary is actually deprecated).
* It also had the StoreLocal flag set to true, which signifies that the asset should be stored locally. If it disappears we should reply to the asset request with
ImageNotInDatabasePacket
* However, last time this was enabled some clients started crashing. This may well no longer be the case and needs to be tested, but in the mean time we will store
the asset instead.
* This needs to be resolved in a better way, possibly by starting to send the ImageNotInDatabase packet again instead