Commit Graph

19 Commits

Author SHA1 Message Date
Justin Clarke Casey
b4680f653d * Implement 'Save Object Back to My Inventory'. On the Linden client this is in the Tools menu available when editing an object
* This facility allows you to save changes to an object that you've rezzed into a region back into their original inventory item without having to take a copy of the rezzed 
object.
2008-12-17 16:11:03 +00:00
Justin Clarke Casey
df9b0e9e11 * refactor: Replace derez destiation magic numbers with an enumeration 2008-11-28 17:18:10 +00:00
Justin Clarke Casey
02105c9c2a * Extend sog delete to inventory test to crank the normally async sog deleter by hand
* After the crank, assert that the object has now been removed from the scene
2008-11-21 18:46:24 +00:00
Justin Clarke Casey
7dce464113 * Largely revert the last revision and improve on the previous way of doing things
* Deleting the object before the async to inventory is bad since if OpenSim crashes (or is shutdown!) in the time inbetween, then the object is lost
* Also now delete the object from the scene only after it has gone to inventory - in the old way there was still a race condition
* This is still not ideal since the 'deleted' object remains in the scene and probably could be manipulated.  But this is better than the alternative
2008-11-21 18:33:09 +00:00
Justin Clarke Casey
e261c97470 * On delete to inventory, actually remove the group from the scene before the async stage.
* Last time I accidentally left the existing code in place that merely wiped the group from the client (but not the scene)
* Put in an incomplete 'delete object o inventory' test to assert that this happens
2008-11-21 18:17:01 +00:00
Melanie Thielker
44a94055a4 Ensure that the physics representation of a deleted object is also removed 2008-11-19 02:13:15 +00:00
Melanie Thielker
a104cc2c62 Fix deleting object that have been persisted already from the DB 2008-11-19 01:37:39 +00:00
Justin Clarke Casey
99bd7cce2b * Make sure that deleted objects do not send further object updates to the client 2008-11-17 16:33:41 +00:00
Justin Clarke Casey
c41903077d * Eliminate SOG.FakeDeleteGroup() since it is now identical with DeleteGroup() (except that is didn't lock the parts, which was a potential race condition)
* Removed fake delete code from LSL_Api.SetFlexi - this code was never activiated anyway and didn't appear to make much sense on the surface
2008-11-17 16:06:50 +00:00
Justin Clarke Casey
48a72f51a8 * minor: eliminate propogation of now unused permissionToDelete flag 2008-11-17 15:58:12 +00:00
Justin Clarke Casey
f16cf12840 * Fix probable partial breakage of delete to inventory in last commit
* Not nulling out parts and the root part allows the code to be simplified
2008-11-17 15:52:27 +00:00
Justin Clarke Casey
d54b6608a7 * Stop nulling SOG.m_rootPart and parts on object deletion
* This renders RootPart == null checks useless - the replacement is to check SOG.IsDeleted.  However, in many cases this will not be necessary since updates to deleted parts 
will not be sent to the client
* This should remove any remaining race conditions where an object is deleted while another thread is yet to obtain the root part to perform some operation
* Doing this is probably a necessary prerequisite to moving to a model without a separate SOG and SOP
* Unfortunately it's not possible to eliminate all RootPart == null checks since in some contexts it is currently used to check whether an object was created successfully
2008-11-17 15:40:27 +00:00
Justin Clarke Casey
a814ac3d67 * Put an Enabled switch on the async object deleter for future testing purposes 2008-11-11 20:33:29 +00:00
Melanie Thielker
659ad99993 And fix it 2008-10-22 03:50:45 +00:00
Melanie Thielker
a8523dddb6 Prevent an object with a null RootPart in delete queue from stopping
the deleting of other, valid objects
2008-10-22 03:49:38 +00:00
Melanie Thielker
efe3f3eb2a Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
2008-10-18 05:51:36 +00:00
Justin Clarke Casey
5e238be255 * minor: forgot this small tidy in the last checkin 2008-09-29 19:56:26 +00:00
Justin Clarke Casey
374947cf01 * minor: tidy up async sog deleter 2008-09-29 19:55:45 +00:00
Justin Clarke Casey
941e20c463 * refactor: move asynchronous scene object deletion to inventory queueing out to a separate class 2008-09-29 19:09:49 +00:00