rendered paste bodyIndex: 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();