Opened 17 years ago
Closed 17 years ago
#2039 closed Bug (fixed)
Find locks for successive searchs
Reported by: | Frederico Caldeira Knabben | Owned by: | Martin Kou |
---|---|---|---|
Priority: | Normal | Milestone: | FCKeditor 2.6.1 |
Component: | General | Version: | SVN (FCKeditor) - Retired |
Keywords: | Confirmed Review+ | Cc: |
Description
Steps to Reproduce
- Load sample01.html.
- In the Find dialog search for "e".
- Continuously click in the Find button to find all occurrences of "e".
It will successfully find the first two occurrences, in "some" and "sample". After that, it blocks on the last found position and don't continue through the remaining occurrences inside "text", "are" and "FCKeditor".
Attachments (1)
Change History (6)
comment:1 Changed 17 years ago by
Owner: | set to Martin Kou |
---|---|
Status: | new → assigned |
comment:2 Changed 17 years ago by
Changed 17 years ago by
Attachment: | 2039.patch added |
---|
comment:3 Changed 17 years ago by
Keywords: | Review? added |
---|
Turns out there's a really hideous bug in FCKDomRange::CreateBookmark2() which causes the returned bookmark value to be invalid when it encounters a set of DOM nodes like the following:
[Text node][Text node]...[Text node][Element node][Text node]
With the bold text node being one of the boundaries of the DOM range.
Fixing the bug in FCKDomRange::CreateBookmark2() fixes the issue with the Find/Replace dialog, as its scanning logic depends on CreaetBookmark2(). The scanning logic in the Find/Replace dialog is otherwise correct.
comment:4 Changed 17 years ago by
Keywords: | Review+ added; Review? removed |
---|
comment:5 Changed 17 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed with [1928].
Click here for more info about our SVN system.
It seems the way we're handling the highlight by document mutation is disrupting the logic for scanning the document. It's not likely the highlight can be done without document mutations due to the selection bug in IE. So the scanning logic will have to be changed.