If a plugin triggers the WP_Scripts constructor prior to init, fire wp_default_scripts()

then and again on init.

Only add our localized strings once we've fired init, in case we do have the situation
where we fire wp_default_scripts() twice.

Fixes issues where plugins or themes try to enqueue a default script handle prior to
init. Does not allow #19959 to regress.

see #20971 for trunk.



git-svn-id: http://core.svn.wordpress.org/trunk@21132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
nacin
2012-06-26 05:33:19 +00:00
parent 3a215028ea
commit bc2655affc
3 changed files with 30 additions and 27 deletions

View File

@@ -31,10 +31,8 @@ class WP_Scripts extends WP_Dependencies {
var $default_dirs;
function __construct() {
if ( ! function_exists( 'did_action' ) || did_action( 'init' ) )
$this->init();
else
add_action( 'init', array( $this, 'init' ), 0 );
$this->init();
add_action( 'init', array( $this, 'init' ), 0 );
}
function init() {