From a01096b8725937a85444b36a3324291b117a985b Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Wed, 3 Sep 2014 05:37:33 +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. git-svn-id: https://develop.svn.wordpress.org/trunk@29685 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-upgrader.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/wp-admin/includes/class-wp-upgrader.php b/src/wp-admin/includes/class-wp-upgrader.php index 768e624efc..8953accc8e 100644 --- a/src/wp-admin/includes/class-wp-upgrader.php +++ b/src/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();