Skip to content

Commit

Permalink
Merge pull request matplotlib#27544 from meeseeksmachine/auto-backpor…
Browse files Browse the repository at this point in the history
…t-of-pr-27527-on-v3.8.x

Backport PR matplotlib#27527 on branch v3.8.x (FIX: Add macos timers to the main thread)
  • Loading branch information
rcomer authored Dec 19, 2023
2 parents d5eaa2a + 33bbb05 commit 1566e5e
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/_macosx.m
Original file line number Diff line number Diff line change
Expand Up @@ -1723,11 +1723,15 @@ - (void)flagsChanged:(NSEvent *)event
}

// hold a reference to the timer so we can invalidate/stop it later
self->timer = [NSTimer scheduledTimerWithTimeInterval: interval
repeats: !single
block: ^(NSTimer *timer) {
self->timer = [NSTimer timerWithTimeInterval: interval
repeats: !single
block: ^(NSTimer *timer) {
gil_call_method((PyObject*)self, "_on_timer");
}];
// Schedule the timer on the main run loop which is needed
// when updating the UI from a background thread
[[NSRunLoop mainRunLoop] addTimer: self->timer forMode: NSRunLoopCommonModes];

exit:
Py_XDECREF(py_interval);
Py_XDECREF(py_single);
Expand Down

0 comments on commit 1566e5e

Please sign in to comment.