diff --git a/src/main/java/electrosphere/renderer/texture/Texture.java b/src/main/java/electrosphere/renderer/texture/Texture.java index 193cebc9..a0c98a31 100644 --- a/src/main/java/electrosphere/renderer/texture/Texture.java +++ b/src/main/java/electrosphere/renderer/texture/Texture.java @@ -202,12 +202,18 @@ public class Texture { //buffer data for(int y = height - 1; y > -1; y--){ for(int x = 0; x < width; x++){ - Color temp = new Color(image_data.getRGB(x, y), true); + Color temp = new Color(image_data.getRGB(x, y), hasTransparency); + if(data.position() + 3 > data.limit() + 1){ + throw new IllegalStateException("Hit buffer limit!"); + } data.put((byte)temp.getRed()); data.put((byte)temp.getGreen()); data.put((byte)temp.getBlue()); if(hasTransparency){ + if(data.position() + 1 > data.limit() + 1){ + throw new IllegalStateException("Hit buffer limit!"); + } data.put((byte)temp.getAlpha()); } }