Opened 10 years ago

Last modified 10 years ago

#5221 closed Bug

[IE7 3.2.x branch] Have to click the Table dialog's OK button twice when there is no content. — at Version 5

Reported by: Joe Kavanagh Owned by: Garry Yao
Priority: Normal Milestone: CKEditor 3.3
Component: General Version: SVN (CKEditor) - OLD
Keywords: IBM Confirmed Review+ Cc: Damian

Description (last modified by Frederico Caldeira Knabben)

  1. Open the Ajax sample. Notice that the elements path is empty.
  2. Click the Table toolbar button.
  3. Click the Table dialog's OK button.

Observe the javascript error: 'type' is null or not an object.

This does not occur on the nightly 3.2 demo as the content area gets focus before the dialog appears. "body p" appears in the elements path.

The error is occurring in core/dom/walker.js guardRTL function.

I believe the error is occurring because the node to replace is null. The wysiwyg plugin's onInsertElement function thinks it is in an empty p element and attempts to replace it with the table element. See the if statement following the below comment in the onInsertFunction function:

If we're in an empty block which indicate a new paragraph, simply replace it with the inserting block.(#3664)

Change History (6)

comment:1 Changed 10 years ago by Frederico Caldeira Knabben

Keywords: Confirmed added
Milestone: CKEditor 3.3

Confirmed with IE8 on trunk also.

comment:2 Changed 10 years ago by Frederico Caldeira Knabben

Version: SVN (CKEditor)3.1

comment:3 Changed 10 years ago by Garry Yao

Owner: set to Garry Yao
Status: newassigned
Version: 3.1SVN (CKEditor)

Changed 10 years ago by Garry Yao

Attachment: 5221.patch added

comment:4 Changed 10 years ago by Garry Yao

Keywords: Review? added

Defer the table element insertion to avoid a race-condition with the auto paragraph feature which happens to mangle the range.

comment:5 Changed 10 years ago by Frederico Caldeira Knabben

Description: modified (diff)
Note: See TracTickets for help on using tickets.
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy