Merge pull request #116524 from bruvzg/wake_for_more

[macOS] Enable wake for events if `Magnet` is running.
This commit is contained in:
Rémi Verschelde 2026-03-06 12:44:26 +01:00
commit 8f63f6e956
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -61,7 +61,14 @@
#include <sys/sysctl.h>
void OS_MacOS::add_frame_delay(bool p_can_draw, bool p_wake_for_events) {
if (p_wake_for_events) {
bool wake_for_events = p_wake_for_events;
if (!wake_for_events) {
NSArray<NSRunningApplication *> *proc_array = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.crowdcafe.windowmagnet"];
if (proc_array && proc_array.count > 0) {
wake_for_events = true;
}
}
if (wake_for_events) {
uint64_t delay = get_frame_delay(p_can_draw);
if (delay == 0) {
return;
@ -79,7 +86,7 @@ void OS_MacOS::add_frame_delay(bool p_can_draw, bool p_wake_for_events) {
CFRunLoopAddTimer(CFRunLoopGetCurrent(), wait_timer, kCFRunLoopCommonModes);
return;
}
OS_Unix::add_frame_delay(p_can_draw, p_wake_for_events);
OS_Unix::add_frame_delay(p_can_draw, wake_for_events);
}
void OS_MacOS::initialize() {