canUndo : false, // The undo snapshot will be handled by 'insertElement'.\r
exec : function( editor )\r
{\r
- editor.insertElement( editor.document.createElement( 'hr' ) );\r
+ var hr = editor.document.createElement( 'hr' ),\r
+ range = new CKEDITOR.dom.range( editor.document );\r
+\r
+ editor.insertElement( hr );\r
+\r
+ // If there's nothing or a non-editable block followed by, establish a new paragraph\r
+ // to make sure cursor is not trapped.\r
+ range.moveToPosition( hr, CKEDITOR.POSITION_AFTER_END );\r
+ var next = hr.getNext();\r
+ if ( !next || next.type == CKEDITOR.NODE_ELEMENT && !next.isEditable() )\r
+ range.fixBlock( true, editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' );\r
+\r
+ range.select();\r
}\r
};\r
\r