From a8523dddb6ff87f9cce24cd8ac5cd4bae1119ab6 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Wed, 22 Oct 2008 03:49:38 +0000
Subject: Prevent an object with a null RootPart in delete queue from stopping
 the deleting of other, valid objects

---
 .../Environment/Scenes/AsyncSceneObjectGroupDeleter.cs  | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

(limited to 'OpenSim')

diff --git a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
index bd81a6d..cbcbc5c 100644
--- a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -119,10 +119,19 @@ namespace OpenSim.Region.Environment.Scenes
                             "[SCENE]: Sending deleted object to user's inventory, {0} item(s) remaining.", left);
                         
                         x = m_inventoryDeletes.Dequeue();
-                        m_scene.DeleteToInventory(x.destination,
-                                x.folderID, x.objectGroup, x.remoteClient,
-                                x.permissionToDelete);
-                        
+                        if (x.objectGroup.RootObject != null)
+                        {
+                            try
+                            {
+                                m_scene.DeleteToInventory(x.destination,
+                                        x.folderID, x.objectGroup, x.remoteClient,
+                                        x.permissionToDelete);
+                            }
+                            catch (Exception e)
+                            {
+                                m_log.DebugFormat("Exception background deleting object: "+e.ToString());
+                            }
+                        }
                         return true;
                     }
                 }
-- 
cgit v1.1