Fix for the renderscript ref counting bug.

This only manifested itself in the situations where elements containing multiple ref counted objects were copied from Java.

Change-Id: I2c1cc89fe7f792259b3f033674142eb33d17a507
diff --git a/rsElement.cpp b/rsElement.cpp
index 2b58e9e..b77b18a 100644
--- a/rsElement.cpp
+++ b/rsElement.cpp
@@ -263,10 +263,10 @@
     const uint8_t *p = static_cast<const uint8_t *>(ptr);
     for (uint32_t i=0; i < mFieldCount; i++) {
         if (mFields[i].e->mHasReference) {
-            p = &p[mFields[i].offsetBits >> 3];
+            const uint8_t *p2 = &p[mFields[i].offsetBits >> 3];
             for (uint32_t ct=0; ct < mFields[i].arraySize; ct++) {
-                mFields[i].e->incRefs(p);
-                p += mFields[i].e->getSizeBytes();
+                mFields[i].e->incRefs(p2);
+                p2 += mFields[i].e->getSizeBytes();
             }
         }
     }
@@ -285,10 +285,10 @@
     const uint8_t *p = static_cast<const uint8_t *>(ptr);
     for (uint32_t i=0; i < mFieldCount; i++) {
         if (mFields[i].e->mHasReference) {
-            p = &p[mFields[i].offsetBits >> 3];
+            const uint8_t *p2 = &p[mFields[i].offsetBits >> 3];
             for (uint32_t ct=0; ct < mFields[i].arraySize; ct++) {
-                mFields[i].e->decRefs(p);
-                p += mFields[i].e->getSizeBytes();
+                mFields[i].e->decRefs(p2);
+                p2 += mFields[i].e->getSizeBytes();
             }
         }
     }