commit 576afdf9cbd290da76a3a2afcfdd44357a0901a7
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun Feb 5 23:36:14 2023 +0100

    Workaround (real reason not found) for the issue when furious touching the screen in the BandagedCreator could sometimes leave a cubit permanently lit.

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
index 829a8d68..8e9cac3a 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
@@ -162,13 +162,13 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
        if( !mCubits[c].isAttached() )
          {
          mCubits[c].attach();
-         mCubits[c].setUnmarked();
          mScreen.attach(mCubits[c].getNode());
          }
        if( mCubits[c].getPosition().length>3 )
          {
          mCubits[c].reset(mScaleValue);
          }
+       mCubits[c].setUnmarked();
        }
      }
 
@@ -327,13 +327,6 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
      android.util.Log.e("CREATOR", "unexpected exception: "+ex.getMessage() );
      }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-   public BandagedCubit[] getCubits()
-     {
-     return mCubits;
-     }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
    public DistortedScreen getScreen()
diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java b/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
index 1b954b57..41fdea14 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
@@ -303,19 +303,18 @@ public class BandagedCreatorScreen implements AdapterView.OnItemSelectedListener
 
   private String generateObjectStrings()
     {
-    String result = "";
+    StringBuilder result = new StringBuilder();
     int numViews = mViews.size();
 
     for( int v=0; v<numViews; v++ )
       {
       BandagedCreatorObjectView view = mViews.get(v);
       String name = view.getName();
-
-      if( v>0 ) result += " ";
-      result += name;
+      if( v>0 ) result.append(' ');
+      result.append(name);
       }
 
-    return result;
+    return result.toString();
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -327,18 +326,9 @@ public class BandagedCreatorScreen implements AdapterView.OnItemSelectedListener
 
       if( view!=null ) ((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX,mTextSize);
 
-      if( spinnerID==R.id.bandagedCreatorX )
-        {
-        mX = pos;
-        }
-      else if( spinnerID==R.id.bandagedCreatorY )
-        {
-        mY = pos;
-        }
-      else if( spinnerID==R.id.bandagedCreatorZ )
-        {
-        mZ = pos;
-        }
+           if( spinnerID==R.id.bandagedCreatorX ) mX = pos;
+      else if( spinnerID==R.id.bandagedCreatorY ) mY = pos;
+      else if( spinnerID==R.id.bandagedCreatorZ ) mZ = pos;
 
       changeObject();
       }
diff --git a/src/main/java/org/distorted/bandaged/BandagedCubit.java b/src/main/java/org/distorted/bandaged/BandagedCubit.java
index 0373e768..cef96fc7 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCubit.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCubit.java
@@ -13,6 +13,7 @@ import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Paint;
 
+import org.distorted.library.effect.EffectType;
 import org.distorted.library.effect.FragmentEffectBrightness;
 import org.distorted.library.effect.MatrixEffectMove;
 import org.distorted.library.effect.MatrixEffectQuaternion;
@@ -267,11 +268,8 @@ public class BandagedCubit
 
     public void setUnmarked()
       {
-      if( mMarkedEffectID>=0 )
-        {
-        mEffects.abortById(mMarkedEffectID);
-        mMarkedEffectID = -1;
-        }
+      mEffects.abortByType(EffectType.FRAGMENT);
+      mMarkedEffectID = -1;
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
