From b64b0f528bf0b0941c66cb912f97d9cbc322cd04 Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Wed, 17 Sep 2025 16:08:07 -0500 Subject: [PATCH] App: Address reviewer comments --- src/App/ApplicationDirectories.cpp | 2 +- src/App/ApplicationDirectoriesPyImp.cpp | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/App/ApplicationDirectories.cpp b/src/App/ApplicationDirectories.cpp index 22b357be47..ebdea14b7c 100644 --- a/src/App/ApplicationDirectories.cpp +++ b/src/App/ApplicationDirectories.cpp @@ -569,7 +569,7 @@ void ApplicationDirectories::migrateAllPaths(const std::vector &paths) newPath = path / versionStringForPath(major, minor); } if (fs::exists(newPath)) { - throw Base::RuntimeError("Cannot migrate config - path already exists: " + Base::FileInfo::pathToString(newPath)); + continue; // Ignore an existing path: not an error, just a migration that was already done } fs::create_directories(newPath); migrateConfig(path, newPath); diff --git a/src/App/ApplicationDirectoriesPyImp.cpp b/src/App/ApplicationDirectoriesPyImp.cpp index 2b1b0e8a48..6920f79311 100644 --- a/src/App/ApplicationDirectoriesPyImp.cpp +++ b/src/App/ApplicationDirectoriesPyImp.cpp @@ -70,17 +70,16 @@ std::string ApplicationDirectoriesPy::representation() const for (Py::Sequence::size_type i = 0; i < size; i++) { Py::Object item = seq[i]; - if (PyUnicode_Check(item.ptr())) { - const char* s = PyUnicode_AsUTF8(item.ptr()); - if (!s) { - return nullptr; // PyUnicode_AsUTF8 sets an error - } - paths[i] = Base::FileInfo::stringToPath(s); - } - else { + + if (!PyUnicode_Check(item.ptr())) { PyErr_SetString(PyExc_RuntimeError, "path was not a string"); return nullptr; } + const char* s = PyUnicode_AsUTF8(item.ptr()); + if (!s) { + return nullptr; // PyUnicode_AsUTF8 sets an error + } + paths[i] = Base::FileInfo::stringToPath(s); } App::Application::directories()->migrateAllPaths(paths); }