Opened 16 years ago
Closed 16 years ago
#3562 closed Bug (duplicate)
Reload SCAYT before insertElement
Reported by: | Artur Formella | Owned by: | Artur Formella |
---|---|---|---|
Priority: | Normal | Milestone: | CKEditor 3.0 |
Component: | UI : Spell Checker | Version: | SVN (CKEditor) - OLD |
Keywords: | Cc: | WebSpellChecker.net |
Description
Steps to reproduce:
-Enable SCAYT plugin -Insert "mmmmmmmmmmmmmmmmmmmmmmm" -Put cursor in the middle of this word. -Insert smile using the dialog ( mmmmmmm :D mmmmmmm ) . -Click on the first word to open context menu and click any of the suggestions.
Result: The whole SPAN was replaced and smile is missing. Expected result: only part of the word is replaced with the suggestion.
Attachments (3)
Change History (13)
comment:1 Changed 16 years ago by
comment:2 Changed 16 years ago by
Milestone: | CKEditor 3.x → CKEditor 3.0 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
It must be fixed before #3560
comment:3 Changed 16 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:4 Changed 16 years ago by
Owner: | set to Artur Formella |
---|---|
Status: | reopened → new |
Changed 16 years ago by
Attachment: | 3562.patch added |
---|
comment:5 Changed 16 years ago by
Keywords: | Review? added |
---|
Local "var scayt" was changed into "var instance" because scayt is a global variable.
Patch doesn't fix #3569. This bug seems to be in the scayt engine.
comment:6 Changed 16 years ago by
Cc: | WebSpellChecker.net added |
---|
comment:7 Changed 16 years ago by
Keywords: | Review- added; Review? removed |
---|
I wonder if we need to reset the scayt instance:
instance.reset(); instance.setDisabled( false );
Does it work if we only refresh the scayt after insertElement with instnace.refresh()?
And not sure why unlock the selection is necessary.
Changed 16 years ago by
Attachment: | 3562_2.patch added |
---|
comment:8 Changed 16 years ago by
Keywords: | Review? added; Review- removed |
---|
instance.refresh() doesn't work in this case, I don't know when it works.
instance.reset(); is to disable SCAYT (instance.setDisabled( true ); also can be used) instance.setDisabled( false ); is to enable SCAYT
editor.getSelection().unlock(); is used because of the JS error:
selection/plugin.js line 926
ieRange.moveToElementText( startNode.$ );
called in
if ( CKEDITOR.env.ie ) editor.getSelection().unlock( true );
in dialog.hide(); in smiley plugin
Patch was very old so I made a new.
comment:9 Changed 16 years ago by
Keywords: | Review? removed |
---|
It's possible that by calling 'scayt.reset' will change the DOM structure and thus break the selection within editor, so can you try if creating a bookmark will help in this sense? Anyway, after discuss with Artur, we found that we need more knowledge regarding SCAYT engine at API level at least to bring those changes, the reviewing of this ticket will be defered after we have a communication with SpellChecker.net.
Changed 16 years ago by
Attachment: | 3562_3.patch added |
---|
comment:10 Changed 16 years ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
#3839 fixes this bug.
#3569 has been marked as DUP