Browse Source

Another bitmap text clone fix. The text pages array (the list of the actual geometry of
the bitmap text) wasn't really being cloned... only the elements were. This meant that
that a cloned BitmapText object would continue to share the meshes from the original.

Paul Speed 8 năm trước cách đây
mục cha
commit
f81c14de7c
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      jme3-core/src/main/java/com/jme3/font/BitmapText.java

+ 2 - 1
jme3-core/src/main/java/com/jme3/font/BitmapText.java

@@ -50,7 +50,7 @@ public class BitmapText extends Node {
     private BitmapFont font;
     private StringBlock block;
     private boolean needRefresh = true;
-    private final BitmapTextPage[] textPages;
+    private BitmapTextPage[] textPages;
     private Letters letters;
 
     public BitmapText(BitmapFont font) {
@@ -86,6 +86,7 @@ public class BitmapText extends Node {
     public void cloneFields( Cloner cloner, Object original ) {
         super.cloneFields(cloner, original);
 
+        textPages = textPages.clone();
         for( int i = 0; i < textPages.length; i++ ) {
             textPages[i] = cloner.clone(textPages[i]);
         }