Ticket #6849: 6849_2.patch

File 6849_2.patch, 1.6 KB (added by Garry Yao, 13 years ago)
  • _source/plugins/enterkey/plugin.js

     
    7575                        else if ( previousBlock && ( node = previousBlock.getParent() ) && node.is( 'li' ) )
    7676                        {
    7777                                previousBlock.breakParent( node );
    78                                 range.moveToElementEditStart( previousBlock.getNext() );
     78                                node = previousBlock.getNext();
     79                                range.moveToElementEditStart( node );
    7980                                previousBlock.move( previousBlock.getPrevious() );
    8081                        }
    8182
     
    117118
    118119                                if ( !newBlock )
    119120                                {
    120                                         newBlock = doc.createElement( blockTag );
    121                                         if ( previousBlock && ( newBlockDir = previousBlock.getDirection() ) )
    122                                                 newBlock.setAttribute( 'dir', newBlockDir );
    123                                 }
     121                                        // We have already created a new list item. (#6849)
     122                                        if ( node && node.is( 'li' ) )
     123                                                newBlock = node;
     124                                        else
     125                                        {
     126                                                newBlock = doc.createElement( blockTag );
     127                                                if ( previousBlock && ( newBlockDir = previousBlock.getDirection() ) )
     128                                                        newBlock.setAttribute( 'dir', newBlockDir );
     129                                        }
     130                                }
    124131                                // Force the enter block unless we're talking of a list item.
    125132                                else if ( forceMode && !newBlock.is( 'li' ) )
    126133                                        newBlock.renameNode( blockTag );
     
    150157                                if ( !CKEDITOR.env.ie )
    151158                                        newBlock.appendBogus();
    152159
    153                                 range.insertNode( newBlock );
     160                                if ( !newBlock.getParent() )
     161                                        range.insertNode( newBlock );
    154162
    155163                                // This is tricky, but to make the new block visible correctly
    156164                                // we must select it.
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy