{"action":"created","issue":{"url":"https://api.github.com/repos/flutter/engine/issues/1551","labels_url":"https://api.github.com/repos/flutter/engine/issues/1551/labels{/name}","comments_url":"https://api.github.com/repos/flutter/engine/issues/1551/comments","events_url":"https://api.github.com/repos/flutter/engine/issues/1551/events","html_url":"https://github.com/flutter/engine/pull/1551","id":110553058,"number":1551,"title":"Changing themes caused crash","user":{"login":"Hixie","id":551196,"avatar_url":"https://avatars.githubusercontent.com/u/551196?v=3","gravatar_id":"","url":"https://api.github.com/users/Hixie","html_url":"https://github.com/Hixie","followers_url":"https://api.github.com/users/Hixie/followers","following_url":"https://api.github.com/users/Hixie/following{/other_user}","gists_url":"https://api.github.com/users/Hixie/gists{/gist_id}","starred_url":"https://api.github.com/users/Hixie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hixie/subscriptions","organizations_url":"https://api.github.com/users/Hixie/orgs","repos_url":"https://api.github.com/users/Hixie/repos","events_url":"https://api.github.com/users/Hixie/events{/privacy}","received_events_url":"https://api.github.com/users/Hixie/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-08T22:21:27Z","updated_at":"2015-10-08T22:31:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/flutter/engine/pulls/1551","html_url":"https://github.com/flutter/engine/pull/1551","diff_url":"https://github.com/flutter/engine/pull/1551.diff","patch_url":"https://github.com/flutter/engine/pull/1551.patch"},"body":"The root cause was that we crawled the tree to mark anyone who depended\r\non the updated theme dirty _after_ we crawled it to rebuild it. Thus, if\r\nanyone was already marked dirty when the process started, then got\r\nmarked clean by the first (rebuild) walk, then got marked dirty again by\r\nthe notification, they'd be clean when they got the notification,\r\ndespite already being in the dirty list, which would cause an assertion.\r\n\r\nAlso IconTheme didn't have an operator==, so it was independently too\r\naggressive about updates."},"comment":{"url":"https://api.github.com/repos/flutter/engine/issues/comments/146705892","html_url":"https://github.com/flutter/engine/pull/1551#issuecomment-146705892","issue_url":"https://api.github.com/repos/flutter/engine/issues/1551","id":146705892,"user":{"login":"abarth","id":112007,"avatar_url":"https://avatars.githubusercontent.com/u/112007?v=3","gravatar_id":"","url":"https://api.github.com/users/abarth","html_url":"https://github.com/abarth","followers_url":"https://api.github.com/users/abarth/followers","following_url":"https://api.github.com/users/abarth/following{/other_user}","gists_url":"https://api.github.com/users/abarth/gists{/gist_id}","starred_url":"https://api.github.com/users/abarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abarth/subscriptions","organizations_url":"https://api.github.com/users/abarth/orgs","repos_url":"https://api.github.com/users/abarth/repos","events_url":"https://api.github.com/users/abarth/events{/privacy}","received_events_url":"https://api.github.com/users/abarth/received_events","type":"User","site_admin":false},"created_at":"2015-10-08T22:31:38Z","updated_at":"2015-10-08T22:31:38Z","body":"LGTM"}}