From d26945f47601673528e3ed34de73944748aa84ab Mon Sep 17 00:00:00 2001 From: reuk Date: Tue, 7 Dec 2021 18:22:51 +0000 Subject: [PATCH] ObjC Helpers: Ensure that all methods accept mandatory "self" and "selector" arguments --- .../juce_audio_processors/juce_audio_processors.cpp | 10 +++++----- modules/juce_core/native/juce_mac_ObjCHelpers.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/juce_audio_processors/juce_audio_processors.cpp b/modules/juce_audio_processors/juce_audio_processors.cpp index 99903be4e2..da7ff8154b 100644 --- a/modules/juce_audio_processors/juce_audio_processors.cpp +++ b/modules/juce_audio_processors/juce_audio_processors.cpp @@ -160,17 +160,17 @@ private: static BOOL isFlipped (id, SEL) { return YES; } static BOOL isOpaque (id, SEL) { return YES; } - static void nudge (NSView* self) + static void nudge (id self) { if (auto* owner = getIvar (self, "owner")) if (owner->wantsNudge == WantsNudge::yes) owner->triggerAsyncUpdate(); } - static void viewDidUnhide (NSView* self, SEL) { nudge (self); } - static void didAddSubview (NSView* self, SEL, NSView*) { nudge (self); } - static void viewDidMoveToSuperview (NSView* self, SEL) { nudge (self); } - static void viewDidMoveToWindow (NSView* self, SEL) { nudge (self); } + static void viewDidUnhide (id self, SEL) { nudge (self); } + static void didAddSubview (id self, SEL, NSView*) { nudge (self); } + static void viewDidMoveToSuperview (id self, SEL) { nudge (self); } + static void viewDidMoveToWindow (id self, SEL) { nudge (self); } }; static FlippedNSView& getViewClass() diff --git a/modules/juce_core/native/juce_mac_ObjCHelpers.h b/modules/juce_core/native/juce_mac_ObjCHelpers.h index be7a3438cf..b3b59c700d 100644 --- a/modules/juce_core/native/juce_mac_ObjCHelpers.h +++ b/modules/juce_core/native/juce_mac_ObjCHelpers.h @@ -384,9 +384,9 @@ struct ObjCClass } template - void addMethod (SEL selector, Result (*callbackFn) (Args...)) + void addMethod (SEL selector, Result (*callbackFn) (id, SEL, Args...)) { - const auto s = detail::makeCompileTimeStr (@encode (Result), @encode (Args)...); + const auto s = detail::makeCompileTimeStr (@encode (Result), @encode (id), @encode (SEL), @encode (Args)...); const auto b = class_addMethod (cls, selector, (IMP) callbackFn, s.data()); jassertquiet (b); }