From 72e8b2ad6150e38035026eb748851f50adc9ebc7 Mon Sep 17 00:00:00 2001 From: Treeku Date: Sat, 31 May 2014 08:24:46 +0100 Subject: [PATCH 1/6] Fixed Color Crystal crash --- src/resources/objects/tangible/TangibleObject.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index f37ddfdf..151af1a9 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -115,7 +115,7 @@ public class TangibleObject extends SWGObject implements Serializable { baseline.put("faction", 0); baseline.put("factionStatus", 0); baseline.put("customization", new byte[] { }); - baseline.put("componentCustomizations", new SWGList(this, 3, 7, false)); + baseline.put("componentCustomizations", new SWGSet(this, 3, 7, false)); baseline.put("optionsBitmask", 0); baseline.put("uses", 0); baseline.put("conditionDamage", 0); From 4fa08a623f21243a81b49e4a283139b91da3679e Mon Sep 17 00:00:00 2001 From: Treeku Date: Sat, 31 May 2014 13:45:40 +0100 Subject: [PATCH 2/6] Fixed cast error --- src/resources/objects/tangible/TangibleObject.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index 151af1a9..209f4903 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -173,10 +173,11 @@ public class TangibleObject extends SWGObject implements Serializable { } public SWGList getComponentCustomizations() { - return (SWGList) getBaseline(3).get("componentCustomizations"); + return (SWGSet) getBaseline(3).get("componentCustomizations"); } public void setComponentCustomizations(List componentCustomizations) { + getComponentCustomizations().clear(); getComponentCustomizations().addAll(componentCustomizations); } From f8dd85162972af57ad051f40dc4eb22d0aa4fa83 Mon Sep 17 00:00:00 2001 From: Treeku Date: Sat, 31 May 2014 13:46:42 +0100 Subject: [PATCH 3/6] Fixed another cast error --- src/resources/objects/tangible/TangibleObject.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index 209f4903..41d555ec 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -172,7 +172,7 @@ public class TangibleObject extends SWGObject implements Serializable { notifyClients(getBaseline(3).set("customization", customization), true); } - public SWGList getComponentCustomizations() { + public SWGSet getComponentCustomizations() { return (SWGSet) getBaseline(3).get("componentCustomizations"); } From 7744f43d66e832092cf8540f15a1de2ab8c5c316 Mon Sep 17 00:00:00 2001 From: Treeku Date: Sat, 31 May 2014 13:50:12 +0100 Subject: [PATCH 4/6] Fixed clear() in SWGSet --- src/resources/objects/SWGSet.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/resources/objects/SWGSet.java b/src/resources/objects/SWGSet.java index baed30cd..fae6145c 100644 --- a/src/resources/objects/SWGSet.java +++ b/src/resources/objects/SWGSet.java @@ -117,6 +117,7 @@ public class SWGSet implements Set, Serializable { public void clear() { synchronized(objectMutex) { + set.clear(); queue(item(2, null, null, false, false)); } } From 4d51a64c6c1a7c239a631c0efd71beabee9491bf Mon Sep 17 00:00:00 2001 From: Treeku Date: Sat, 31 May 2014 16:28:55 +0100 Subject: [PATCH 5/6] Added exception catching for disconnect() --- src/services/ConnectionService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/services/ConnectionService.java b/src/services/ConnectionService.java index eed1f254..015d6b71 100644 --- a/src/services/ConnectionService.java +++ b/src/services/ConnectionService.java @@ -83,7 +83,12 @@ public class ConnectionService implements INetworkDispatch { for(Client c : core.getActiveConnectionsMap().values()) { if(c.getParent() != null) { if ((System.currentTimeMillis() - c.getSession().getLastReadTime()) > 300000) { - disconnect(c); + try { + disconnect(c); + } catch (Exception e) { + System.err.println("ConnectionService:disconnect(): Error disconnecting client."); + e.printStackTrace(); + } } } } From 6a54b68beeca81e20df910ae1dc2e8cea1fb486a Mon Sep 17 00:00:00 2001 From: Light2 Date: Sat, 31 May 2014 19:17:05 +0200 Subject: [PATCH 6/6] fixed waypoint crash --- src/resources/objects/waypoint/WaypointObject.java | 3 +-- src/services/bazaar/BazaarService.java | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/resources/objects/waypoint/WaypointObject.java b/src/resources/objects/waypoint/WaypointObject.java index e30fa1a5..563ae32f 100644 --- a/src/resources/objects/waypoint/WaypointObject.java +++ b/src/resources/objects/waypoint/WaypointObject.java @@ -158,9 +158,8 @@ public class WaypointObject extends IntangibleObject implements Serializable, ID @Override public byte[] getBytes() { - IoBuffer buffer = bufferPool.allocate(50 + name.length() * 2, false).order(ByteOrder.LITTLE_ENDIAN); + IoBuffer buffer = bufferPool.allocate(42 + name.length() * 2, false).order(ByteOrder.LITTLE_ENDIAN); - buffer.putLong(getObjectID()); buffer.putInt(getCellId()); buffer.putFloat(getPosition().x); diff --git a/src/services/bazaar/BazaarService.java b/src/services/bazaar/BazaarService.java index 4680e077..32f760a2 100644 --- a/src/services/bazaar/BazaarService.java +++ b/src/services/bazaar/BazaarService.java @@ -780,6 +780,8 @@ public class BazaarService implements INetworkDispatch { } public void addAuctionItem(AuctionItem auctionItem) { + if(auctionItem == null) + return; auctionItems.add(auctionItem); int commodityNumber = 0; if(commodityLimit.get(auctionItem.getOwnerId()) != null)