diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-14 15:40:33 -0600 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-14 15:40:33 -0600 |
| commit | 6410929e17d642618f284d5c97d457f1ac653e6e (patch) | |
| tree | 5c0ee09e04f38a2dd70f1734d25c74e0b8ae5d43 /libs/bsapacker/src | |
| parent | 817e8f5cd26739c69d930d21cd9dc4c0b6e4984e (diff) | |
Migrate data paths to ~/.local/share/fluorine/, add native build, fix %command% and system Proton scanning
- All data paths migrated from ~/.var/app/com.fluorine.manager/ to
~/.local/share/fluorine/ so native and Flatpak builds share the same
instances, plugins, and configs
- New fluorinepaths.h/.cpp with fluorineDataDir() helper and one-time
migration from old path (writes MOVED.txt breadcrumb)
- New libs/nak/src/paths.rs as Rust equivalent (data_dir())
- Strip %command% tokens from launch wrapper in protonlauncher.cpp
- Always scan /usr/share/steam/compatibilitytools.d/ for system Proton
packages (Arch installs Proton there); add Flatpak filesystem permission
- Native build (build-native.sh) installs to ~/.local/share/fluorine/
with desktop entry and ~/.local/bin symlink instead of portable zip
- build-flatpak.sh wrapper for Flatpak builds
- Fix container locale (LANG=C.UTF-8) for AutoUic warnings
- Fix prefixExists() to handle both compatdata and pfx directory layouts
- Fix globalInstancesRootPath() to use fluorineDataDir() on Linux
- Fix umu-run Flatpak lookup to use fluorineDataDir()
- Update README with build instructions and Arch dependency list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/bsapacker/src')
| -rw-r--r-- | libs/bsapacker/src/qlibbsarch/QLibbsarch.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libs/bsapacker/src/qlibbsarch/QLibbsarch.h b/libs/bsapacker/src/qlibbsarch/QLibbsarch.h index 7af53f4..9e37e05 100644 --- a/libs/bsapacker/src/qlibbsarch/QLibbsarch.h +++ b/libs/bsapacker/src/qlibbsarch/QLibbsarch.h @@ -3,6 +3,7 @@ #include <libbsarch/libbsarch.h> #include <string> #include <stdexcept> +#include <cstring> #include <QDebug> #include <QDir> #include <QStringList> @@ -23,7 +24,9 @@ namespace QLibBsarch { if (result.code == BSA_RESULT_EXCEPTION) { - const std::string &error = QLibBsarch::wcharToString(result.text); + wchar_t aligned_text[1024]; + std::memcpy(aligned_text, result.text, sizeof(aligned_text)); + const std::string error = QLibBsarch::wcharToString(aligned_text); LOG_LIBBSARCH << QString::fromStdString(error); throw std::runtime_error(error); } @@ -31,12 +34,7 @@ namespace QLibBsarch inline void checkResult(const bsa_result_message_buffer_s &result) { - if (result.message.code == BSA_RESULT_EXCEPTION) - { - const std::string &error = QLibBsarch::wcharToString(result.message.text); - LOG_LIBBSARCH << QString::fromStdString(error); - throw std::runtime_error(error); - } + checkResult(result.message); } } // namespace QLibBsarch |
