Index: /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1213)
+++ /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1214)
@@ -87,5 +87,5 @@
 	RefreshContainerSize() ;
 	LoadInnerDialog() ;
-	ShowThrobberTimer = setTimeout( ShowThrobber, 5000 ) ;
+	ShowThrobberTimer = setTimeout( ShowThrobber, 1000 ) ;
 
 	var titleElement = document.getElementById( 'TitleArea' ) ;
@@ -110,5 +110,5 @@
 	// First of all, translate the dialog box contents.
 	editor.FCKLanguageManager.TranslatePage( document ) ;
-	document.getElementById( 'FrameCell' ).innerHTML = '<iframe id="frmMain" src="' + args.Page + '" name="frmMain" frameborder="0" width="100%" scrolling="auto"></iframe>' ;
+	document.getElementById( 'FrameCell' ).innerHTML = '<iframe id="frmMain" src="' + args.Page + '" name="frmMain" frameborder="0" width="100%" scrolling="auto" style="background-color: white;"></iframe>' ;
 }
 
@@ -140,4 +140,8 @@
 function InnerDialogLoaded()
 {
+	// If the dialog has been closed before the iframe is loaded, do nothing.
+	if ( !window.frameElement.parentNode )
+		return ;
+
 	HideThrobber() ;
 
@@ -243,4 +247,8 @@
 function CloseDialog( dontFireChange )
 {
+	// Points the src to a non-existent location to avoid loading errors later, in case the dialog
+	// haven't been completed loaded at this point.
+	document.getElementById( 'frmMain' ).src = 'javascript: void(0);' ;
+
 	if ( !dontFireChange && !editor.FCK.EditMode )
 	{
