commit 8b36dabf83b1f8daa2ad13409b155d93d9738794
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Jan 8 02:18:40 2021 +0100

    Plug a major memory leak.
    Still one more leak remains - a similar UniformBuffer has to be markedForDeletion in the EffectQueues.

diff --git a/src/main/java/org/distorted/library/main/DistortedEffects.java b/src/main/java/org/distorted/library/main/DistortedEffects.java
index e81b26f..ea3d838 100644
--- a/src/main/java/org/distorted/library/main/DistortedEffects.java
+++ b/src/main/java/org/distorted/library/main/DistortedEffects.java
@@ -32,8 +32,8 @@ import org.distorted.library.effect.EffectType;
  */
 public class DistortedEffects
   {
-  private long mID;
-  private EffectQueue[] mQueues;
+  private final long mID;
+  private final EffectQueue[] mQueues;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
diff --git a/src/main/java/org/distorted/library/mesh/MeshBase.java b/src/main/java/org/distorted/library/mesh/MeshBase.java
index 264c4be..754b263 100644
--- a/src/main/java/org/distorted/library/mesh/MeshBase.java
+++ b/src/main/java/org/distorted/library/mesh/MeshBase.java
@@ -49,7 +49,7 @@ public abstract class MeshBase
    {
    private static final int ASSOC_UBO_BINDING  = 3;
    private static final int CENTER_UBO_BINDING = 4;
-           static final int MAX_EFFECT_COMPONENTS= 110;
+           static final int MAX_EFFECT_COMPONENTS= 100;
 
    // sizes of attributes of an individual vertex.
    private static final int POS_DATA_SIZE= 3; // vertex coordinates: x,y,z
@@ -1072,6 +1072,8 @@ public abstract class MeshBase
      mVBO1.markForDeletion();
      mVBO2.markForDeletion();
      mTFO.markForDeletion();
+     mUBA.markForDeletion();
+     mUBC.markForDeletion();
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/library/mesh/UniformBlockAssociation.java b/src/main/java/org/distorted/library/mesh/UniformBlockAssociation.java
index 9d79a17..fd7b02a 100644
--- a/src/main/java/org/distorted/library/mesh/UniformBlockAssociation.java
+++ b/src/main/java/org/distorted/library/mesh/UniformBlockAssociation.java
@@ -93,6 +93,13 @@ class UniformBlockAssociation
     mAssociations[4*compTo+2] = assocFrom.mAssociations[4*compFrom+2];
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void markForDeletion()
+    {
+    mUBO.markForDeletion();
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   void print()
diff --git a/src/main/java/org/distorted/library/mesh/UniformBlockCenter.java b/src/main/java/org/distorted/library/mesh/UniformBlockCenter.java
index 9dd0711..5b32a78 100644
--- a/src/main/java/org/distorted/library/mesh/UniformBlockCenter.java
+++ b/src/main/java/org/distorted/library/mesh/UniformBlockCenter.java
@@ -80,6 +80,13 @@ class UniformBlockCenter
     mCenter[4*compTo+2] = blockFrom.mCenter[4*compFrom+2];
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void markForDeletion()
+    {
+    mUBO.markForDeletion();
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   float[] getBackingArray()
