QOperatingSystemVersion: Make implementation consistent on all platforms
Only Windows is using lambda function, change to static member function to be consistent with other platforms. QOperatingSystemVersionBase::current()'s implementation is exactly the same on all platforms, so move it to the common source file instead of implementing it three times on each platform. Change-Id: I4099235b3b041a9a374e21d537649047ee03e62b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
4a4240f1bd
commit
831b3506fc
|
|
@ -155,6 +155,12 @@ QOperatingSystemVersion QOperatingSystemVersion::current()
|
|||
return QOperatingSystemVersionBase::current();
|
||||
}
|
||||
|
||||
QOperatingSystemVersionBase QOperatingSystemVersionBase::current()
|
||||
{
|
||||
static const QOperatingSystemVersionBase v = current_impl();
|
||||
return v;
|
||||
}
|
||||
|
||||
#if !defined(Q_OS_DARWIN) && !defined(Q_OS_WIN)
|
||||
QOperatingSystemVersionBase QOperatingSystemVersionBase::current_impl()
|
||||
{
|
||||
|
|
@ -228,12 +234,6 @@ QOperatingSystemVersionBase QOperatingSystemVersionBase::current_impl()
|
|||
#endif
|
||||
return version;
|
||||
}
|
||||
|
||||
QOperatingSystemVersionBase QOperatingSystemVersionBase::current()
|
||||
{
|
||||
static const QOperatingSystemVersionBase v = current_impl();
|
||||
return v;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int compareVersionComponents(int lhs, int rhs)
|
||||
|
|
|
|||
|
|
@ -53,10 +53,4 @@ QOperatingSystemVersionBase QOperatingSystemVersionBase::current_impl()
|
|||
return v;
|
||||
}
|
||||
|
||||
QOperatingSystemVersionBase QOperatingSystemVersionBase::current()
|
||||
{
|
||||
static const QOperatingSystemVersionBase v = current_impl();
|
||||
return v;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -113,17 +113,14 @@ OSVERSIONINFOEX qWindowsVersionInfo()
|
|||
return realResult;
|
||||
}
|
||||
|
||||
QOperatingSystemVersionBase QOperatingSystemVersionBase::current()
|
||||
QOperatingSystemVersionBase QOperatingSystemVersionBase::current_impl()
|
||||
{
|
||||
static QOperatingSystemVersionBase v = [](){
|
||||
QOperatingSystemVersionBase v;
|
||||
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;
|
||||
}();
|
||||
QOperatingSystemVersionBase v;
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue