{"action":"created","issue":{"url":"https://api.github.com/repos/JohnMaguire/Cardinal/issues/41","labels_url":"https://api.github.com/repos/JohnMaguire/Cardinal/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/JohnMaguire/Cardinal/issues/41/comments","events_url":"https://api.github.com/repos/JohnMaguire/Cardinal/issues/41/events","html_url":"https://github.com/JohnMaguire/Cardinal/issues/41","id":58981144,"number":41,"title":"Fix possible memory leaks in EventManager with weak references","user":{"login":"JohnMaguire","id":440033,"avatar_url":"https://avatars.githubusercontent.com/u/440033?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnMaguire","html_url":"https://github.com/JohnMaguire","followers_url":"https://api.github.com/users/JohnMaguire/followers","following_url":"https://api.github.com/users/JohnMaguire/following{/other_user}","gists_url":"https://api.github.com/users/JohnMaguire/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnMaguire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnMaguire/subscriptions","organizations_url":"https://api.github.com/users/JohnMaguire/orgs","repos_url":"https://api.github.com/users/JohnMaguire/repos","events_url":"https://api.github.com/users/JohnMaguire/events{/privacy}","received_events_url":"https://api.github.com/users/JohnMaguire/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JohnMaguire/Cardinal/labels/bug","name":"bug","color":"f7c6c7"},{"url":"https://api.github.com/repos/JohnMaguire/Cardinal/labels/internals","name":"internals","color":"eb6420"},{"url":"https://api.github.com/repos/JohnMaguire/Cardinal/labels/wontfix","name":"wontfix","color":"ffffff"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-02-25T22:33:30Z","updated_at":"2015-02-28T07:43:15Z","closed_at":"2015-02-28T07:43:15Z","body":"It's also worth taking a look at the `PluginManager` and seeing whether weak references may be useful there as well. In the case of the `EventManager`, callbacks to events should be registered as weak references, so that if the plugin that registered the callback doesn't remove its callback for some reason, it doesn't prevent the garbage collector from handling the plugin (and this would help to prevent accidental duplicate callbacks for reloaded plugins.)"},"comment":{"url":"https://api.github.com/repos/JohnMaguire/Cardinal/issues/comments/76515780","html_url":"https://github.com/JohnMaguire/Cardinal/issues/41#issuecomment-76515780","issue_url":"https://api.github.com/repos/JohnMaguire/Cardinal/issues/41","id":76515780,"user":{"login":"JohnMaguire","id":440033,"avatar_url":"https://avatars.githubusercontent.com/u/440033?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnMaguire","html_url":"https://github.com/JohnMaguire","followers_url":"https://api.github.com/users/JohnMaguire/followers","following_url":"https://api.github.com/users/JohnMaguire/following{/other_user}","gists_url":"https://api.github.com/users/JohnMaguire/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnMaguire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnMaguire/subscriptions","organizations_url":"https://api.github.com/users/JohnMaguire/orgs","repos_url":"https://api.github.com/users/JohnMaguire/repos","events_url":"https://api.github.com/users/JohnMaguire/events{/privacy}","received_events_url":"https://api.github.com/users/JohnMaguire/received_events","type":"User","site_admin":false},"created_at":"2015-02-28T07:43:15Z","updated_at":"2015-02-28T07:43:15Z","body":"Isn't possible. :( Might cause me to re-think how the plugins work..."}}