Replace fallbackUiLocaleData() with fallbackUiLocaleIndex()

This means always initializing globalLocaleData from an entry in the
locale_data array, where in principle the fallbackUiLocale() could be
the system locale, which isn't held in the array. However, no actual
implementation of fallbackUiLocale() uses the system locale (nor is it
clear this would work if one did).

Change-Id: Ie1c5ef3e8a97f21e0d82fa2dfb3cf3eb9e4c8840
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
This commit is contained in:
Edward Welbourne 2020-10-09 15:22:49 +02:00
parent 902a5a1ff4
commit e330a9bb44
2 changed files with 3 additions and 3 deletions

View File

@ -651,7 +651,7 @@ static void updateSystemPrivate()
sys_locale->query(QSystemLocale::LocaleChanged);
// Populate global with fallback as basis:
globalLocaleData = *sys_locale->fallbackUiLocaleData();
globalLocaleData = locale_data[sys_locale->fallbackUiLocaleIndex()];
QVariant res = sys_locale->query(QSystemLocale::LanguageId);
if (!res.isNull()) {

View File

@ -129,7 +129,7 @@ public:
virtual QVariant query(QueryType type, QVariant in = QVariant()) const;
virtual QLocale fallbackUiLocale() const;
inline const QLocaleData *fallbackUiLocaleData() const;
inline uint fallbackUiLocaleIndex() const;
private:
QSystemLocale(bool);
friend class QSystemLocaleSingleton;
@ -438,7 +438,7 @@ public:
};
#ifndef QT_NO_SYSTEMLOCALE
const QLocaleData *QSystemLocale::fallbackUiLocaleData() const { return fallbackUiLocale().d->m_data; }
uint QSystemLocale::fallbackUiLocaleIndex() const { return fallbackUiLocale().d->m_index; }
#endif
template <>