Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html (revision 6584)
+++ /CKEditor/trunk/CHANGES.html (revision 6585)
@@ -68,5 +68,5 @@
#6966 : [IE] Unintended paragraph is created on empty document in enter mode BR and DIV.
#7084 : SCAYT dialog window is now working properly with more than one editor instance in a page.
- #6662 : [FF] List structure pasting now works with FF4 (RC), which is caused by a regression from FF3.x.
+ #6662 : [FF] List structure pasting now works again, which is caused by a regression from FF3.5.x
#7300 : Link dialog now loads numeric values correctly.
#7330 : New list items now do not inherit the value
attribute from their sibiling.
Index: /CKEditor/trunk/_source/plugins/pastefromword/filter/default.js
===================================================================
--- /CKEditor/trunk/_source/plugins/pastefromword/filter/default.js (revision 6584)
+++ /CKEditor/trunk/_source/plugins/pastefromword/filter/default.js (revision 6585)
@@ -229,5 +229,5 @@
// Figure out the indent unit by looking at the first increament.
- if ( !listBaseIndent && previousListItemMargin && margin > previousListItemMargin )
+ if ( !listBaseIndent && previousListItemMargin != undefined && margin > previousListItemMargin )
listBaseIndent = margin - previousListItemMargin;
@@ -236,4 +236,7 @@
] )( attrs.style, element ) || '' ;
}
+
+ // First level list item are always presented without a margin.
+ !attrs[ 'cke:margin' ] && ( attrs[ 'cke:margin' ] = previousListItemMargin = 0 );
// Inherit list-type-style from bullet.
@@ -393,5 +396,5 @@
// no indentation at all.
listItemIndent = parseInt( listItemAttrs[ 'cke:indent' ], 10 )
- || listBaseIndent && ( Math.ceil( listItemAttrs[ 'cke:margin' ] / listBaseIndent ) )
+ || listBaseIndent && ( Math.ceil( listItemAttrs[ 'cke:margin' ] / listBaseIndent ) + 1 )
|| 1;
@@ -756,4 +759,15 @@
'p' : function( element )
{
+ // This's a fall-back approach to recognize list item in FF3.6,
+ // as it's not perfect as not all list style (e.g. "heading list") is shipped
+ // with this pattern. (#6662)
+ if ( /MsoListParagraph/.exec( element.attributes[ 'class' ] ) )
+ {
+ var bulletText = element.firstChild( function( node ) { return node.type == CKEDITOR.NODE_TEXT; } );
+ var bullet = bulletText && bulletText.parent,
+ bulletAttrs = bullet && bullet.attributes;
+ bulletAttrs && !bulletAttrs.style && ( bulletAttrs.style = 'mso-list: Ignore;' );
+ }
+
element.filterChildren();