Index: /CKEditor/branches/features/adobeair/_source/core/tools.js
===================================================================
--- /CKEditor/branches/features/adobeair/_source/core/tools.js	(revision 6159)
+++ /CKEditor/branches/features/adobeair/_source/core/tools.js	(revision 6160)
@@ -639,5 +639,5 @@
 			return functions.push( function()
 				{
-					fn.apply( scope || this, arguments );
+					return fn.apply( scope || this, arguments );
 				}) - 1;
 		},
Index: /CKEditor/branches/features/adobeair/_source/plugins/adobeair/plugin.js
===================================================================
--- /CKEditor/branches/features/adobeair/_source/plugins/adobeair/plugin.js	(revision 6159)
+++ /CKEditor/branches/features/adobeair/_source/plugins/adobeair/plugin.js	(revision 6160)
@@ -33,6 +33,7 @@
 							{
 								var inlineEventHandler = node.getAttribute( 'on' + eventName ),
-									callFunc = /callFunction\(([^)]+)\)/.exec( inlineEventHandler ),
-									callFuncArgs = callFunc &&  callFunc[ 1 ].split( ',' ),
+									callFunc = /(return\s*)?CKEDITOR\.tools\.callFunction\(([^)]+)\)/.exec( inlineEventHandler ),
+									hasReturn = callFunc && callFunc[ 1 ],
+									callFuncArgs = callFunc &&  callFunc[ 2 ].split( ',' ),
 									preventDefault = /return false;/.test( inlineEventHandler );
 
@@ -77,5 +78,7 @@
 									}
 
-									CKEDITOR.tools.callFunction.apply( window, callFuncArgs );
+									var retval = CKEDITOR.tools.callFunction.apply( window, callFuncArgs );
+									if ( hasReturn && retval === false )
+										 preventDefault = 1;
 								}
 
