Browse Source

Ensure clipping always ends.

Nathan Sweet 8 years ago
parent
commit
15961df0e3

+ 3 - 3
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRenderer.java

@@ -121,7 +121,7 @@ public class SkeletonRenderer implements Disposable {
 
 
 			clipper.clipEnd(i);
 			clipper.clipEnd(i);
 		}
 		}
-		clipper.clipEnd(-1);
+		clipper.clipEnd();
 	}
 	}
 
 
 	@SuppressWarnings("null")
 	@SuppressWarnings("null")
@@ -223,7 +223,7 @@ public class SkeletonRenderer implements Disposable {
 
 
 			clipper.clipEnd(i);
 			clipper.clipEnd(i);
 		}
 		}
-		clipper.clipEnd(-1);
+		clipper.clipEnd();
 	}
 	}
 
 
 	@SuppressWarnings("null")
 	@SuppressWarnings("null")
@@ -332,7 +332,7 @@ public class SkeletonRenderer implements Disposable {
 
 
 			clipper.clipEnd(i);
 			clipper.clipEnd(i);
 		}
 		}
-		clipper.clipEnd(-1);
+		clipper.clipEnd();
 	}
 	}
 
 
 	public void setPremultipliedAlpha (boolean premultipliedAlpha) {
 	public void setPremultipliedAlpha (boolean premultipliedAlpha) {

+ 5 - 1
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java

@@ -64,7 +64,11 @@ public class SkeletonClipping {
 	}
 	}
 
 
 	public void clipEnd (int index) {
 	public void clipEnd (int index) {
-		if (clipAttachment == null || clipAttachment.getEndSlot() != index) return;
+		if (clipAttachment != null && clipAttachment.getEndSlot() == index) clipEnd();
+	}
+
+	public void clipEnd () {
+		if (clipAttachment == null) return;
 		clipAttachment = null;
 		clipAttachment = null;
 		clippingPolygons = null;
 		clippingPolygons = null;
 		clippedVertices.clear();
 		clippedVertices.clear();