mirror of
https://github.com/wolfpld/tracy.git
synced 2026-10-23 01:00:54 +00:00
When the native dialog failed, the popup said "File selector cannot be displayed. Check nfd library implementation for details." but never showed any details: NFD_GetError() was never read, so the actual failure reason (e.g. the xdg-desktop-portal lacking a FileChooser implementation on the session) was invisible and the user was stuck without a way to open or save traces. Capture NFD_GetError() into a static string when NFD_OpenDialogU8_With()/NFD_SaveDialogU8_With() return NFD_ERROR and display it in the popup. The copy is required: the returned pointer references NFD-internal storage (the D-Bus error message or a static buffer) that is overwritten by the next NFD call or cleared on shutdown. In TRACY_NO_FILESELECTOR builds no NFD exists, so the previous fallback line is kept there. The error is shown as a single line (TextUnformatted) rather than wrapped: in an AlwaysAutoResize window the wrap width is derived from the previous frame's window size, which feeds back into the auto-size and oscillates, converging to a narrow multi-line column for a ~110 character D-Bus message.