Merge "Correct viewport initialization, bounds comparison"
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 7993c0f..826d988 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -662,7 +662,9 @@
// When the layer is not an FBO, we may use glCopyTexImage so we
// need to make sure the layer does not extend outside the bounds
// of the framebuffer
- if (!bounds.intersect(Rect(0, 0, getViewportWidth(), getViewportHeight()))) {
+ const Snapshot& previous = *(currentSnapshot()->previous);
+ Rect previousViewport(0, 0, previous.getViewportWidth(), previous.getViewportHeight());
+ if (!bounds.intersect(previousViewport)) {
bounds.setEmpty();
} else if (fboLayer) {
clip.set(bounds);
diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h
index 485dbf6..5426e89 100644
--- a/libs/hwui/Snapshot.h
+++ b/libs/hwui/Snapshot.h
@@ -271,7 +271,7 @@
private:
struct ViewportData {
- ViewportData() : mWidth(0), mHeight() {}
+ ViewportData() : mWidth(0), mHeight(0) {}
void initialize(int width, int height) {
mWidth = width;
mHeight = height;