8000 Backport PR #27527: FIX: Add macos timers to the main thread · matplotlib/matplotlib@33bbb05 · GitHub
[go: up one dir, main page]

Skip to content

Commit 33bbb05

Browse files
ksundenmeeseeksmachine
authored andcommitted
Backport PR #27527: FIX: Add macos timers to the main thread
1 parent d5eaa2a commit 33bbb05

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/_macosx.m

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,11 +1723,15 @@ - (void)flagsChanged:(NSEvent *)event
17231723
}
17241724

17251725
// hold a reference to the timer so we can invalidate/stop it later
1726-
self->timer = [NSTimer scheduledTimerWithTimeInterval: interval
1727-
repeats: !single
1728-
block: ^(NSTimer *timer) {
1726+
self->timer = [NSTimer timerWithTimeInterval: interval
1727+
repeats: !single
1728+
block: ^(NSTimer *timer) {
17291729
gil_call_method((PyObject*)self, "_on_timer");
17301730
}];
1731+
// Schedule the timer on the main run loop which is needed
1732+
// when updating the UI from a background thread
1733+
[[NSRunLoop mainRunLoop] addTimer: self->timer forMode: NSRunLoopCommonModes];
1734+
17311735
exit:
17321736
Py_XDECREF(py_interval);
17331737
Py_XDECREF(py_single);

0 commit comments

Comments
 (0)
0