aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil Hodgson <nyamatongwe@gmail.com>2015-10-26 16:20:55 +1100
committerNeil Hodgson <nyamatongwe@gmail.com>2015-10-26 16:20:55 +1100
commitc8a5af30d0dd53c8447303d35bc7d22ba3d2d6e9 (patch)
tree3943b3e65f6dee8b7beb627cb3346c4b5df9d991
parent3c8520786fc9b35283d6e55eb1b4b85005a0803e (diff)
downloadscintilla-mirror-c8a5af30d0dd53c8447303d35bc7d22ba3d2d6e9.tar.gz
Make timers active in modal dialogs by adding them to NSModalPanelRunLoopMode.
From Mike Lischke.
-rw-r--r--cocoa/ScintillaCocoa.mm6
1 files changed, 4 insertions, 2 deletions
diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm
index 31538aea4..954854af6 100644
--- a/cocoa/ScintillaCocoa.mm
+++ b/cocoa/ScintillaCocoa.mm
@@ -370,7 +370,7 @@ const CGFloat paddingHighlightY = 2;
[notificationQueue enqueueNotification: notification
postingStyle: NSPostWhenIdle
coalesceMask: (NSNotificationCoalescingOnName | NSNotificationCoalescingOnSender)
- forModes: nil];
+ forModes: @[NSDefaultRunLoopMode, NSModalPanelRunLoopMode]];
}
//--------------------------------------------------------------------------------------------------
@@ -969,7 +969,8 @@ void ScintillaCocoa::FineTickerStart(TickReason reason, int millis, int toleranc
[fineTimer setTolerance: tolerance / 1000.0];
}
timers[reason] = fineTimer;
- [[NSRunLoop currentRunLoop] addTimer:fineTimer forMode:NSDefaultRunLoopMode];
+ [NSRunLoop.currentRunLoop addTimer: fineTimer forMode: NSDefaultRunLoopMode];
+ [NSRunLoop.currentRunLoop addTimer: fineTimer forMode: NSModalPanelRunLoopMode];
}
//--------------------------------------------------------------------------------------------------
@@ -1001,6 +1002,7 @@ bool ScintillaCocoa::SetIdle(bool on)
selector: @selector(idleTimerFired:)
userInfo: nil
repeats: YES];
+ [NSRunLoop.currentRunLoop addTimer: idleTimer forMode: NSModalPanelRunLoopMode];
idler.idlerID = reinterpret_cast<IdlerID>(idleTimer);
}
else