Only run observers in the default run loop mode

This commit is contained in:
Mads Marquart
2024-05-27 11:41:07 +02:00
parent 82d9bbe559
commit bf73a978df
7 changed files with 15 additions and 21 deletions

View File

@@ -12,7 +12,7 @@ use std::time::{Duration, Instant};
use core_foundation::base::{CFIndex, CFRelease};
use core_foundation::runloop::{
kCFRunLoopCommonModes, CFRunLoopAddSource, CFRunLoopGetMain, CFRunLoopSourceContext,
kCFRunLoopDefaultMode, CFRunLoopAddSource, CFRunLoopGetMain, CFRunLoopSourceContext,
CFRunLoopSourceCreate, CFRunLoopSourceRef, CFRunLoopSourceSignal, CFRunLoopWakeUp,
};
use objc2::rc::{autoreleasepool, Retained};
@@ -462,7 +462,7 @@ impl EventLoopProxy {
perform: event_loop_proxy_handler,
};
let source = CFRunLoopSourceCreate(ptr::null_mut(), CFIndex::MAX - 1, &mut context);
CFRunLoopAddSource(rl, source, kCFRunLoopCommonModes);
CFRunLoopAddSource(rl, source, kCFRunLoopDefaultMode);
CFRunLoopWakeUp(rl);
EventLoopProxy { proxy_wake_up, source }