Use a NSObject subclass rather than a malloc'd struct for `SourceInfo`, allowing...
commitf7f732781f45acfb27c9653baed2a91441ac283b
authorEvan Schoenberg <evan@adiumx.com>
Sun, 20 Jan 2008 15:04:53 +0000 (20 15:04 +0000)
committerEvan Schoenberg <evan@adiumx.com>
Sun, 20 Jan 2008 15:04:53 +0000 (20 15:04 +0000)
tree1cf1cd73acb8c2cd01ddea330561439642a1c31b
parentdd24ff964fc9d220ee706fc7af408644ab24b556
Use a NSObject subclass rather than a malloc'd struct for `SourceInfo`, allowing real reference counting to take place easily.  Pass `CFRetain`/`CFRelease` in the context information so that as the `SourceInfo` is passed around it's properly managed.  This means we don't have to do manual tracking of the memory... and should fix any problems with the socket being retained elsewhere such that we free the `SourceInfo` before it should be freed.

Fixes #8692, so far as I can tell; thanks to '''tgos''' for detailed bug reporting and investigating of this issue which could cause seemingly random crashes. '''tgos''', I can no longer reproduce the crash after this change; please let us know if that's true for you, as well.

git-svn-id: svn://svn.adiumx.com/adium/trunk@22436 1c916fce-81e2-0310-a464-8ca513f45935
Plugins/Purple Service/adiumPurpleEventloop.m