From 8f03c8de4e113c2250af48e22897339d564b8fdb Mon Sep 17 00:00:00 2001 From: Michael Helfrich Date: Thu, 10 Feb 2022 21:05:00 -0500 Subject: [PATCH] Prevent SuperSlicer from crashing due to a lack of a $USER env. This was replicated from https://github.com/prusa3d/PrusaSlicer/commit/d57d3f99d0874c09700e1a4b780caa14fe788d6e. --- src/slic3r/GUI/RemovableDriveManager.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp index d226e4288..edb9e807d 100644 --- a/src/slic3r/GUI/RemovableDriveManager.cpp +++ b/src/slic3r/GUI/RemovableDriveManager.cpp @@ -201,9 +201,7 @@ namespace search_for_drives_internal struct stat buf; stat(path.c_str(), &buf); uid_t uid = buf.st_uid; - std::string username(std::getenv("USER")); - struct passwd *pw = getpwuid(uid); - if (pw != 0 && pw->pw_name == username) + if (getuid() == uid) out.emplace_back(DriveData{ boost::filesystem::basename(boost::filesystem::path(path)), path }); } } @@ -243,7 +241,7 @@ std::vector RemovableDriveManager::search_for_removable_drives() cons search_for_drives_internal::search_path("/media/*", "/media", current_drives); //search_path("/Volumes/*", "/Volumes"); - std::string path(std::getenv("USER")); + std::string path = wxGetUserId().ToUTF8().data(); std::string pp(path); //search /media/USERNAME/* folder