aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-30 18:32:24 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-30 18:32:24 -0500
commitaba2dc0df5c50c244904f2b1bb458334a851d426 (patch)
treebfef0b3de1cad72522ace9f0aa447def18670c00 /docker
parent6243e1a79550e9cff9837f5449f3b9150127b8e8 (diff)
Clean up empty dirs left by VFS, suppress noisy Qt debug
Fixes #64: VFS now tracks the directories it creates outside the data dir (external mappings + RootBuilder game-root deploys) and removes them on unmount, but only if still empty. Pre-existing user dirs and the game root itself are never touched. RootBuilder manifest gains a "dirs" field so the cleanup survives a crashed session. Also drops a Path-repr qDebug in bg3_file_mapper that crashed Qt's logger on surrogate-escaped paths, and defaults QT_LOGGING_RULES to default.debug=false in the launcher and AppRun (still overridable) so the same class of plugin bug stays muted in shipped builds. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docker')
-rwxr-xr-xdocker/build-inner.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/docker/build-inner.sh b/docker/build-inner.sh
index 957d53e..fb5497b 100755
--- a/docker/build-inner.sh
+++ b/docker/build-inner.sh
@@ -376,6 +376,12 @@ export FLUORINE_ORIG_QT_PLUGIN_PATH="${QT_PLUGIN_PATH:-}"
# Clear it for our process; game launches restore via FLUORINE_ORIG_LD_PRELOAD.
unset LD_PRELOAD
+# Suppress Qt debug logging by default. Some plugins (e.g. BG3 file mapper)
+# qDebug() Path objects whose surrogate-escaped bytes crash Qt's logger with
+# "unicode category" errors. User can re-enable with QT_LOGGING_RULES override.
+: "${QT_LOGGING_RULES:=default.debug=false}"
+export QT_LOGGING_RULES
+
# ── Sync entire app to ~/.local/share/fluorine/bin/ ──
# This gives instances a stable symlink target that won't break if the user
# moves or deletes the original tarball extraction directory.
@@ -710,6 +716,10 @@ export FLUORINE_ORIG_QT_PLUGIN_PATH="${QT_PLUGIN_PATH:-}"
# Steam injects 32-bit gameoverlayrenderer.so via LD_PRELOAD — clear it.
unset LD_PRELOAD
+# Suppress Qt debug logging by default (see comment in main launcher).
+: "${QT_LOGGING_RULES:=default.debug=false}"
+export QT_LOGGING_RULES
+
export PATH="${BIN}:${PATH}"
# Replace (not append) LD_LIBRARY_PATH — Steam game mode injects its runtime
# libs which break Python/Qt. RPATH handles the binary's own deps.