Avoid null in the IME languages buttons

Change-Id: Ic64763fdba34bdcebde33104f7e6130d93a84e02
This commit is contained in:
Amir E. Aharoni
2013-04-29 14:34:26 +03:00
parent b1aed294c0
commit 3471158dec

View File

@@ -201,9 +201,10 @@
prepareLanguages: function () { prepareLanguages: function () {
var inputSettings = this, var inputSettings = this,
SUGGESTED_LANGUAGES_NUMBER = 3, SUGGESTED_LANGUAGES_NUMBER = 3,
firstLanguage = this.contentLanguage,
selectedImeLanguage = $.ime.preferences.getLanguage(), selectedImeLanguage = $.ime.preferences.getLanguage(),
languagesForButtons, $languages, suggestedLanguages, languagesForButtons, $languages, suggestedLanguages,
firstLanguage, lang, i, language, $button, $caret; lang, i, language, $button, $caret;
$languages = this.$template.find( 'div.uls-ui-languages' ); $languages = this.$template.find( 'div.uls-ui-languages' );
this.$template.find( 'div.uls-ui-languages' ).show(); this.$template.find( 'div.uls-ui-languages' ).show();
@@ -223,14 +224,18 @@
$languages.empty(); $languages.empty();
// UI language must always be present // UI language must always be present
if ( this.imeLanguage !== this.contentLanguage ) { if ( this.imeLanguage !== this.contentLanguage &&
$.uls.data.languages[this.imeLanguage]
) {
languagesForButtons.push( this.imeLanguage ); languagesForButtons.push( this.imeLanguage );
firstLanguage = this.imeLanguage; firstLanguage = this.imeLanguage;
} }
// Selected IME language may be different, and it must // Selected IME language may be different, and it must
// be present, too // be present, too
if ( $.inArray( selectedImeLanguage, languagesForButtons ) === -1 ) { if ( $.inArray( selectedImeLanguage, languagesForButtons ) === -1 &&
$.uls.data.languages[selectedImeLanguage]
) {
languagesForButtons.push( selectedImeLanguage ); languagesForButtons.push( selectedImeLanguage );
firstLanguage = selectedImeLanguage; firstLanguage = selectedImeLanguage;
} }