Tomasz Chabora
Tomasz Chabora
This can resolve #95079 if the same change is done for FileDialog. EDIT: Well that issue is about editor-only, just the same bug applies to FileDialog too.
> use set_process_internal(true) instead of queue_redraw to avoid drawing 2-3 times in the same frame Drawing is already limited to once per frame. It's called `queue_redraw()`, because it queues one...
How https://github.com/godotengine/godot/blob/e96ad5af98547df71b50c4c4695ac348638113e0/scene/main/canvas_item.cpp#L427-L433
Ah yeah, the queue is flushed multiple times per iteration. So it could happen e.g. if you queue redraw in both process frame and physics frame. Weird that it happens...
Tested with my project, I get spammed with errors:  Looks related to custom signals. Also most of my scenes ended up with black previews for some reason:  No...
> Do you have a 3D node somewhere in those scenes? No. > Do you set your default environment's color to black? Yes. > Is there any node in those...
No idea what was that bug, maybe it was caused by old previews (generated before this PR). The reason my scenes stayed black was that I tried to recreate the...
You can avoid blocking the editor completely by waiting a frame between each preview. Though it will make the generation slower and the editor might become laggy.
You can add the previous contributor as co-author: https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors
I'm not really opposed to having tests, but I never did them outside the engine itself and I'm not familiar with GDScript testing solutions. Also I don't know if I'll...