diff --git a/core/src/main/java/com/volmit/iris/util/hunk/bits/DataContainer.java b/core/src/main/java/com/volmit/iris/util/hunk/bits/DataContainer.java index f9f9db027..2d02875fa 100644 --- a/core/src/main/java/com/volmit/iris/util/hunk/bits/DataContainer.java +++ b/core/src/main/java/com/volmit/iris/util/hunk/bits/DataContainer.java @@ -29,7 +29,7 @@ public class DataContainer { private static final boolean TRIM = Boolean.getBoolean("iris.trim-palette"); protected static final int INITIAL_BITS = 3; protected static final int LINEAR_BITS_LIMIT = 4; - protected static final int LINEAR_INITIAL_LENGTH = (int) Math.pow(2, LINEAR_BITS_LIMIT) + 1; + protected static final int LINEAR_INITIAL_LENGTH = (int) Math.pow(2, LINEAR_BITS_LIMIT) + 2; protected static final int[] BIT = computeBitLimits(); private final Lock read, write; diff --git a/core/src/main/java/com/volmit/iris/util/hunk/bits/LinearPalette.java b/core/src/main/java/com/volmit/iris/util/hunk/bits/LinearPalette.java index 8e9b0d3de..a93b4887c 100644 --- a/core/src/main/java/com/volmit/iris/util/hunk/bits/LinearPalette.java +++ b/core/src/main/java/com/volmit/iris/util/hunk/bits/LinearPalette.java @@ -52,11 +52,11 @@ public class LinearPalette implements Palette { return index; } - private synchronized void grow(int newLength) { - if (palette.length() <= newLength) + private synchronized void grow(int lastIndex) { + if (palette.length() > lastIndex) return; - AtomicReferenceArray a = new AtomicReferenceArray<>(newLength + 1); + AtomicReferenceArray a = new AtomicReferenceArray<>(lastIndex + 1); for (int i = 0; i < palette.length(); i++) { a.set(i, palette.get(i)); }