quicksilver/Quicksilver — pull request #1683 by skurfer (2013-11-20 18:32:24+00:00)
Title: Fix some leaks

I wanted to fix all of them, but was only able to fix one, and introduced a warning in the process. Maybe there’s a better solution? I tried various changes to the prototype including `extern void` as described by [CocoaDev][1], thinking maybe Apple had changed it at some point and ours needed to match, but in the end, just removing it was the only thing that stopped the leaking. So now there’s the warning. :confused:

There are some other leaks, but they only show up a handful of times. The one fixed here was responsible for *hundreds* of leaks, so the majority are fixed by far.

The other leaks I found, but wasn’t able to fix:

1. Line 379 of `QSAppleScriptActions.m`. Looks right to me. Could the leak be down in the framework somewhere?
2. In `-[QSRegistry getClassInstance:]`, depending on the conditions, the variable `instance` might be “owned” by the method, in which case it would need to be released. ARC doesn’t seem to know what to do. I tried various things to separate that condition out with the hope that ARC would then know to release it, but no dice.

There are more leaks, but I think they’re all in plug-ins. I’ll be looking at some of those next.

[1]: http://cocoadev.com/AllApplications