From 916c1b7d4b04aff0e4f8224be52722c7e59baeb8 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 29 Jun 2024 21:13:04 +0200 Subject: [PATCH] fix: ImHex hanging at startup in certain cases --- main/gui/source/init/tasks.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/main/gui/source/init/tasks.cpp b/main/gui/source/init/tasks.cpp index 78873fbd4..95f43e839 100644 --- a/main/gui/source/init/tasks.cpp +++ b/main/gui/source/init/tasks.cpp @@ -32,11 +32,15 @@ namespace hex::init { } static bool isSubPathWritable(std::fs::path path) { - while (path.root_directory() != path) { + for (u32 i = 0; i < 128; i++) { if (hex::fs::isPathWritable(path)) return true; - path = path.parent_path(); + auto parentPath = path.parent_path(); + if (parentPath == path) + break; + + path = std::move(parentPath); } return false;