-
Notifications
You must be signed in to change notification settings - Fork 79
Improve eventloop control stability. Add eventloop and multithread tests #615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Improve eventloop control stability. Add eventloop and multithread tests #615
Conversation
Codecov Report
@@ Coverage Diff @@
## master #615 +/- ##
==========================================
+ Coverage 57.95% 58.59% +0.64%
==========================================
Files 32 32
Lines 2721 2652 -69
==========================================
- Hits 1577 1554 -23
+ Misses 1144 1098 -46
Continue to review full report at Codecov.
|
wait_eventloop_stopping()
and wait before recording state before a pausewait_eventloop_stopping()
. Wait before recording state before a pause. Add multithread tests
7f9a6a5
to
533df35
Compare
Tests are passing but I'm still exploring this PR. It would be nice to remove the async eventloop stop, but I'm still getting windows staying open and freezing on macos. I'm exploring whether the macos thing is an upstream bug https://gitlab.gnome.org/GNOME/gtk/-/issues/4648 Update: it appears to be https://gitlab.gnome.org/GNOME/gtk/-/issues/4648#note_1358579 |
f92e518
to
3c908a8
Compare
wait_eventloop_stopping()
. Wait before recording state before a pause. Add multithread tests3c908a8
to
f7e0109
Compare
Changes:
It was added to work around the MacOS bug where the window doesn't finish closing, which appears to be an upstream Gtk issue. https://gitlab.gnome.org/GNOME/gtk/-/issues/4648#note_1359210 . Perhaps we could leave this open for a few days and see if that gets fixed
pause_eventloop
wait for the eventloop to be pausedGtk.gtk_quit()
->Gtk.gtk_main_quit()
as it matches the underlying function andgtk_main()
better