diff options
author | Patrick Luby <guibmacdev@gmail.com> | 2024-05-24 20:26:23 -0400 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-05-26 09:52:41 +0200 |
commit | 0735a4306da86c6fa0390b85f1f391ec404b2699 (patch) | |
tree | e26fc6e5a4b1ad5c7e217963a4ca0fbb696b4da9 /drawinglayer | |
parent | d1e065ea7ac98c31997f1af9be82c5da18c38369 (diff) |
Related tdf#158914: fix memory leaks by calling (auto)release selectors
Found the following memory leaks using Xcode's Instruments application:
1. Posting an NSAccessibilityUIElementDestroyedNotification
notification causes [ AquaA11yWrapper isAccessibilityElement ]
to be called on the object so mark the object as disposed
before posting the destroyed notification and test for disposed
in all of the standard NSAccessibility selectors to prevent
any calls to likely disposed C++ accessibility objects.
2. In [ AquaA11yWrapper accessibilityHitTest: ],
[ AquaA11yFactory wrapperForAccessibleContext: ] already retains
the returned object so retaining it until the next call to this
selector can lead to a memory leak when dragging selected cells
in Calc to a new location. So autorelease the object so that
transient objects stay alive but not past the next clearing of
the autorelease pool.
3. [ AquaA11ySelectionWrapper selectedChildrenAttributeForElement: ] is
expected to return an autoreleased object.
4. [ AquaA11yFactory wrapperForAccessible: ] is not a getter. It
expects the caller to release the returned object.
5. CreateNSString() is not a getter. It expects the caller to
release the returned string.
Change-Id: I824740d7e3851b0c3e31e2c009860aa822c94222
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168034
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Diffstat (limited to 'drawinglayer')
0 files changed, 0 insertions, 0 deletions