[wp-hackers] Missing safety check in WP3.6
Otto
otto at ottodestruct.com
Fri May 17 21:09:08 UTC 2013
Might want to bring it up in the ticket where the change happened:
http://core.trac.wordpress.org/ticket/24062
-Otto
On Fri, May 17, 2013 at 1:56 PM, Luke Bryan <lukebryan at sharefaith.com> wrote:
> Greetings,
>
> I have been testing WP3.6 and have run into a problem. It seems a
> safety check has been removed since wp3.5. In
> wp-includes/js/media-editor.js, the add function used to simply return
> the wp.media object of the object, if it existed already:
>
> WP3.5:
> add: function( id, options ) {
> var workflow = this.get( id );
>
> if ( workflow )
> return workflow;
>
> workflow = workflows[ id ] = wp.media( _.defaults( options || {}, {
> frame: 'post',
> state: 'insert',
> title: wp.media.view.l10n.addMedia,
> multiple: true
> } ) );
>
> workflow.on( 'insert', function( selection ) { ...
>
> WP3.6:
> add: function( id, options ) {
> var workflow = this.get( id );
>
> workflow = workflows[ id ] = wp.media( _.defaults( options || {}, {
> frame: 'post',
> state: 'insert',
> title: wp.media.view.l10n.addMedia,
> multiple: true
> } ) );
>
> workflow.on( 'insert', function( selection ) { ...
>
> You used to be able to create the editor's add-media window and make
> modifications to it, using
> var dialog = wp.media.editor.add('content');
> dialog.on('open', dosomething...
> dialog.on(event, dosomethingelse...
>
> This would work in 3.5, since all code calling "add" would get the
> same object, creating it if it did not yet exist.
> In 3.6, the same method seems to cause double-creation of the object,
> which makes plupload fail when user tries to upload a file.
> When that happens, it causes exception where $index is undefined, in
> this section of media-views.js:
> info: function() {
> var queue = this.queue,
> index = 0, active;
>
> if ( ! queue.length )
> return;
>
> active = this.queue.find( function( attachment, i ) {
> index = i;
> return attachment.get('uploading');
> });
>
> this.$index.text( index + 1 );
>
> Is this a bug in 3.6, or does code that interacts with the uploader
> need to be rewritten, to check existence with get() before calling
> add(), and wait for the initial add() call on admin pages, somehow? I
> couldn't find any documentation on this issue.
>
> Other than that, wp3.6 seems pretty stable, looking forward to release
> day Monday.
>
> Best regards,
> Luke
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
More information about the wp-hackers
mailing list