-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Windows threading issue - cannot open additional windows #24
Comments
It looks like you’re missing the vector graphics module in efl - which version did you manage to install? |
The buttons not working issue is a new one on me though! What version of Windows is this? |
Oh dear, I had not realised how far behind winbuilds was. EFL current release is 1.21.1 and Fyne requires 1.19 for the vector graphics to appear. I guess we will have to push forward with the custom build of EFL to bootstrap Fyne with all the features. I will try to replicate the buttons issues locally. It did work earlier but there may be a strange recent issue - I noticed that macOS does not always register presses correctly either :( If you are interested in investigating further then adding some logging to the mouse down callbacks within desktop/canvas.go may be a help. Apologies! |
I am not really sure how to update my EFL installation, msys's pacman doesn't know of efl either. |
Right so I added some basic logging to console, the issue wasn't button down event.
|
Yes I think you’re on to something there. Can you possibly print the return of the main_loop_begin call and also the result of C.eina_main_loop_is? That should tell us more about the context. I’d guess that either there is a weird behaviour with those methods or that the threading model changed and so we should be using a different arrangement of safety checks. |
Seems like for the first window main_loop_is reports 1, anything after that returns 0.
Though I am not sure the order I am making the calls in is correct... func CreateWindowWithEngine(engine string) fyne.Window {
// ...
log.Println("main_loop_is", C.eina_main_loop_is())
log.Println("main loop begin", C.ecore_thread_main_loop_begin())
// ... |
It's worth noting main_loop_begin only returns for the first window, and never afterwards. |
Thanks for all of that. Can you please update and let me know how, if at all, this changes things? |
Well I tried the latest changes and all that did for me is themes stopped working, ie. Light/Dark doesn't do anything. I did put log message into the function to check if it was being called and it does indeed log but the settings either don't re-apply or don't change, not sure which. Nothing else seems to have changed. |
Ok thanks. I guess that’s at least consistent..? I will get my Windows machine updated this weekend and see if I can replicate. |
I had a quick look and there is nothing obvious unfortunately so I will have to dig into this further. I will work through old states of the code and see if I can find what broke Windows :( |
While unrelated now to this issue, I do still wonder how one would go about getting latest or at least minimal required version of EFL for windows now. |
This threading issue is now fixed :) |
Yep, working for me now, thanks! |
Hello, I setup my environment according to the getting started (i am using windows as title mentions).
The rendering of some texts (at the top for example) seems to be bugged compared to the screenshots in the repo.
Additionally, none of the buttons aside from Dark/Light and Quit seem to work.
I also tried running the example from the other repo, it rendered the 4 buttons but nothing happens when pressing on them.
For now I am afraid there's nothing else I can provide as there are no errors or log messages anywhere.
The text was updated successfully, but these errors were encountered: