summaryrefslogtreecommitdiffstats
path: root/vcl/osx/a11yactionwrapper.mm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 11:47:06 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 11:47:06 +0000
commit8ceff95c69cf9bd9ff5ab3a4b5689925b8bd6a59 (patch)
treeca2b0cc4fba88107f5f6e740285184a061011866 /vcl/osx/a11yactionwrapper.mm
parentAdding debian version 4:24.2.3-2. (diff)
downloadlibreoffice-8ceff95c69cf9bd9ff5ab3a4b5689925b8bd6a59.tar.xz
libreoffice-8ceff95c69cf9bd9ff5ab3a4b5689925b8bd6a59.zip
Merging upstream version 4:24.2.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vcl/osx/a11yactionwrapper.mm')
-rw-r--r--vcl/osx/a11yactionwrapper.mm12
1 files changed, 9 insertions, 3 deletions
diff --git a/vcl/osx/a11yactionwrapper.mm b/vcl/osx/a11yactionwrapper.mm
index 9bea25c119..f9c5089a19 100644
--- a/vcl/osx/a11yactionwrapper.mm
+++ b/vcl/osx/a11yactionwrapper.mm
@@ -55,16 +55,22 @@
NSMutableArray * actionNames = [ [ NSMutableArray alloc ] init ];
if ( [ wrapper accessibleAction ] ) {
for ( int cnt = 0; cnt < [ wrapper accessibleAction ] -> getAccessibleActionCount(); cnt++ ) {
- [ actionNames addObject: [ AquaA11yActionWrapper nativeActionNameFor: CreateNSString ( [ wrapper accessibleAction ] -> getAccessibleActionDescription ( cnt ) ) ] ];
+ // Related tdf#158914: explicitly call autorelease selector
+ // CreateNSString() is not a getter. It expects the caller to
+ // release the returned string.
+ [ actionNames addObject: [ AquaA11yActionWrapper nativeActionNameFor: [ CreateNSString ( [ wrapper accessibleAction ] -> getAccessibleActionDescription ( cnt ) ) autorelease ] ] ];
}
}
- return actionNames;
+ return [actionNames autorelease];
}
+(void)doAction:(NSString *)action ofElement:(AquaA11yWrapper *)wrapper {
if ( [ wrapper accessibleAction ] ) {
for ( int cnt = 0; cnt < [ wrapper accessibleAction ] -> getAccessibleActionCount(); cnt++ ) {
- if ( [ action isEqualToString: [ AquaA11yActionWrapper nativeActionNameFor: CreateNSString ( [ wrapper accessibleAction ] -> getAccessibleActionDescription ( cnt ) ) ] ] ) {
+ // Related tdf#158914: explicitly call autorelease selector
+ // CreateNSString() is not a getter. It expects the caller to
+ // release the returned string.
+ if ( [ action isEqualToString: [ AquaA11yActionWrapper nativeActionNameFor: [ CreateNSString ( [ wrapper accessibleAction ] -> getAccessibleActionDescription ( cnt ) ) autorelease ] ] ] ) {
[ wrapper accessibleAction ] -> doAccessibleAction ( cnt );
break;
}