Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 1123)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 1124)
@@ -132,8 +132,11 @@
 					and "More colors..." buttons were improperly styled in the color selector panels
 					(Opera too).</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1462">#1462</a>] The enter
+					key will not any more scroll the main window.</li>
 			</ul>
 		</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1562">#1562</a>] Fixed the issue where empty paragraphs
-			are added around page breaks each time the user switches to Source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1562">#1562</a>] Fixed
+			the issue where empty paragraphs are added around page breaks each time the user
+			switches to Source mode.</li>
 	</ul>
 	<h3>
Index: /FCKeditor/trunk/editor/_source/classes/fckenterkey.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 1123)
+++ /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 1124)
@@ -493,5 +493,7 @@
 			oRange.MoveToElementEditStart( bIsStartOfBlock && !bIsEndOfBlock ? eNextBlock : eNewBlock ) ;
 
-			if ( FCKBrowserInfo.IsGeckoLike )
+			if ( FCKBrowserInfo.IsSafari )
+				FCKDomTools.ScrollIntoView( eNewBlock, false ) ;
+			else if ( FCKBrowserInfo.IsGeckoLike )
 				eNewBlock.scrollIntoView( false ) ;
 		}
@@ -575,6 +577,12 @@
 				else
 					dummy = this.Window.document.createElement( 'br' ) ;
+
 				eLineBreak.parentNode.insertBefore( dummy, eLineBreak.nextSibling ) ;
-				dummy.scrollIntoView( false ) ;
+
+				if ( FCKBrowserInfo.IsSafari )
+					FCKDomTools.ScrollIntoView( dummy, false ) ;
+				else
+					dummy.scrollIntoView( false ) ;
+
 				dummy.parentNode.removeChild( dummy ) ;
 			}
Index: /FCKeditor/trunk/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 1123)
+++ /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 1124)
@@ -254,5 +254,5 @@
 				if ( ignoreElements && currentNode.nodeName.IEquals( ignoreElements ) )
 					return this.GetNextSourceElement( currentNode, ignoreSpaceTextOnly, stopSearchElements, ignoreElements ) ;
-				
+
 				return currentNode ;
 			}
@@ -315,5 +315,5 @@
 				return this.GetPreviousSourceNode( currentNode.parentNode, true, nodeType, stopSearchNode ) ;
 		}
-		
+
 		if ( nodeType && node && node.nodeType != nodeType )
 			return this.GetPreviousSourceNode( node, false, nodeType, stopSearchNode ) ;
@@ -940,4 +940,40 @@
 		}
 		return null ;
+	},
+
+	/**
+	 * Current implementation for ScrollIntoView (due to #1462). We don't have
+	 * a complete implementation here, just the things that fit our needs.
+	 */
+	ScrollIntoView : function( element, alignTop )
+	{
+		// Get the element window.
+		var window = FCKTools.GetElementWindow( element ) ;
+		var windowHeight = FCKTools.GetViewPaneSize( window ).Height ;
+		
+		// Starts the offset that will be scrolled with the negative value of
+		// the visible window height.
+		var offset = windowHeight * -1 ;
+
+		// Appends the height it we are about to align the bottoms.
+		if ( alignTop === false )
+		{
+			offset += element.offsetHeight ;
+			
+			// Consider the margin in the scroll, which is ok for our current
+			// needs, but needs investigation if we will be using this function
+			// in other places.
+			offset += parseInt( this.GetCurrentElementStyle( window, element, 'marginBottom' ) || 0, 10 ) ;
+		}
+
+		// Appends the offsets for the entire element hierarchy.
+		offset += element.offsetTop ;
+		while ( ( element = element.parentNode ) )
+			offset += element.offsetTop || 0 ;
+		
+		// Scroll the window to the desired position, if not already visible.
+		var currentScroll = FCKTools.GetScrollPosition( window ).Y ;
+		if ( offset > 0 && offset > currentScroll )
+			window.scrollTo( 0, offset ) ;
 	}
 } ;
Index: /FCKeditor/trunk/editor/dialog/fck_replace.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_replace.html	(revision 1123)
+++ /FCKeditor/trunk/editor/dialog/fck_replace.html	(revision 1124)
@@ -351,6 +351,13 @@
 		while ( focus && focus.nodeType != 1 )
 			focus = focus.parentNode ;
+
 		if ( focus )
-		focus.scrollIntoView( false ) ;
+		{
+			if ( oEditor.FCKBrowserInfo.IsSafari )
+				oEditor.FCKDomTools.ScrollIntoView( focus, false ) ;
+			else
+				focus.scrollIntoView( false ) ;
+		}
+
 		return true;
 	}
