)]}'
{
  "commit": "aef18a90ab54a301a2b8e1bf11a93f1afbbe5c6f",
  "tree": "79c54efca7e4e2d738b08749a4ca215f8c30dacc",
  "parents": [
    "ab246ebcef738488f75e7cc84d50009405b79e0f"
  ],
  "author": {
    "name": "Hixie",
    "email": "github.com@spam.hixie.ch",
    "time": "Thu Jun 25 17:08:06 2015 -0700"
  },
  "committer": {
    "name": "Hixie",
    "email": "github.com@spam.hixie.ch",
    "time": "Thu Jun 25 17:08:06 2015 -0700"
  },
  "message": "Add asserts to catch potential misuses of the rendering framework.\n\nNew asserts:\n- verify that after layout, the size fits the constraints\n- verify that after layout, the size isn\u0027t infinite\n- verify that you don\u0027t set the size in performLayout() if you have\n  sizedByParent set\n- verify that nobody reads your size during layout except you, or your\n  parent if they said parentUsesSize:true\n\nFixes some bugs found by those asserts:\n- RenderBlock, RenderStack, and RenderScaffold were not always setting\n  parentUsesSize correctly\n- RenderScaffold was setting its slot entries to null rather than\n  removing them when the slot went away, which led to null derefs in\n  certain circumstances\n\nAlso, rename a local variable in RenderStack.performLayout() because\nit was shadowing a variable on the object itself, which was really\nconfusing when I first tried to debug this function...\n\nR\u003dabarth@chromium.org\n\nReview URL: https://codereview.chromium.org/1213473003.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b17b31b98cee3d9d61ebcfbfed6565fe313be2c4",
      "old_mode": 33188,
      "old_path": "examples/rendering/sector_layout.dart",
      "new_id": "85dcc41691f603735023bbd517748b90112e78ec",
      "new_mode": 33188,
      "new_path": "examples/rendering/sector_layout.dart"
    }
  ]
}
