Ticket #6192: 6192_4.patch

File 6192_4.patch, 1.3 KB (added by fredck, 4 years ago)
  • _source/plugins/selection/plugin.js

     
    673673                                        // tranform the native ranges in CKEDITOR.dom.range 
    674674                                        // instances. 
    675675 
    676                                         var ranges = []; 
    677                                         var sel = this.getNative(); 
     676                                        var ranges = [], 
     677                                                range, 
     678                                                doc = this.document, 
     679                                                sel = this.getNative(); 
    678680 
    679681                                        if ( !sel ) 
    680                                                 return []; 
     682                                                return ranges; 
    681683 
     684                                        // On WebKit, it may happen that we'll have no selection 
     685                                        // available. We normalize it here by replicating the 
     686                                        // behavior of other browsers. 
     687                                        if ( !sel.rangeCount ) 
     688                                        { 
     689                                                range = new CKEDITOR.dom.range( doc ); 
     690                                                range.moveToElementEditStart( doc.getBody() ); 
     691                                                ranges.push( range ); 
     692                                        } 
     693 
    682694                                        for ( var i = 0 ; i < sel.rangeCount ; i++ ) 
    683695                                        { 
    684696                                                var nativeRange = sel.getRangeAt( i ); 
    685                                                 var range = new CKEDITOR.dom.range( this.document ); 
    686697 
     698                                                range = new CKEDITOR.dom.range( doc ); 
     699 
    687700                                                range.setStart( new CKEDITOR.dom.node( nativeRange.startContainer ), nativeRange.startOffset ); 
    688701                                                range.setEnd( new CKEDITOR.dom.node( nativeRange.endContainer ), nativeRange.endOffset ); 
    689702                                                ranges.push( range ); 
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy