Skip to content

Critical: Clean Object Dictionary look over #1625

@pjrobertson

Description

@pjrobertson

I've just stumbled across this today, and it's a biggy we shouldn't have overlooked when we merged the ARC stuff in. I seem to remember @craigotis mentioning it, so it's my bad for not raising it...

but the important code in +[QSObject cleanObjectDictionary] is commented out.
This means objects aren't ever going to get released (theoretically)

You can see the memory increase (well, the object increase) if you:

  • Pause QS running in Xcode and type print [(NSArray *)[objectDictionary allKeys] count] in the debugger
  • Resume Xcode, and browse to /usr/bin/ in QS (and/or any other place that makes lots of 'temporary' QSObjects)
  • Maybe wait a little while for cleanObjectDictionary to be called/any cleanup to be performed (it's called when the interface closes, no need to wait if you trust me :D)
  • Pause Xcode again and run print [(NSArray *)[objectDictionary allKeys] count]
  • You'll see the number of objects being stored has gone up quite a bit.

cleanObjectDictionary was never the right way to go about this. But what it? :)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions