Fix improper clipping after a save()
Change-Id: I13426a67f20d77e2710bd500d82884098f4be97c
diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h
index 020bdb0..399ae68 100644
--- a/libs/hwui/Snapshot.h
+++ b/libs/hwui/Snapshot.h
@@ -57,8 +57,13 @@
flags(0),
previous(s),
layer(NULL),
- fbo(s->fbo),
- localClip(s->localClip) {
+ fbo(s->fbo) {
+ if ((s->flags & Snapshot::kFlagClipSet) &&
+ !(s->flags & Snapshot::kFlagDirtyLocalClip)) {
+ localClip.set(s->localClip);
+ } else {
+ flags |= Snapshot::kFlagDirtyLocalClip;
+ }
}
/**