Validate the dirty flag before saving preferences in each modules

Pressing apply button is applicable to all settings module, not only
for the one that is visible. Unless we do a validation before we save
preferences, other module can cause incorrect (old) preferences to be
saved.

Bug: 56885
Change-Id: I31df2ee0bf8b600a94e8fed1a784daf529186b16
This commit is contained in:
Santhosh Thottingal
2013-11-12 14:33:35 +05:30
committed by Nikerabbit
parent 037984a67f
commit 8b3d27a505
2 changed files with 19 additions and 2 deletions

View File

@@ -569,10 +569,18 @@
},
/**
* Handle the apply button press
* Handle the apply button press.
* Note that the button press may not be from the input settings module.
* For example, a user can change input settings and then go to display settings panel,
* do some changes and press apply button there. That press is applicable for all
* modules.
*/
apply: function () {
var displaySettings = this;
if ( !displaySettings.dirty ) {
// No changes to save in this module.
return;
}
// Save the preferences
mw.webfonts.preferences.save( function ( result ) {