summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-09-12 18:30:09 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-09-12 18:30:09 +0300
commitb598a509f5cfb78090ecea74d43182482d719fce (patch)
treef1c300fd97b1c4bdb23df4c34b9c40b4bbb615a3
parent7287488a4123c2563592a3b33460fef9600dafd8 (diff)
parentcf1cd422d9961544ffd2fd26d4703e8919a0094c (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.7' into tqtc/lts-5.15-opensourcev5.15.7-lts-lgpl
-rw-r--r--.qmake.conf2
-rw-r--r--src/plugins/tts/android/jar/src/org/qtproject/qt5/android/speech/QtTextToSpeech.java2
-rw-r--r--src/plugins/tts/android/src/qtexttospeech_android.cpp12
3 files changed, 10 insertions, 6 deletions
diff --git a/.qmake.conf b/.qmake.conf
index 74ed387..07f73f2 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -5,4 +5,4 @@ CONFIG += warning_clean
DEFINES += QT_NO_FOREACH
DEFINES += QT_NO_JAVA_STYLE_ITERATORS
-MODULE_VERSION = 5.15.6
+MODULE_VERSION = 5.15.7
diff --git a/src/plugins/tts/android/jar/src/org/qtproject/qt5/android/speech/QtTextToSpeech.java b/src/plugins/tts/android/jar/src/org/qtproject/qt5/android/speech/QtTextToSpeech.java
index f6f440c..5c2cfd9 100644
--- a/src/plugins/tts/android/jar/src/org/qtproject/qt5/android/speech/QtTextToSpeech.java
+++ b/src/plugins/tts/android/jar/src/org/qtproject/qt5/android/speech/QtTextToSpeech.java
@@ -254,6 +254,8 @@ public class QtTextToSpeech
{
//Log.d("QtTextToSpeech", "getLocale: " + mLocale);
final Locale language = mTts.getLanguage();
+ if (language == null)
+ return null;
String languageCode = language.getLanguage();
String countryCode = language.getCountry();
diff --git a/src/plugins/tts/android/src/qtexttospeech_android.cpp b/src/plugins/tts/android/src/qtexttospeech_android.cpp
index 472dc43..926853f 100644
--- a/src/plugins/tts/android/src/qtexttospeech_android.cpp
+++ b/src/plugins/tts/android/src/qtexttospeech_android.cpp
@@ -256,11 +256,13 @@ QVector<QLocale> QTextToSpeechEngineAndroid::availableLocales() const
result.reserve(count);
for (int i = 0; i < count; ++i) {
auto locale = locales.callObjectMethod("get", "(I)Ljava/lang/Object;", i);
- auto localeLanguage = locale.callObjectMethod<jstring>("getLanguage").toString();
- auto localeCountry = locale.callObjectMethod<jstring>("getCountry").toString();
- if (!localeCountry.isEmpty())
- localeLanguage += QString("_%1").arg(localeCountry).toUpper();
- result << QLocale(localeLanguage);
+ if (locale.isValid()) {
+ auto localeLanguage = locale.callObjectMethod<jstring>("getLanguage").toString();
+ auto localeCountry = locale.callObjectMethod<jstring>("getCountry").toString();
+ if (!localeCountry.isEmpty())
+ localeLanguage += QString("_%1").arg(localeCountry).toUpper();
+ result << QLocale(localeLanguage);
+ }
}
return result;
}