diff options
-rw-r--r-- | src/libs/utils/fileutils.cpp | 10 | ||||
-rw-r--r-- | src/libs/utils/fileutils.h | 7 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index 160d1b9dea..f7b9935465 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -792,6 +792,16 @@ QTextStream &operator<<(QTextStream &s, const FileName &fn) return s << fn.toString(); } +#ifdef Q_OS_WIN +template <> +void withNTFSPermissions(const std::function<void()> &task) +{ + qt_ntfs_permission_lookup++; + task(); + qt_ntfs_permission_lookup--; +} +#endif + } // namespace Utils QT_BEGIN_NAMESPACE diff --git a/src/libs/utils/fileutils.h b/src/libs/utils/fileutils.h index 3fccf41f31..d3c4044eba 100644 --- a/src/libs/utils/fileutils.h +++ b/src/libs/utils/fileutils.h @@ -133,7 +133,7 @@ public: #ifdef Q_OS_WIN template <typename T> -static T withNTFSPermissions(const std::function<T()> &task) +T withNTFSPermissions(const std::function<T()> &task) { qt_ntfs_permission_lookup++; T result = task(); @@ -141,10 +141,13 @@ static T withNTFSPermissions(const std::function<T()> &task) return result; } +template <> +QTCREATOR_UTILS_EXPORT void withNTFSPermissions(const std::function<void()> &task); + #else // Q_OS_WIN template <typename T> -static T withNTFSPermissions(const std::function<T()> &task) +T withNTFSPermissions(const std::function<T()> &task) { return task(); } |