| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Up to standards ✅🟢 Issues 0 issues🟢 Metrics 9 complexity
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer |
Sorry, something went wrong.
|
|
||
| const char* ffWaylandWaitForDone(WaylandDisplay* display) { | ||
| WaylandData* wldata = display->parent; | ||
| double deadline = ffTimeGetTick() + instance.config.general.processingTimeout; |
There was a problem hiding this comment.
processingTimeout is a signed integer. -1 means it should block infinitely, which should be handled independently.
In addition, ffTimeGetTick() returns integer too. Not sure why you use double here
Sorry, something went wrong.
| if (wldata->ffwl_display_roundtrip(wldata->display) < 0) { | ||
| return "Failed to roundtrip Wayland output information"; | ||
| } | ||
| if (!display->done) { | ||
| ffTimeSleep(1); | ||
| } |
There was a problem hiding this comment.
This both wastes time (keep posting sync events) and adds latency.
I'd use wl_display_dispatch_timeout here, which blocks until receiving an event. The problem is that wl_display_dispatch_timeout is relatively new. However, as users who stuck at an old distro, they may not care about using the newest fastfetch either, so it won't be a serious problem.
Sorry, something went wrong.
|
Posted a fix. Please test! There are other places missing WaitForDone. Not sure if I need to fix them. |
Sorry, something went wrong.
|
Please open a new issue if the problem still happen. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Wait for Wayland output completion events when a compositor delivers the final output state after the first roundtrip callback. This prevents an output proxy from being destroyed before its delayed mode data arrives.
Related issue (required for new logos for new distros)
Fixes #2074
Changes
Screenshots
Not applicable; this changes display detection only.
Testing
Checklist