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