Draw text decorations correctly.

Change-Id: I237c0ca8bfe9f233e62476e80f72bcea4359398e
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index b24c04f..fc14777 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1116,6 +1116,8 @@
     }
 
     // TODO: Handle paint->getTextScaleX()
+    const float oldX = x;
+    const float oldY = y;
     const bool pureTranslate = mSnapshot->transform->isPureTranslate();
     if (pureTranslate) {
         x = (int) floorf(x + mSnapshot->transform->getTranslateX() + 0.5f);
@@ -1194,7 +1196,7 @@
     glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
     glDisableVertexAttribArray(mCaches.currentProgram->getAttrib("texCoords"));
 
-    drawTextDecorations(text, bytesCount, length, x, y, paint);
+    drawTextDecorations(text, bytesCount, length, oldX, oldY, paint);
 }
 
 void OpenGLRenderer::drawPath(SkPath* path, SkPaint* paint) {