Index: /CKEditor/branches/versions/3.5.x/CHANGES.html
===================================================================
--- /CKEditor/branches/versions/3.5.x/CHANGES.html	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/CHANGES.html	(revision 6219)
@@ -103,4 +103,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6781">#6781</a> : [IE7] Dialogs are broken with RTL and office2003 and v2 skins.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6798">#6798</a> : IE7: Dialog buttons disappearing in RTL after dragging.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6806">#6806</a> : [IE7] Dialog buttons invisible on focus.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/6756">#6756</a> : Hungarian;</li>
Index: /CKEditor/branches/versions/3.5.x/_dev/releaser/ckreleaser.release
===================================================================
--- /CKEditor/branches/versions/3.5.x/_dev/releaser/ckreleaser.release	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/_dev/releaser/ckreleaser.release	(revision 6219)
@@ -13,5 +13,6 @@
 	'.svn',
 	'.settings',
-	'.project'
+	'.project',
+	'.idea'
 ],
 
Index: /CKEditor/branches/versions/3.5.x/_source/core/dom/range.js
===================================================================
--- /CKEditor/branches/versions/3.5.x/_source/core/dom/range.js	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/_source/core/dom/range.js	(revision 6219)
@@ -352,5 +352,8 @@
 		},
 
-		// The selection may be lost when cloning (due to the splitText() call).
+		/**
+		 *  The content nodes of the range are cloned and added to a document fragment, which is returned.
+		 *  <strong> Note: </strong> Text selection may lost after invoking this method. (caused by text node splitting).
+		 */
 		cloneContents : function()
 		{
@@ -363,4 +366,7 @@
 		},
 
+		/**
+		 * Deletes the content nodes of the range permanently from the DOM tree.
+		 */
 		deleteContents : function()
 		{
@@ -371,4 +377,8 @@
 		},
 
+		/**
+		 *  The content nodes of the range are cloned and added to a document fragment,
+		 * meanwhile they're removed permanently from the DOM tree.
+		 */
 		extractContents : function()
 		{
Index: /CKEditor/branches/versions/3.5.x/_source/plugins/button/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.5.x/_source/plugins/button/plugin.js	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/_source/plugins/button/plugin.js	(revision 6219)
@@ -138,9 +138,21 @@
 		instance.index = index = CKEDITOR.ui.button._.instances.push( instance ) - 1;
 
+		// Indicate a mode sensitive button.
 		if ( this.modes )
 		{
+			var modeStates = {};
+			editor.on( 'beforeModeUnload', function()
+				{
+					modeStates[ editor.mode ] = this._.state;
+				}, this );
+
 			editor.on( 'mode', function()
 				{
 					this.setState( this.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED );
+					var mode = editor.mode;
+					// Restore saved button state.
+					this.setState( this.modes[ mode ] ?
+						modeStates[ mode ] != undefined ? modeStates[ mode ] :
+							CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED );
 				}, this);
 		}
Index: /CKEditor/branches/versions/3.5.x/_source/plugins/scayt/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.5.x/_source/plugins/scayt/plugin.js	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/_source/plugins/scayt/plugin.js	(revision 6219)
@@ -596,4 +596,5 @@
 						title : CKEDITOR.env.opera ? lang.opera_title : lang.title,
 						className : 'cke_button_scayt',
+						modes : { wysiwyg : 1 },
 						onRender: function()
 						{
Index: /CKEditor/branches/versions/3.5.x/_source/plugins/wsc/dialogs/wsc.js
===================================================================
--- /CKEditor/branches/versions/3.5.x/_source/plugins/wsc/dialogs/wsc.js	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/_source/plugins/wsc/dialogs/wsc.js	(revision 6219)
@@ -24,5 +24,5 @@
 		'</div><iframe' +
 			' src=""' +
-			' style="width:485px;background-color:#f1f1e3;height:380px"' +
+			' style="width:100%;background-color:#f1f1e3;"' +
 			' frameborder="0"' +
 			' name="' + iframeId + '"' +
@@ -130,4 +130,5 @@
 			var contentArea = this.getContentElement( 'general', 'content' ).getElement();
 			contentArea.setHtml( pasteArea );
+			contentArea.getChild( 2 ).setStyle( 'height', this._.contentSize.height + 'px' );
 
 			if ( typeof( window.doSpell ) != 'function' )
@@ -167,6 +168,5 @@
 						type : 'html',
 						id : 'content',
-						style : 'width:485;height:380px',
-						html : '<div></div>'
+						html : ''
 					}
 				]
@@ -175,2 +175,14 @@
 	};
 });
+
+// Expand the spell-check frame when dialog resized. (#6829)
+CKEDITOR.dialog.on( 'resize', function( evt )
+{
+	var data = evt.data,
+		dialog = data.dialog,
+		height = data.height;
+		var content = dialog.getContentElement( 'general', 'content' ).getElement(),
+				iframe = content && content.getChild( 2 );
+		iframe && iframe.setStyle( 'height', height + 'px' );
+});
+
Index: /CKEditor/branches/versions/3.5.x/_source/skins/kama/dialog.css
===================================================================
--- /CKEditor/branches/versions/3.5.x/_source/skins/kama/dialog.css	(revision 6218)
+++ /CKEditor/branches/versions/3.5.x/_source/skins/kama/dialog.css	(revision 6219)
@@ -520,4 +520,10 @@
 }
 
+/* IE7 needs position static #6806 */
+.cke_skin_kama .cke_browser_ie7 .cke_dialog_footer_buttons
+{
+	position: static;
+}
+
 /* Gecko 1.8 does not support for display: inline-table */
 .cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons
