diff -r 488665d49417 -r 57ce13805b6f includes/clientside/tinymce/plugins/searchreplace/js/searchreplace.js --- a/includes/clientside/tinymce/plugins/searchreplace/js/searchreplace.js Sun Dec 21 15:35:46 2008 -0500 +++ b/includes/clientside/tinymce/plugins/searchreplace/js/searchreplace.js Sun Dec 21 16:28:00 2008 -0500 @@ -42,6 +42,9 @@ ca = f[m + '_panel_casesensitivebox'].checked; rs = f['replace_panel_replacestring'].value; + if (s == '') + return; + function fix() { // Correct Firefox graphics glitches r = se.getRng().cloneRange(); @@ -62,6 +65,10 @@ switch (a) { case 'all': + // Move caret to beginning of text + ed.execCommand('SelectAll'); + ed.selection.collapse(true); + if (tinymce.isIE) { while (r.findText(s, b ? -1 : 1, fl)) { r.scrollIntoView(); @@ -79,14 +86,16 @@ } if (fo) - wm.alert(ed.getLang('searchreplace_dlg.allreplaced')); + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced')); else - wm.alert(ed.getLang('searchreplace_dlg.notfound')); + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); return; case 'current': - replace(); + if (!ed.selection.isCollapsed()) + replace(); + break; } @@ -102,12 +111,12 @@ r.scrollIntoView(); r.select(); } else - wm.alert(ed.getLang('searchreplace_dlg.notfound')); + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); tinyMCEPopup.storeSelection(); } else { if (!w.find(s, ca, b, false, false, false, false)) - wm.alert(ed.getLang('searchreplace_dlg.notfound')); + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); else fix(); }