-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
show_blocking_widget debug option makes the application hang #2752
Labels
bug
Something is broken
Comments
I can reproduce it in the web version on chromium 110, Linux |
YgorSouza
added a commit
to YgorSouza/egui
that referenced
this issue
Feb 18, 2023
Calling the layer painter from inside a write() call causes a deadlock on the Context. This change stores the necessary data (the two overlapping Rects) in the write() call but uses them outside. Closes emilk#2752
emilk
pushed a commit
that referenced
this issue
Feb 28, 2023
Calling the layer painter from inside a write() call causes a deadlock on the Context. This change stores the necessary data (the two overlapping Rects) in the write() call but uses them outside. Closes #2752
mikedilger
pushed a commit
to mikedilger/egui
that referenced
this issue
Mar 7, 2023
Calling the layer painter from inside a write() call causes a deadlock on the Context. This change stores the necessary data (the two overlapping Rects) in the write() call but uses them outside. Closes emilk#2752
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Enabling the
show_blocking_widget
option causes the application to hang. Observed both locally and on https://www.egui.rs/To Reproduce
Steps to reproduce the behavior:
Expected behavior
The debug option draws the overlapping rectangles and doesn't freeze the UI.
Screenshots
Desktop (please complete the following information):
Additional context
This is the code that runs when this option is enabled:
egui/crates/egui/src/context.rs
Lines 587 to 598 in 7215fdf
The problem seems to be that this code being called inside a
Context::write()
call, whereas both acquiring and using the layer painter requires someContext::read()
andContext::write()
calls, so it causes a deadlock.The text was updated successfully, but these errors were encountered: