Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 4351)
+++ /CKEditor/trunk/CHANGES.html	(revision 4352)
@@ -79,4 +79,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/4351">#4351</a> : Dash and dot could appear in attribute names.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4355">#4355</a> : 'maximize' and 'showblock' commands shouldn't take editor focus.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4504">#4504</a> : Fixed 'Enter'/'Esc' key is not working on dialog button.</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/core/dom/event.js
===================================================================
--- /CKEditor/trunk/_source/core/dom/event.js	(revision 4351)
+++ /CKEditor/trunk/_source/core/dom/event.js	(revision 4352)
@@ -88,11 +88,16 @@
 
 		if ( stopPropagation )
-		{
-			if ( $.stopPropagation )
-				$.stopPropagation();
-			else
-				$.cancelBubble = true;
-		}
+			this.stopPropagation();
 	},
+
+	stopPropagation : function()
+	{
+		var $ = this.$;
+		if ( $.stopPropagation )
+			$.stopPropagation();
+		else
+			$.cancelBubble = true;
+	},
+
 	/**
 	 * Returns the DOM node where the event was targeted to.
Index: /CKEditor/trunk/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/dialog/plugin.js	(revision 4351)
+++ /CKEditor/trunk/_source/plugins/dialog/plugin.js	(revision 4352)
@@ -1855,5 +1855,5 @@
 	{
 		if ( e.data.getKeystroke() in preventKeyBubblingKeys )
-			e.data.preventDefault( true );
+			e.data.stopPropagation();
 	};
 
Index: /CKEditor/trunk/_source/plugins/sourcearea/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/sourcearea/plugin.js	(revision 4351)
+++ /CKEditor/trunk/_source/plugins/sourcearea/plugin.js	(revision 4352)
@@ -81,7 +81,5 @@
 								textarea.on( 'mousedown', function( evt )
 									{
-										evt = evt.data.$;
-										if ( evt.stopPropagation )
-											evt.stopPropagation();
+										evt.data.stopPropagation();
 									} );
 							}
