Просмотр исходного кода

BETA: Invoking deleteMe only when deleting item container updateDatabase is used for other things too..
* Reported by: Nos

Rumen Nikiforov 11 лет назад
Родитель
Сommit
b6c004b4c6

+ 9 - 7
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/ItemContainer.java

@@ -576,13 +576,16 @@ public abstract class ItemContainer
 	 */
 	public void deleteMe()
 	{
-		try
-		{
-			updateDatabase();
-		}
-		catch (Exception e)
+		if (getOwner() != null)
 		{
-			_log.log(Level.SEVERE, "deletedMe()", e);
+			for (L2ItemInstance item : _items)
+			{
+				if (item != null)
+				{
+					item.updateDatabase(true);
+					item.deleteMe();
+				}
+			}
 		}
 		final List<L2Object> items = new ArrayList<L2Object>(_items);
 		_items.clear();
@@ -602,7 +605,6 @@ public abstract class ItemContainer
 				if (item != null)
 				{
 					item.updateDatabase(true);
-					item.deleteMe();
 				}
 			}
 		}