X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Fraster%2Fshapes%2Fbasic%2FGlowingPoint.java;h=339d6bb8746f55b2dfbaca53a51ffafc5bf0c5ba;hp=4dd454f8a16a8f3539c90b2745ed3c5516d8a618;hb=b96792157e8a4ca207ceb3fffab6165ed8b25192;hpb=a4176a2e53a8b0475d69091c49529e87bb505c52 diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java index 4dd454f..339d6bb 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java @@ -28,12 +28,19 @@ public class GlowingPoint extends ForwardOrientedTexture { final Color color) { super(point, pointSize, getTexture(color)); this.color = color; + + synchronized (glowingPoints){ + glowingPoints.add(this); + } } private static Texture getTexture(final Color color) { // attempt to reuse texture from existing glowing point of the same color - for (GlowingPoint glowingPoint : glowingPoints) - if (color.equals(glowingPoint.color)) return glowingPoint.texture; + synchronized (glowingPoints) { + for (GlowingPoint glowingPoint : glowingPoints) + if (color.equals(glowingPoint.color)) + return glowingPoint.texture; + } // existing texture not found, creating new one return createTexture(color);