mirror of
https://git.freebsd.org/ports.git
synced 2025-06-26 23:20:30 -04:00
68 lines
2.2 KiB
Text
68 lines
2.2 KiB
Text
--- common/SC_Apple.mm.orig 2020-11-15 17:38:25 UTC
|
|
+++ common/SC_Apple.mm
|
|
@@ -42,65 +42,5 @@ void disableAppNap() {
|
|
}
|
|
}
|
|
|
|
-namespace EventLoop {
|
|
-
|
|
-static std::atomic_bool g_running;
|
|
-
|
|
-void setup() {
|
|
- // The following code would transform the process into a foreground application.
|
|
- // For now it's the plugin's responsibility to do this (early or lazily)
|
|
- // because we don't want to always show an icon in the docker.
|
|
- // ProcessSerialNumber psn = { 0, kCurrentProcess };
|
|
- // TransformProcessType(&psn, kProcessTransformToForegroundApplication);
|
|
-
|
|
- // Create NSApplication
|
|
- [NSApplication sharedApplication];
|
|
-}
|
|
-
|
|
-void run() {
|
|
-#if 0
|
|
- // this doesn't work...
|
|
- [NSApp run];
|
|
-#else
|
|
- // Kudos to https://www.cocoawithlove.com/2009/01/demystifying-nsapplication-by.html
|
|
- NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
|
|
-
|
|
- [NSApp finishLaunching];
|
|
- g_running = true;
|
|
-
|
|
- while (g_running) {
|
|
- [pool release];
|
|
- pool = [[NSAutoreleasePool alloc] init];
|
|
- NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask
|
|
- untilDate:[NSDate distantFuture]
|
|
- inMode:NSDefaultRunLoopMode
|
|
- dequeue:YES];
|
|
- if (event) {
|
|
- [NSApp sendEvent:event];
|
|
- [NSApp updateWindows];
|
|
- }
|
|
- }
|
|
- [pool release];
|
|
-#endif
|
|
-}
|
|
-
|
|
-void quit() {
|
|
- // break from event loop instead of [NSApp terminate:nil]
|
|
- g_running = false;
|
|
- // send dummy event to wake up event loop
|
|
- NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined
|
|
- location:NSMakePoint(0, 0)
|
|
- modifierFlags:0
|
|
- timestamp:0
|
|
- windowNumber:0
|
|
- context:nil
|
|
- subtype:0
|
|
- data1:0
|
|
- data2:0];
|
|
- [NSApp postEvent:event atStart:NO];
|
|
-}
|
|
-
|
|
-} // EventLoop
|
|
-
|
|
} // namespace Apple
|
|
} // namespace SC
|