JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.1.1
[ckeditor.git] / _source / plugins / find / dialogs / find.js
index 600fcf8..ead43bf 100644 (file)
@@ -107,20 +107,20 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        {\r
                                var currentTextNode = this.textNode;\r
                                // Already at the end of document, no more character available.\r
-                               if(  currentTextNode === null )\r
+                               if (  currentTextNode === null )\r
                                        return cursorStep.call( this );\r
 \r
                                this._.matchBoundary = false;\r
 \r
                                // There are more characters in the text node, step forward.\r
-                               if( currentTextNode\r
+                               if ( currentTextNode\r
                                    && rtl\r
                                        && this.offset > 0 )\r
                                {\r
                                        this.offset--;\r
                                        return cursorStep.call( this );\r
                                }\r
-                               else if( currentTextNode\r
+                               else if ( currentTextNode\r
                                        && this.offset < currentTextNode.getLength() - 1 )\r
                                {\r
                                        this.offset++;\r
@@ -142,7 +142,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        break;\r
 \r
                                                // Marking as match character boundaries.\r
-                                               if( !currentTextNode\r
+                                               if ( !currentTextNode\r
                                                   && checkCharactersBoundary( this._.walker.current ) )\r
                                                        this._.matchBoundary = true;\r
 \r
@@ -310,13 +310,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        getNextCharacterRange : function( maxLength )\r
                        {\r
                                var lastCursor,\r
+                                               nextRangeWalker,\r
                                                cursors = this._.cursors;\r
-                               if ( !( lastCursor = cursors[ cursors.length - 1 ] ) )\r
-                                       return null;\r
-                               return new characterRange(\r
-                                                                               new characterWalker(\r
-                                                                                       getRangeAfterCursor( lastCursor ) ),\r
-                                                                               maxLength );\r
+\r
+                               if ( ( lastCursor = cursors[ cursors.length - 1 ] ) )\r
+                                       nextRangeWalker = new characterWalker( getRangeAfterCursor( lastCursor ) );\r
+                               // In case it's an empty range (no cursors), figure out next range from walker (#4951).\r
+                               else\r
+                                       nextRangeWalker = this._.walker;\r
+\r
+                               return new characterRange( nextRangeWalker, maxLength );\r
                        },\r
 \r
                        getCursors : function()\r
@@ -427,7 +430,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        matchRange : null,\r
                        find : function( pattern, matchCase, matchWord, matchCyclic, highlightMatched, cyclicRerun )\r
                        {\r
-                               if( !this.matchRange )\r
+                               if ( !this.matchRange )\r
                                        this.matchRange =\r
                                                new characterRange(\r
                                                        new characterWalker( this.searchRange ),\r
@@ -708,7 +711,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                                        finder.matchRange = null;\r
                                                                                }\r
                                                                                editor.fire( 'saveSnapshot' );\r
-                                                                               while( finder.replace( dialog,\r
+                                                                               while ( finder.replace( dialog,\r
                                                                                        dialog.getValueOf( 'replace', 'txtFindReplace' ),\r
                                                                                        dialog.getValueOf( 'replace', 'txtReplace' ),\r
                                                                                        dialog.getValueOf( 'replace', 'txtReplaceCaseChk' ),\r
@@ -801,7 +804,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                currPage.initialized = true;\r
                                                        }\r
 \r
-                                                       if( isUserSelect )\r
+                                                       if ( isUserSelect )\r
                                                                // synchronize fields on tab switch.\r
                                                                syncFieldsBetweenTabs.call( this, pageId );\r
                                                };\r