From fcb3161e57705ee294ce6733c1a488454f314f58 Mon Sep 17 00:00:00 2001 From: Stephen Hines Date: Mon, 23 Jun 2014 17:35:04 -0700 Subject: We need to update mPos when we copy a FieldPacker via its data[] member. Bug: 15756600 This change also adds a TODO/FIXME related to subAlign() and our tracking mechanism for it. We need to further investigate how to make subAlign() work properly if a user copies their FieldPacker. Change-Id: I861e529abd11e378f7c73b510d7f418b940fe480 --- rs/java/android/renderscript/FieldPacker.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'rs/java/android/renderscript/FieldPacker.java') diff --git a/rs/java/android/renderscript/FieldPacker.java b/rs/java/android/renderscript/FieldPacker.java index dccc1ac5f951..9048c3182760 100644 --- a/rs/java/android/renderscript/FieldPacker.java +++ b/rs/java/android/renderscript/FieldPacker.java @@ -37,10 +37,15 @@ public class FieldPacker { } public FieldPacker(byte[] data) { - mPos = 0; + // Advance mPos to the end of the buffer, since we are copying in the + // full data input. + mPos = data.length; mLen = data.length; mData = data; mAlignment = new BitSet(); + // TODO: We should either have an actual FieldPacker copy constructor + // or drop support for computing alignment like this. As it stands, + // subAlign() can never work correctly for copied FieldPacker objects. } public void align(int v) { -- cgit v1.2.3