All pastes #33776 Raw Edit

Miscellany

public text v1 · immutable
#33776 ·published 2005-12-15 15:14 UTC
rendered paste body
Index: F:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestPartyMatchDetail.java
===================================================================
--- F:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestPartyMatchDetail.java	(revision 1944)
+++ F:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestPartyMatchDetail.java	(working copy)
@@ -56,7 +56,10 @@
 
 	void runImpl()
 	{
-		L2PcInstance player = (L2PcInstance) L2World.getInstance().findObject(_objectId);
+		L2PcInstance player = (L2PcInstance) L2World.getInstance().safeCastUser(_objectId);
+        if(player == null)
+            return;
+        
 		PartyMatchDetail details = new PartyMatchDetail(player);
 		sendPacket(details);
 	}
Index: F:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java
===================================================================
--- F:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java	(revision 1944)
+++ F:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java	(working copy)
@@ -286,6 +286,23 @@
         return _allObjects.get(oID);
     }
     
+    public L2PcInstance safeCastUser(int oID)
+    {
+        try
+        {
+            L2Object actor = _allObjects.get(oID);
+            if(actor instanceof L2PcInstance)
+                return (L2PcInstance)actor;
+        }
+        catch(Exception e)
+        {
+            _log.severe("safeCastUser saved the server");
+            e.printStackTrace();
+        }
+        
+        return null;
+    }
+    
     public long timeFindObject(int objectID)
     {
         long time   = System.currentTimeMillis();