{"action":"created","issue":{"url":"https://api.github.com/repos/gameplay3d/GamePlay/issues/1737","labels_url":"https://api.github.com/repos/gameplay3d/GamePlay/issues/1737/labels{/name}","comments_url":"https://api.github.com/repos/gameplay3d/GamePlay/issues/1737/comments","events_url":"https://api.github.com/repos/gameplay3d/GamePlay/issues/1737/events","html_url":"https://github.com/gameplay3d/GamePlay/issues/1737","id":76869295,"number":1737,"title":"Forms crash if button click handler releases them","user":{"login":"jwatte","id":481909,"avatar_url":"https://avatars.githubusercontent.com/u/481909?v=3","gravatar_id":"","url":"https://api.github.com/users/jwatte","html_url":"https://github.com/jwatte","followers_url":"https://api.github.com/users/jwatte/followers","following_url":"https://api.github.com/users/jwatte/following{/other_user}","gists_url":"https://api.github.com/users/jwatte/gists{/gist_id}","starred_url":"https://api.github.com/users/jwatte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwatte/subscriptions","organizations_url":"https://api.github.com/users/jwatte/orgs","repos_url":"https://api.github.com/users/jwatte/repos","events_url":"https://api.github.com/users/jwatte/events{/privacy}","received_events_url":"https://api.github.com/users/jwatte/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-05-15T21:52:39Z","updated_at":"2015-10-21T20:03:47Z","closed_at":null,"body":"If I have a button click handler that SAFE_RELEASE()-es the for that contains the button, the form will actually be deleted, which will crash in the engine click dispatching code trying to walk up to parents of the button being clicked.\r\n\r\nThis can either be solved by the button holding a ref to the form (causing a cycle,) or by the dispatching code holding a temporary ref to the form (the button holds a temporary ref to itself, but that is not enough,) or by the dispatcher being explicitly aware of this case and breaking out early out of the click dispatching code when it happens.\r\n"},"comment":{"url":"https://api.github.com/repos/gameplay3d/GamePlay/issues/comments/150009636","html_url":"https://github.com/gameplay3d/GamePlay/issues/1737#issuecomment-150009636","issue_url":"https://api.github.com/repos/gameplay3d/GamePlay/issues/1737","id":150009636,"user":{"login":"jwatte","id":481909,"avatar_url":"https://avatars.githubusercontent.com/u/481909?v=3","gravatar_id":"","url":"https://api.github.com/users/jwatte","html_url":"https://github.com/jwatte","followers_url":"https://api.github.com/users/jwatte/followers","following_url":"https://api.github.com/users/jwatte/following{/other_user}","gists_url":"https://api.github.com/users/jwatte/gists{/gist_id}","starred_url":"https://api.github.com/users/jwatte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwatte/subscriptions","organizations_url":"https://api.github.com/users/jwatte/orgs","repos_url":"https://api.github.com/users/jwatte/repos","events_url":"https://api.github.com/users/jwatte/events{/privacy}","received_events_url":"https://api.github.com/users/jwatte/received_events","type":"User","site_admin":false},"created_at":"2015-10-21T20:03:47Z","updated_at":"2015-10-21T20:03:47Z","body":"That turned out to require way deep changes. A simple recount didn't do it.\nSo I dropped it and set a flag in my code and test that later...\n\nJw\nOn Oct 21, 2015 7:06 AM, \"Sean Taylor\" <notifications@github.com> wrote:\n\n> Have a possible fix for this ?\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/gameplay3d/GamePlay/issues/1737#issuecomment-149906604>\n> .\n>\n"}}