You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Not easily reproducable, because its just a matter of bad luck that something adds to the map whilst loop.go is deleting something from the map.
Wrapping the eflcanvas.dirty map in a mutex makes the problem go away, so thats one solution, as ugly as it is. Does not affect performance to any noticeable degree.
There are 4 maps all up in the eflcanvas struct including the dirty map .. not sure if some of these will have similar issues. Will have a closer look.
Thanks for your report, I hope we can make this thread handling really robust so that Fyne users never have to worry!
Following a discussion on Slack it seems like we might be able to find a better solution where a channel is used to avoid the other threads using the dirty map at all.
Let's investigate further.
Whilst running main.go in github.com/fyne-io/fyne/examples
Clicking on a few things, bring up the canvas .. boom.
Not easily reproducable, because its just a matter of bad luck that something adds to the map whilst loop.go is deleting something from the map.
Wrapping the eflcanvas.dirty map in a mutex makes the problem go away, so thats one solution, as ugly as it is. Does not affect performance to any noticeable degree.
There are 4 maps all up in the eflcanvas struct including the dirty map .. not sure if some of these will have similar issues. Will have a closer look.
The text was updated successfully, but these errors were encountered: