From af640568fe3783ff4af2647306093d1e4acd0615 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Thu, 10 Nov 2016 22:42:38 +0000 Subject: [PATCH] Customize: Prevent previewer from appearing to freeze when refreshing too fast. Fixes race condition issue where a previous iframe fails to get destroyed, leaving a iframe pending loading persistently shown. Props nikeo, westonruter. Fixes #38728. git-svn-id: https://develop.svn.wordpress.org/trunk@39199 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/customize-controls.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wp-admin/js/customize-controls.js b/src/wp-admin/js/customize-controls.js index 25145a1ae6..17159a0964 100644 --- a/src/wp-admin/js/customize-controls.js +++ b/src/wp-admin/js/customize-controls.js @@ -3930,18 +3930,18 @@ } ); previewer.loading.done( function( readyData ) { - var loadingFrame = this, previousPreview, onceSynced; + var loadingFrame = this, onceSynced; - previousPreview = previewer.preview; previewer.preview = loadingFrame; previewer.targetWindow( loadingFrame.targetWindow() ); previewer.channel( loadingFrame.channel() ); onceSynced = function() { loadingFrame.unbind( 'synced', onceSynced ); - if ( previousPreview ) { - previousPreview.destroy(); + if ( previewer._previousPreview ) { + previewer._previousPreview.destroy(); } + previewer._previousPreview = previewer.preview; previewer.deferred.active.resolve(); delete previewer.loading; };