From a138dabfada74bbfab348afc6fdfb20759dc7551 Mon Sep 17 00:00:00 2001
From: Sergey Fedorov <vital.had@gmail.com>
Date: Mon, 25 Dec 2023 15:24:54 +0800
Subject: [PATCH] ScreenSaver: fix IOKit defines

diff --git src/gui/macOS/ScreenSaver.cpp src/gui/macOS/ScreenSaver.cpp
index de305ff9..13a22ac2 100644
--- src/gui/macOS/ScreenSaver.cpp
+++ src/gui/macOS/ScreenSaver.cpp
@@ -20,6 +20,10 @@
 
 #include <IOKit/pwr_mgt/IOPMLib.h>
 
+#ifdef __APPLE__
+	#include <AvailabilityMacros.h>
+#endif
+
 #define QMPLAY2_MEDIA_PLAYBACK CFSTR("QMPlay2 media playback")
 
 class ScreenSaverPriv
@@ -32,8 +36,13 @@
 
 	inline void inhibit()
 	{
-		m_okDisp = (IOPMAssertionCreateWithName(kIOPMAssertPreventUserIdleDisplaySleep, kIOPMAssertionLevelOn, QMPLAY2_MEDIA_PLAYBACK, &m_idDisp) == kIOReturnSuccess);
-		m_okSys  = (IOPMAssertionCreateWithName(kIOPMAssertPreventUserIdleSystemSleep,  kIOPMAssertionLevelOn, QMPLAY2_MEDIA_PLAYBACK, &m_idSys)  == kIOReturnSuccess);
+#if defined(__APPLE__) && (MAC_OS_X_VERSION_MAX_ALLOWED < 1060)
+		m_okDisp = (IOPMAssertionCreate(kIOPMAssertionTypeNoDisplaySleep, kIOPMAssertionLevelOn, &m_idDisp) == kIOReturnSuccess);
+		m_okSys  = (IOPMAssertionCreate(kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, &m_idSys)  == kIOReturnSuccess);
+#else
+		m_okDisp = (IOPMAssertionCreateWithName(kIOPMAssertionTypeNoDisplaySleep, kIOPMAssertionLevelOn, QMPLAY2_MEDIA_PLAYBACK, &m_idDisp) == kIOReturnSuccess);
+		m_okSys  = (IOPMAssertionCreateWithName(kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, QMPLAY2_MEDIA_PLAYBACK, &m_idSys) == kIOReturnSuccess);
+#endif
 	}
 	inline void unInhibit()
 	{
