From: Brandon Aaron <brandon.aaron@gmail.com>
Date: Wed, 19 Dec 2007 18:35:58 +0000 (+0000)
Subject: Short-circuit jQuery.event.fix if it has already fixed the current event object.
X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=a7dfbb55d9e4be6bbf096abb0e06e32086476a96;p=jquery.git

Short-circuit jQuery.event.fix if it has already fixed the current event object.
---

diff --git a/src/event.js b/src/event.js
index c0238cc..fa8be8d 100644
--- a/src/event.js
+++ b/src/event.js
@@ -263,11 +263,18 @@ jQuery.event = {
 	},
 
 	fix: function(event) {
+		// Short-circuit if the event has already been fixed by jQuery.event.fix
+		if ( event[ expando ] )
+			return event;
+			
 		// store a copy of the original event object 
 		// and clone to set read-only properties
 		var originalEvent = event;
 		event = jQuery.extend({}, originalEvent);
 		
+		// Mark the event as fixed by jQuery.event.fix
+		event[ expando ] = true;
+		
 		// add preventDefault and stopPropagation since 
 		// they will not work on the clone
 		event.preventDefault = function() {