From 05e8145fa6b7bc0b0762264a13b6cfc50c4dfc43 Mon Sep 17 00:00:00 2001 From: mcrcortex <{ID}+{username}@users.noreply.github.com> Date: Tue, 7 May 2024 10:08:56 +1000 Subject: [PATCH] FixMem --- .../me/cortex/voxy/client/saver/ContextSelectionSystem.java | 4 ++++ .../voxy/common/storage/inmemory/MemoryStorageBackend.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/cortex/voxy/client/saver/ContextSelectionSystem.java b/src/main/java/me/cortex/voxy/client/saver/ContextSelectionSystem.java index beb7fedd..7a926db2 100644 --- a/src/main/java/me/cortex/voxy/client/saver/ContextSelectionSystem.java +++ b/src/main/java/me/cortex/voxy/client/saver/ContextSelectionSystem.java @@ -43,6 +43,10 @@ public class ContextSelectionSystem { config.storageConfig = compression; DEFAULT_STORAGE_CONFIG = Serialization.GSON.toJson(config); + + if (Serialization.GSON.fromJson(DEFAULT_STORAGE_CONFIG, WorldConfig.class) == null) { + throw new IllegalStateException(); + } } public static class Selection { diff --git a/src/main/java/me/cortex/voxy/common/storage/inmemory/MemoryStorageBackend.java b/src/main/java/me/cortex/voxy/common/storage/inmemory/MemoryStorageBackend.java index 814105f3..863db42e 100644 --- a/src/main/java/me/cortex/voxy/common/storage/inmemory/MemoryStorageBackend.java +++ b/src/main/java/me/cortex/voxy/common/storage/inmemory/MemoryStorageBackend.java @@ -52,7 +52,9 @@ public class MemoryStorageBackend extends StorageBackend { public void setSectionData(long key, ByteBuffer data) { var map = this.getMap(key); synchronized (map) { - var old = map.put(key, data); + var cpy = MemoryUtil.memAlloc(data.remaining()); + MemoryUtil.memCopy(data, cpy); + var old = map.put(key, cpy); if (old != null) { MemoryUtil.memFree(old); }