From 88c2d8ba25826048c2997dc49becfb2fdb4b6e0f Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Thu, 12 Oct 2017 05:16:40 +0000 Subject: [PATCH] Customize: Prevent showing confirmation dialog when leaving Customizer after previewing theme switch without making any changes. Fixes #42173. git-svn-id: https://develop.svn.wordpress.org/trunk@41845 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/customize-controls.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/wp-admin/js/customize-controls.js b/src/wp-admin/js/customize-controls.js index d13c9d17c6..7f0214b397 100644 --- a/src/wp-admin/js/customize-controls.js +++ b/src/wp-admin/js/customize-controls.js @@ -8384,6 +8384,15 @@ var isInsideIframe = false; function isCleanState() { + + /* + * Handle special case of previewing theme switch since some settings (for nav menus and widgets) + * are pre-dirty and non-active themes can only ever be auto-drafts. + */ + if ( ! api.state( 'activated' ).get() ) { + return 0 === api._latestRevision; + } + return api.state( 'saved' ).get() && 'auto-draft' !== api.state( 'changesetStatus' ).get(); }