From 7c048a00bc2587dc9c8ee4ae512bd88a2012a2a5 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Mon, 4 Jun 2018 00:21:14 -0600 Subject: [PATCH 1/2] runelite-api: Correct actor documentation --- runelite-api/src/main/java/net/runelite/api/Actor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Actor.java b/runelite-api/src/main/java/net/runelite/api/Actor.java index 6894218947..c5fc4cf988 100644 --- a/runelite-api/src/main/java/net/runelite/api/Actor.java +++ b/runelite-api/src/main/java/net/runelite/api/Actor.java @@ -85,8 +85,8 @@ public interface Actor extends Renderable /** * Gets the server-side location of the actor. *

- * This value is typically ahead of where the client renders and may - * be affected by things such as animations. + * This value is typically ahead of where the client renders and is not + * affected by things such as animations. * * @return the server location */ From d97eef0c104c5fd00bceca8340ce103158f25b31 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Mon, 4 Jun 2018 01:17:51 -0600 Subject: [PATCH 2/2] runelite-client: Don't fail on invalid config values. --- .../config/ConfigInvocationHandler.java | 24 +++++++++++-------- .../runelite/client/config/ConfigManager.java | 9 ++++++- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java index 70bf800b34..2895fc31fb 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java @@ -78,16 +78,20 @@ class ConfigInvocationHandler implements InvocationHandler // Convert value to return type Class returnType = method.getReturnType(); - Object objectValue = ConfigManager.stringToObject(value, returnType); - - // objectValue automatically gets unboxed -// if (!objectValue.getClass().equals(returnType)) -// { -// log.warn("Unable to convert return type for configuration item {}.{}: {}", group.keyName(), item.keyName(), returnType); -// return null; -// } - - return objectValue; + + try + { + return ConfigManager.stringToObject(value, returnType); + } + catch (Exception e) + { + log.warn("Unable to unmarshal {}.{} ", group.keyName(), item.keyName(), e); + if (method.isDefault()) + { + return callDefaultMethod(proxy, method, args); + } + return null; + } } else { diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index ce731320a4..5501345dc3 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -254,7 +254,14 @@ public class ConfigManager String value = getConfiguration(groupName, key); if (!Strings.isNullOrEmpty(value)) { - return (T) stringToObject(value, clazz); + try + { + return (T) stringToObject(value, clazz); + } + catch (Exception e) + { + log.warn("Unable to unmarshal {}.{} ", groupName, key, e); + } } return null; }