From 179f7ea4d1f42e1a7034802a20e13757c809950d Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Sun, 6 Jan 2008 06:01:30 +0000 Subject: [PATCH] Fixed bug where revoke buttons would be created with the same invite_id due to a closure using a variable within a for-loop. --- static/js/Editor.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/static/js/Editor.js b/static/js/Editor.js index 519cf79..1cfa82e 100644 --- a/static/js/Editor.js +++ b/static/js/Editor.js @@ -214,10 +214,7 @@ Editor.prototype.finish_init = function () { event.stop(); } ); - var revoke_buttons = getElementsByTagAndClassName( "input", "revoke_button" ); - for ( var i in revoke_buttons ) { - var revoke_button = revoke_buttons[ i ]; - var invite_id = revoke_button.id.split( "_" ).pop(); + function connect_button( revoke_button, invite_id ) { connect( revoke_button, "onclick", function ( event ) { signal( self, "revoke_invite", invite_id, function ( result ) { if ( !result.invites ) return; @@ -226,6 +223,13 @@ Editor.prototype.finish_init = function () { event.stop(); } ); } + + var revoke_buttons = getElementsByTagAndClassName( "input", "revoke_button" ); + for ( var i in revoke_buttons ) { + var revoke_button = revoke_buttons[ i ]; + var invite_id = revoke_button.id.split( "_" ).pop(); + connect_button( revoke_button, invite_id ); + } } } );