Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
addonHandler: don't make NVDA fail on restart if an addon cannot be r…
…emoved because its directory is currently in use by another application. Fixes #2860. Specifically: * Addon.completeRemove: always rename the directory to a temp directory with a delete sufix before trying to actually remove the directory. If the rename does not work, then there's nothing we can do for now. Just raise an error. * CompletePendingAddonRemovals: When walking through the set of add-ons, copy the list so that the set can be mutated while walking. Catch an error from Addon.completeRemove and just skip over it. Remove the addonName from the pendingRemoves set for each addon, as long as no error occured when calling Addon.completeRemove. This keeps addons that failed removal and couldn't be renamed for deletion in the pendingRemove state meaning that the GUI will reflect this, and on a subsiquent restart it will try to be removed again.
- Loading branch information