summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/global/qoperatingsystemversion_win.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/corelib/global/qoperatingsystemversion_win.cpp b/src/corelib/global/qoperatingsystemversion_win.cpp
index 37f2362d0c..e8c32be56b 100644
--- a/src/corelib/global/qoperatingsystemversion_win.cpp
+++ b/src/corelib/global/qoperatingsystemversion_win.cpp
@@ -110,12 +110,14 @@ OSVERSIONINFOEX qWindowsVersionInfo()
QOperatingSystemVersion QOperatingSystemVersion::current()
{
- QOperatingSystemVersion v;
- v.m_os = currentType();
- const OSVERSIONINFOEX osv = qWindowsVersionInfo();
- v.m_major = osv.dwMajorVersion;
- v.m_minor = osv.dwMinorVersion;
- v.m_micro = osv.dwBuildNumber;
+ static QOperatingSystemVersion v;
+ if (v.m_os == Unknown) {
+ v.m_os = currentType();
+ const OSVERSIONINFOEX osv = qWindowsVersionInfo();
+ v.m_major = osv.dwMajorVersion;
+ v.m_minor = osv.dwMinorVersion;
+ v.m_micro = osv.dwBuildNumber;
+ }
return v;
}