From 72fcd6e2ce498979b2ae739ef19b244aa354e021 Mon Sep 17 00:00:00 2001 From: "Dominik Schilling (ocean90)" Date: Tue, 10 Mar 2015 22:44:25 +0000 Subject: [PATCH] Customizer: Prevent a race condition when attempting to publish too soon after updating widget form fields with multiple edits. props westonruter. fixes #31501. git-svn-id: https://develop.svn.wordpress.org/trunk@31706 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/customize-controls.js | 11 ++++++----- src/wp-admin/js/customize-widgets.js | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/wp-admin/js/customize-controls.js b/src/wp-admin/js/customize-controls.js index d5c8746a57..d4acb7c4cd 100644 --- a/src/wp-admin/js/customize-controls.js +++ b/src/wp-admin/js/customize-controls.js @@ -2444,10 +2444,7 @@ }, save: function() { - var self = this, - query = $.extend( this.query(), { - nonce: this.nonce.save - } ), + var self = this, processing = api.state( 'processing' ), submitWhenDoneProcessing, submit; @@ -2455,7 +2452,11 @@ body.addClass( 'saving' ); submit = function () { - var request = wp.ajax.post( 'customize_save', query ); + var request, query; + query = $.extend( self.query(), { + nonce: self.nonce.save + } ); + request = wp.ajax.post( 'customize_save', query ); api.trigger( 'save', request ); diff --git a/src/wp-admin/js/customize-widgets.js b/src/wp-admin/js/customize-widgets.js index ce38de066d..4aea3173fa 100644 --- a/src/wp-admin/js/customize-widgets.js +++ b/src/wp-admin/js/customize-widgets.js @@ -1028,7 +1028,11 @@ } data += '&' + $widgetContent.find( '~ :input' ).serialize(); + if ( this._previousUpdateRequest ) { + this._previousUpdateRequest.abort(); + } jqxhr = $.post( wp.ajax.settings.url, data ); + this._previousUpdateRequest = jqxhr; jqxhr.done( function( r ) { var message, sanitizedForm, $sanitizedInputs, hasSameInputsInResponse,