aboutsummaryrefslogtreecommitdiff
path: root/libs/plugin_python/src/pybind11-qt/include/pybind11_qt
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-20 15:40:45 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-20 15:40:45 -0500
commit6b9f0876cfbf6f8c723c86ec941ee70933aa883f (patch)
treede8c9b3121ddcf505ba282f760e78bac2967cbf3 /libs/plugin_python/src/pybind11-qt/include/pybind11_qt
parent915298db2a22213441c5da909786ccc0db64bbaa (diff)
Bind-mount profile saves, fix multi-download delete
Replace the per-launch __MO_Saves symlink with a kernel bind mount inside an unprivileged user+mount namespace. Writes from the game land directly in the profile's saves dir via the mount, which Wine can't replace with a real directory the way it could with a symlink. The namespace (and therefore the bind) tears down automatically when the game process tree exits, so afterRun no longer needs to sync saves or undeploy anything. Fall back to the symlink path on kernels where unprivileged_userns_clone is disabled (Debian buster, linux-hardened); detection is via /proc/sys/kernel/unprivileged_userns_clone. DownloadListView::issueDeleteSelected captured indices up-front and looped emit removeDownload(row). DownloadManager::removeDownload calls refreshList() at the end, which clears finished entries from m_ActiveDownloads and rebuilds from disk enumeration — stale indices after the first delete pointed at the wrong file or triggered the invalid-index error. Capture filenames instead and re-resolve the current row each iteration. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'libs/plugin_python/src/pybind11-qt/include/pybind11_qt')
0 files changed, 0 insertions, 0 deletions