Skip to content

Memory leak -version 4.5.0 #835

@DecadesTomb

Description

@DecadesTomb

_DidFinishPicking was not set to nil after the call was completed, resulting in a memory leak due to strong references.

YPImagePicker -
start - line 37
before - private func didSelect(items: [YPMediaItem]) {
_didFinishPicking?(items, false)
}

after private func didSelect(items: [YPMediaItem]) {
_didFinishPicking?(items, false)
_didFinishPicking = nil
}

start - line 67
before -
picker.didClose = { [weak self] in
self?._didFinishPicking?([], true)
}
after -
picker.didClose = { [weak self] in
self?._didFinishPicking?([], true)
self?._didFinishPicking = nil
}

Just to be sure
start - line 154
before -
deinit {
print("Picker deinited 👍")
}
after -
deinit {
_didFinishPicking = nil
print("Picker deinited 👍")
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions