Mercurial > octave
changeset 28063:60e4a9909fac
Fix App Nap for new prototype of "objc_msgSend" in OS X Mojave (bug #57754).
* libgui/src/octave-qobject.cc (disable_app_nap): Cast "objc_msgSend" to the
respective function prototype.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Fri, 14 Feb 2020 18:26:59 +0100 |
parents | 4563c23597dd |
children | fbed279b7074 |
files | libgui/src/octave-qobject.cc |
diffstat | 1 files changed, 16 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc Fri Feb 14 07:31:16 2020 -0800 +++ b/libgui/src/octave-qobject.cc Fri Feb 14 18:26:59 2020 +0100 @@ -88,25 +88,29 @@ == nullptr) return; - process_info = objc_msgSend (reinterpret_cast<id> (process_info_class), - process_info_selector); + process_info = reinterpret_cast<id (*) (id, SEL)> (objc_msgSend) + (reinterpret_cast<id> (process_info_class), + process_info_selector); if (process_info == nil) return; - reason_string = objc_msgSend (reinterpret_cast<id> (objc_getClass ("NSString")), - sel_getUid ("alloc")); - reason_string = objc_msgSend (reason_string, - sel_getUid ("initWithUTF8String:"), - "App Nap causes pause() malfunction"); + reason_string = reinterpret_cast<id (*) (id, SEL)> (objc_msgSend) + (reinterpret_cast<id> (objc_getClass ("NSString")), + sel_getUid ("alloc")); + reason_string = reinterpret_cast<id (*) (id, SEL, const char *)> (objc_msgSend) + (reason_string, sel_getUid ("initWithUTF8String:"), + "App Nap causes pause() malfunction"); // Start an Activity that suppresses App Nap. This Activity will run for // the entire duration of the Octave process. This is intentional, // not a leak. - osx_latencycritical_activity = objc_msgSend (process_info, - begin_activity_with_options_selector, - NSActivityUserInitiatedAllowingIdleSystemSleep - | NSActivityLatencyCritical, - reason_string); + osx_latencycritical_activity = + reinterpret_cast<id (*) (id, SEL, unsigned long long, id)> (objc_msgSend) + (process_info, + begin_activity_with_options_selector, + NSActivityUserInitiatedAllowingIdleSystemSleep + | NSActivityLatencyCritical, + reason_string); } #endif