From dcddc3dc6437432a6abe25344e8dd1c6f935e4ae Mon Sep 17 00:00:00 2001 From: Adrian Insaurralde Avalos Date: Mon, 16 Oct 2023 20:16:39 -0300 Subject: [PATCH] AddonManager: handle the case of symlinked addon when uninstalling see #11045 --- src/Mod/AddonManager/addonmanager_utilities.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Mod/AddonManager/addonmanager_utilities.py b/src/Mod/AddonManager/addonmanager_utilities.py index fb7c901ae8..5d71023d34 100644 --- a/src/Mod/AddonManager/addonmanager_utilities.py +++ b/src/Mod/AddonManager/addonmanager_utilities.py @@ -97,7 +97,10 @@ def symlink(source, link_name): def rmdir(path: os.PathLike) -> bool: try: - shutil.rmtree(path, onerror=remove_readonly) + if os.path.islink(path): + os.unlink(path) # Remove symlink + else: + shutil.rmtree(path, onerror=remove_readonly) except (WindowsError, PermissionError, OSError): return False return True