Index: _source/plugins/wysiwygarea/plugin.js
===================================================================
--- _source/plugins/wysiwygarea/plugin.js (revision 5578)
+++ _source/plugins/wysiwygarea/plugin.js (revision )
@@ -14,7 +14,7 @@
var nonExitableElementNames = { table:1,pre:1 };
// Matching an empty paragraph at the end of document.
- var emptyParagraphRegexp = /\s*<(p|div|address|h\d|center)[^>]*>\s*(?:
]*>| |\u00A0| )?\s*(:?<\/\1>)?\s*(?=$|<\/body>)/gi;
+ var emptyParagraphRegexp = /\s*<(p|div|address|h\d|center|li)[^>]*>\s*(?:
]*>| |\u00A0| )?\s*(:?<\/\1>)?\s*(?=$|<\/body>)/gi;
function onInsertHtml( evt )
{
@@ -445,6 +445,26 @@
} );
}
+ if ( CKEDITOR.env.gecko )
+ {
+ domDocument.on( 'mouseup', function( ev )
+ {
+ if ( ev.data.$.button == 2 )
+ {
+ var target = ev.data.getTarget();
+
+ // Prevent right click from selecting an empty block even
+ // when selection is anchored inside it. (#5845)
+ if ( !target.getOuterHtml().replace( emptyParagraphRegexp, '' ) )
+ {
+ var range = new CKEDITOR.dom.range( domDocument );
+ range.moveToElementEditStart( target );
+ range.select( true );
+ }
+ }
+ } );
+ }
+
// Webkit: avoid from editing form control elements content.
if ( CKEDITOR.env.webkit )
{