summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2020-12-05 18:16:37 +0200
committerTor Lillqvist <tml@iki.fi>2020-12-13 17:25:00 +0200
commitd0aaf0933fef8fbb91e62a6ee5c221462530a564 (patch)
tree37cfdc5366fcb90f341239e531b2910dba49d3c2
parent5dc5a0c362788d265aadde77f855306e7c07fc7a (diff)
Remove remaining bogus use of objc_msgSend()
Follow-up to 5bf61e98b0746a4afeb68a80e54b4eb4bf4ea89f. Should avoid crashes when running as arm64 code on macOS on arm64. Change-Id: Id05d182684df82c8a7bf09f6bb7e8ccb01997b62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107259 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
-rw-r--r--extensions/source/macosx/spotlight/OOoContentDataParser.h2
-rw-r--r--extensions/source/macosx/spotlight/OOoContentDataParser.m7
-rw-r--r--extensions/source/macosx/spotlight/OOoMetaDataParser.h2
-rw-r--r--extensions/source/macosx/spotlight/OOoMetaDataParser.m6
-rw-r--r--sfx2/source/appl/shutdowniconaqua.mm18
5 files changed, 7 insertions, 28 deletions
diff --git a/extensions/source/macosx/spotlight/OOoContentDataParser.h b/extensions/source/macosx/spotlight/OOoContentDataParser.h
index 7112497cf7de..dc07a3166122 100644
--- a/extensions/source/macosx/spotlight/OOoContentDataParser.h
+++ b/extensions/source/macosx/spotlight/OOoContentDataParser.h
@@ -19,7 +19,7 @@
#import <Cocoa/Cocoa.h>
-@interface OOoContentDataParser : NSObject {
+@interface OOoContentDataParser : NSObject <NSXMLParserDelegate> {
// indicates if we are interested in an element's content
BOOL shouldReadCharacters;
diff --git a/extensions/source/macosx/spotlight/OOoContentDataParser.m b/extensions/source/macosx/spotlight/OOoContentDataParser.m
index d3ecf16ffaab..e1f51e5b90c7 100644
--- a/extensions/source/macosx/spotlight/OOoContentDataParser.m
+++ b/extensions/source/macosx/spotlight/OOoContentDataParser.m
@@ -47,12 +47,7 @@
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
- // Once again...
- // class 'OOoContentDataParser' does not implement the 'NSXMLParserDelegate' protocol
- // So instead of this:
- // [parser setDelegate:self];
- // do this:
- ((id (*)(id, SEL, ...))objc_msgSend)(parser, @selector(setDelegate:), self);
+ [parser setDelegate:self];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
diff --git a/extensions/source/macosx/spotlight/OOoMetaDataParser.h b/extensions/source/macosx/spotlight/OOoMetaDataParser.h
index 5db7634cce0c..85d48b1735d7 100644
--- a/extensions/source/macosx/spotlight/OOoMetaDataParser.h
+++ b/extensions/source/macosx/spotlight/OOoMetaDataParser.h
@@ -20,7 +20,7 @@
#import <Cocoa/Cocoa.h>
-@interface OOoMetaDataParser : NSObject {
+@interface OOoMetaDataParser : NSObject <NSXMLParserDelegate> {
//indicates if content should be read
BOOL shouldReadCharacters;
//indicates if the current element is a custom metadata tag
diff --git a/extensions/source/macosx/spotlight/OOoMetaDataParser.m b/extensions/source/macosx/spotlight/OOoMetaDataParser.m
index 2b4dac82c555..1e7cac685b88 100644
--- a/extensions/source/macosx/spotlight/OOoMetaDataParser.m
+++ b/extensions/source/macosx/spotlight/OOoMetaDataParser.m
@@ -91,11 +91,7 @@ static NSDictionary *metaXML2MDIKeys;
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
- // class 'OOoMetaDataParser' does not implement the 'NSXMLParserDelegate' protocol
- // So instead of this:
- // [parser setDelegate:self];
- // do this:
- ((id (*)(id, SEL, ...))objc_msgSend)(parser, @selector(setDelegate:), self);
+ [parser setDelegate:self];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
diff --git a/sfx2/source/appl/shutdowniconaqua.mm b/sfx2/source/appl/shutdowniconaqua.mm
index 78c89f33865c..14e4046a4de9 100644
--- a/sfx2/source/appl/shutdowniconaqua.mm
+++ b/sfx2/source/appl/shutdowniconaqua.mm
@@ -146,7 +146,7 @@ class RecentFilesStringLength : public ::cppu::WeakImplHelper< css::util::XStrin
}
-@interface RecentMenuDelegate : NSObject
+@interface RecentMenuDelegate : NSObject <NSMenuDelegate>
{
std::vector< RecentMenuEntry >* m_pRecentFilesItems;
}
@@ -347,16 +347,7 @@ static void appendRecentMenu( NSMenu* i_pMenu, NSMenu* i_pDockMenu, const OUStri
[pItem setEnabled: YES];
NSMenu* pRecentMenu = [[NSMenu alloc] initWithTitle: getAutoreleasedString( i_rTitle ) ];
- // When compiling against 10.6 SDK, we get the warning:
- // class 'RecentMenuDelegate' does not implement the 'NSMenuDelegate' protocol
-
- // No idea if that is a bogus warning, or if the way this is
- // implemented just is so weird that the compiler gets
- // confused. Anyway, to avoid warnings, instead of this:
- // [pRecentMenu setDelegate: pRecentDelegate];
- // do this:
- reinterpret_cast<id (*)(id, SEL, ...)>(objc_msgSend)(
- pRecentMenu, @selector(setDelegate:), pRecentDelegate);
+ [pRecentMenu setDelegate: pRecentDelegate];
[pRecentMenu setAutoenablesItems: NO];
[pItem setSubmenu: pRecentMenu];
@@ -371,10 +362,7 @@ static void appendRecentMenu( NSMenu* i_pMenu, NSMenu* i_pDockMenu, const OUStri
[pItem setEnabled: YES];
pRecentMenu = [[NSMenu alloc] initWithTitle: getAutoreleasedString( i_rTitle ) ];
- // See above
- // [pRecentMenu setDelegate: pRecentDelegate];
- reinterpret_cast<id (*)(id, SEL, ...)>(objc_msgSend)(
- pRecentMenu, @selector(setDelegate:), pRecentDelegate);
+ [pRecentMenu setDelegate: pRecentDelegate];
[pRecentMenu setAutoenablesItems: NO];
[pItem setSubmenu: pRecentMenu];