From e8f6320bb47362e8880e1b628ef4e0b37bdd5483 Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Wed, 3 Sep 2014 05:38:14 +0000 Subject: [PATCH] Language Pack Upgrader: Remove ALL pre-existing filters before performing a translation update these filters may act in an unexpected way during the upgrade process. See #29230. Fixes #29425. Built from https://develop.svn.wordpress.org/trunk@29685 git-svn-id: http://core.svn.wordpress.org/trunk@29460 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/class-wp-upgrader.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wp-admin/includes/class-wp-upgrader.php b/wp-admin/includes/class-wp-upgrader.php index 768e624efc..8953accc8e 100644 --- a/wp-admin/includes/class-wp-upgrader.php +++ b/wp-admin/includes/class-wp-upgrader.php @@ -1264,8 +1264,12 @@ class Language_Pack_Upgrader extends WP_Upgrader { if ( 'upgrader_process_complete' == current_filter() ) $this->skin->feedback( 'starting_upgrade' ); - // Remove any existing package checks and then set the new one for translations, #WP29230. + // Remove any existing upgrade filters from the plugin/theme upgraders #WP29425 & #WP29230 + remove_all_filters( 'upgrader_pre_install' ); + remove_all_filters( 'upgrader_clear_destination' ); + remove_all_filterS( 'upgrader_post_install' ); remove_all_filters( 'upgrader_source_selection' ); + add_filter( 'upgrader_source_selection', array( $this, 'check_package' ), 10, 2 ); $this->skin->header();