)]}'
{
  "commit": "74d90ad55aadf64f12499d8cc27807b781c8ddeb",
  "tree": "6b470655ed0b5933df8644746d02ccc6a1976ea9",
  "parents": [
    "89655c0603b01e0bf778ce43faa4ecbf2f279d44"
  ],
  "author": {
    "name": "chaviw",
    "email": "chaviw@google.com",
    "time": "Fri Apr 26 14:45:26 2019 -0700"
  },
  "committer": {
    "name": "Chavi Weingarten",
    "email": "chaviw@google.com",
    "time": "Mon Apr 29 23:27:17 2019 +0000"
  },
  "message": "Ensure currentState is copied to drawingState for offscreen layers\n\nWhen a layer is re-parented to null, it becomes offscreen. This means it\ncan\u0027t be reached when traversing layers. The layer can still be around\nin memory and modified since the client can still access it. If the\nlayer makes changes to other layers it references (children or relative),\nthat info will never get copied from currentState to drawingState. This\ncould possibly cause leaks since the offscreen layer will continue to hold\na reference to another layer even if the layer requested to be re-parented.\n\nThis change stores a raw reference to the offscreen layers so their\nstates can get copied from current to drawing, ensuring that any\nreferences are updated properly.\n\nTest: Steps from bug does not create buffer leak\nTest: go/wm-smoke no buffer leak\nFixes: 131265073\nFixes: 126185092\nChange-Id: I3b32350cfdb7e7cbd75eab107d986877c6d6f6ba\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "46ca0b6fa2b4bdded80c0d44e0a9afb5f7c757e4",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Layer.cpp",
      "new_id": "cbe8b299db34ffa70ee71e75b7f685d1434bd9ae",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Layer.cpp"
    },
    {
      "type": "modify",
      "old_id": "d5a38e92657c1235f3471b4588b7ba14fae586fd",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/SurfaceFlinger.cpp",
      "new_id": "747f1cea23ce360e436cfb658471ff428675aef0",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/SurfaceFlinger.cpp"
    },
    {
      "type": "modify",
      "old_id": "72e2ff91f0167331e55ceb5a58987cb9743512c4",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/SurfaceFlinger.h",
      "new_id": "4e97ba6a4c441482774692ef300c1d931a3155ed",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/SurfaceFlinger.h"
    }
  ]
}
