Files
OrcaSlicer/src/libslic3r/Format
Kris Austin b58025575d fix: isolate calibration temp paths per user (#14619)
* fix: isolate calibration temp paths per user

The calibration temp files under <temp>/calib were file-scope statics
initialized before set_temporary_dir() runs at startup, so they kept
using the shared system temp root and missed the per-user isolation
added in #14607. On Linux every account shares /tmp, so the first user
to calibrate owns /tmp/calib and later users fail to write there, the
same cross-user collision #14607 fixed for model backups, STEP import,
and part skip.

Build the paths lazily from temporary_dir() instead, through a
calib_temp_dir() accessor and a calib_temp_file() join helper. The base
becomes <temp>/orcaslicer_<uid>/calib on Linux and is unchanged on
Windows, where the temp dir is already per user.

Also make StoreParams::path a std::string rather than a non-owning
const char*. The calibration code had to keep a std::string alive
solely to feed that pointer, and the field was uninitialized by
default; owning the string removes the lifetime hazard for all three
callers and makes the entry guard a reliable empty() check. Confined to
the 3mf project exporter (three callers, two internal reads); no
on-disk, format, or ABI impact.

Follows up on #14607 per @Noisyfox's review suggestion.
2026-07-08 21:14:05 +08:00
..
2025-07-18 16:01:25 +08:00
2022-12-16 22:51:07 -05:00
2022-07-15 23:42:08 +08:00
2024-05-19 21:22:14 +08:00
2026-07-03 17:19:24 -03:00
2026-07-03 17:19:24 -03:00
2024-04-14 22:07:00 +08:00
2024-04-14 22:07:00 +08:00
2025-09-21 13:48:07 +08:00
2022-12-15 04:33:48 -05:00