Ticket #6621: 6621_2.patch
File 6621_2.patch, 2.5 KB (added by , 13 years ago) |
---|
-
_source/plugins/styles/plugin.js
1353 1353 function applyStyle( document, remove ) 1354 1354 { 1355 1355 var selection = document.getSelection(), 1356 // Bookmark the range so we can re-select it after processing. 1357 bookmarks = selection.createBookmarks( 1 ), 1358 ranges = selection.getRanges( 1 ), 1356 ranges = selection.getRanges( true ), 1359 1357 func = remove ? this.removeFromRange : this.applyToRange, 1360 1358 range; 1361 1359 1362 1360 var iterator = ranges.createIterator(); 1363 1361 while ( ( range = iterator.getNextRange() ) ) 1362 { 1364 1363 func.call( this, range ); 1364 } 1365 1365 1366 if ( bookmarks.length == 1 && bookmarks[0].collapsed ) 1367 { 1368 selection.selectRanges( ranges ); 1369 document.getById( bookmarks[ 0 ].startNode ).remove(); 1370 } 1371 else 1372 selection.selectBookmarks( bookmarks ); 1373 } 1366 selection.selectRanges( ranges ); 1367 } 1374 1368 })(); 1375 1369 1376 1370 CKEDITOR.styleCommand = function( style ) -
_source/plugins/selection/plugin.js
1126 1126 if ( !between.collapsed ) 1127 1127 { 1128 1128 between.shrink( CKEDITOR.NODE_ELEMENT, true ); 1129 if ( between.getCommonAncestor().isReadOnly()) 1129 var ancestor = between.getCommonAncestor(), 1130 enclosed = between.getEnclosedNode(); 1131 1132 // The following cases has to be considered: 1133 // 1. <span contenteditable="false">[placeholder]</span> 1134 // 2. <input contenteditable="false" type="radio"/> (#6621) 1135 if ( ancestor.isReadOnly() || enclosed && enclosed.isReadOnly() ) 1130 1136 { 1131 1137 right.setStart( left.startContainer, left.startOffset ); 1132 1138 ranges.splice( i--, 1 ); -
_source/core/dom/range.js
1405 1405 // Fixing invalid range start inside dtd empty elements. 1406 1406 if( startNode.type == CKEDITOR.NODE_ELEMENT 1407 1407 && CKEDITOR.dtd.$empty[ startNode.getName() ] ) 1408 start Node = startNode.getParent(), startOffset = startNode.getIndex();1408 startOffset = startNode.getIndex(), startNode = startNode.getParent(); 1409 1409 1410 1410 this.startContainer = startNode; 1411 1411 this.startOffset = startOffset;