From 61517ce39da8d64b37328ee98d2d53a408351dd4 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 20 Apr 2011 05:57:35 -0400
Subject: [PATCH] Updated to TinyMCE 3.4.2 which is now compatible with IE9

---
 program/js/tiny_mce/plugins/table/editor_plugin_src.js |   50 +++++++++++++++++++++++++++-----------------------
 1 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/program/js/tiny_mce/plugins/table/editor_plugin_src.js b/program/js/tiny_mce/plugins/table/editor_plugin_src.js
index 7bfe273..442e465 100644
--- a/program/js/tiny_mce/plugins/table/editor_plugin_src.js
+++ b/program/js/tiny_mce/plugins/table/editor_plugin_src.js
@@ -173,8 +173,8 @@
 			}, 'childNodes');
 
 			cell = cloneNode(cell, false);
-			setSpanVal(cell, 'rowspan', 1);
-			setSpanVal(cell, 'colspan', 1);
+			setSpanVal(cell, 'rowSpan', 1);
+			setSpanVal(cell, 'colSpan', 1);
 
 			if (formatNode) {
 				cell.appendChild(formatNode);
@@ -262,8 +262,8 @@
 						rowSpan = getSpanVal(cell, 'rowspan');
 
 						if (colSpan > 1 || rowSpan > 1) {
-							setSpanVal(cell, 'rowspan', 1);
-							setSpanVal(cell, 'colspan', 1);
+							setSpanVal(cell, 'rowSpan', 1);
+							setSpanVal(cell, 'colSpan', 1);
 
 							// Insert cells right
 							for (i = 0; i < colSpan - 1; i++)
@@ -306,8 +306,8 @@
 
 				// Set row/col span to start cell
 				startCell = getCell(startX, startY).elm;
-				setSpanVal(startCell, 'colspan', (endX - startX) + 1);
-				setSpanVal(startCell, 'rowspan', (endY - startY) + 1);
+				setSpanVal(startCell, 'colSpan', (endX - startX) + 1);
+				setSpanVal(startCell, 'rowSpan', (endY - startY) + 1);
 
 				// Remove other cells and add it's contents to the start cell
 				for (y = startY; y <= endY; y++) {
@@ -377,16 +377,16 @@
 					if (!before) {
 						rowSpan = getSpanVal(cell, 'rowspan');
 						if (rowSpan > 1) {
-							setSpanVal(cell, 'rowspan', rowSpan + 1);
+							setSpanVal(cell, 'rowSpan', rowSpan + 1);
 							continue;
 						}
 					} else {
 						// Check if cell above can be expanded
 						if (posY > 0 && grid[posY - 1][x]) {
 							otherCell = grid[posY - 1][x].elm;
-							rowSpan = getSpanVal(otherCell, 'rowspan');
+							rowSpan = getSpanVal(otherCell, 'rowSpan');
 							if (rowSpan > 1) {
-								setSpanVal(otherCell, 'rowspan', rowSpan + 1);
+								setSpanVal(otherCell, 'rowSpan', rowSpan + 1);
 								continue;
 							}
 						}
@@ -394,7 +394,7 @@
 
 					// Insert new cell into new row
 					newCell = cloneCell(cell);
-					setSpanVal(newCell, 'colspan', cell.colSpan);
+					setSpanVal(newCell, 'colSpan', cell.colSpan);
 
 					newRow.appendChild(newCell);
 
@@ -448,7 +448,7 @@
 							fillLeftDown(posX, y, rowSpan - 1, colSpan);
 						}
 					} else
-						setSpanVal(cell, 'colspan', cell.colSpan + 1);
+						setSpanVal(cell, 'colSpan', cell.colSpan + 1);
 
 					lastCell = cell;
 				}
@@ -465,10 +465,10 @@
 						each(grid, function(row) {
 							var cell = row[x].elm, colSpan;
 
-							colSpan = getSpanVal(cell, 'colspan');
+							colSpan = getSpanVal(cell, 'colSpan');
 
 							if (colSpan > 1)
-								setSpanVal(cell, 'colspan', colSpan - 1);
+								setSpanVal(cell, 'colSpan', colSpan - 1);
 							else
 								dom.remove(cell);
 						});
@@ -491,10 +491,10 @@
 
 				// Move down row spanned cells
 				each(tr.cells, function(cell) {
-					var rowSpan = getSpanVal(cell, 'rowspan');
+					var rowSpan = getSpanVal(cell, 'rowSpan');
 
 					if (rowSpan > 1) {
-						setSpanVal(cell, 'rowspan', rowSpan - 1);
+						setSpanVal(cell, 'rowSpan', rowSpan - 1);
 						pos = getPos(cell);
 						fillLeftDown(pos.x, pos.y, 1, 1);
 					}
@@ -508,12 +508,12 @@
 					cell = cell.elm;
 
 					if (cell != lastCell) {
-						rowSpan = getSpanVal(cell, 'rowspan');
+						rowSpan = getSpanVal(cell, 'rowSpan');
 
 						if (rowSpan <= 1)
 							dom.remove(cell);
 						else
-							setSpanVal(cell, 'rowspan', rowSpan - 1);
+							setSpanVal(cell, 'rowSpan', rowSpan - 1);
 
 						lastCell = cell;
 					}
@@ -581,8 +581,8 @@
 				// Remove col/rowspans
 				for (i = 0; i < cellCount; i++) {
 					cell = row.cells[i];
-					setSpanVal(cell, 'colspan', 1);
-					setSpanVal(cell, 'rowspan', 1);
+					setSpanVal(cell, 'colSpan', 1);
+					setSpanVal(cell, 'rowSpan', 1);
 				}
 
 				// Needs more cells
@@ -878,10 +878,14 @@
 						// Remove current selection
 						sel = ed.selection.getSel();
 
-						if (sel.removeAllRanges)
-							sel.removeAllRanges();
-						else
-							sel.empty();
+						try {
+							if (sel.removeAllRanges)
+								sel.removeAllRanges();
+							else
+								sel.empty();
+						} catch (ex) {
+							// IE9 might throw errors here
+						}
 
 						e.preventDefault();
 					}

--
Gitblit v1.9.1