at line 324 in /plugins/menu/plugin.js the code says
But apparently that ends up with a wrong markup if you use a custom icon when you add your own menu item. This piece of code should be changed into
offset + 'px;"></span>' should become offset + 'px;"'
You can find the same in the compressed file at line 80, around character 2220.
output.push(
// ' onkeydown="return CKEDITOR.ui.button._.keydown(', index, ', event);"' +
' onmouseover="CKEDITOR.tools.callFunction(', menu._.itemOverFn, ',', index, ');"' +
' onmouseout="CKEDITOR.tools.callFunction(', menu._.itemOutFn, ',', index, ');"' +
' onclick="CKEDITOR.tools.callFunction(', menu._.itemClickFn, ',', index, '); return false;"' +
'>' +
'<span class="cke_icon_wrapper"><span class="cke_icon"' +
( this.icon ? ' style="background-image:url(' + CKEDITOR.getUrl( this.icon ) + ');background-position:0 ' + offset + 'px;"></span>'
: '' ) +
'></span></span>' +
'<span class="cke_label">' );But apparently that ends up with a wrong markup if you use a custom icon when you add your own menu item. This piece of code should be changed into
output.push(
// ' onkeydown="return CKEDITOR.ui.button._.keydown(', index, ', event);"' +
' onmouseover="CKEDITOR.tools.callFunction(', menu._.itemOverFn, ',', index, ');"' +
' onmouseout="CKEDITOR.tools.callFunction(', menu._.itemOutFn, ',', index, ');"' +
' onclick="CKEDITOR.tools.callFunction(', menu._.itemClickFn, ',', index, '); return false;"' +
'>' +
'<span class="cke_icon_wrapper"><span class="cke_icon"' +
( this.icon ? ' style="background-image:url(' + CKEDITOR.getUrl( this.icon ) + ');background-position:0 ' + offset + 'px;"'
: '' ) +
'></span></span>' +
'<span class="cke_label">' );offset + 'px;"></span>' should become offset + 'px;"'
You can find the same in the compressed file at line 80, around character 2220.

Re: context menu items with custom icon