@ -88,8 +88,9 @@ namespace SearchAndReplace
Debug . Assert ( textIteratorBuilder ! = null ) ;
Debug . Assert ( textIteratorBuilder ! = null ) ;
if ( info ! = null & & textIterator ! = null & & documentIterator . CurrentFileName ! = null ) {
if ( info ! = null & & textIterator ! = null & & documentIterator . CurrentFileName ! = null ) {
if ( info . FileName ! = documentIterator . CurrentFileName ) { // create new iterator, if document changed
ProvidedDocumentInformation currentInfo = documentIterator . Current ;
info = documentIterator . Current ;
if ( ! info . Equals ( currentInfo ) ) { // create new iterator, if document changed
info = currentInfo ;
textIterator = textIteratorBuilder . BuildTextIterator ( info ) ;
textIterator = textIteratorBuilder . BuildTextIterator ( info ) ;
} else { // old document -> initialize iterator position to caret pos
} else { // old document -> initialize iterator position to caret pos
textIterator . Position = info . CurrentOffset ;
textIterator . Position = info . CurrentOffset ;
@ -120,8 +121,9 @@ namespace SearchAndReplace
public SearchResult FindNext ( int offset , int length )
public SearchResult FindNext ( int offset , int length )
{
{
if ( info ! = null & & textIterator ! = null & & documentIterator . CurrentFileName ! = null ) {
if ( info ! = null & & textIterator ! = null & & documentIterator . CurrentFileName ! = null ) {
if ( info . FileName ! = documentIterator . CurrentFileName ) { // create new iterator, if document changed
ProvidedDocumentInformation currentInfo = documentIterator . Current ;
info = documentIterator . Current ;
if ( ! info . Equals ( currentInfo ) ) { // create new iterator, if document changed
info = currentInfo ;
textIterator = textIteratorBuilder . BuildTextIterator ( info ) ;
textIterator = textIteratorBuilder . BuildTextIterator ( info ) ;
} else { // old document -> initialize iterator position to caret pos
} else { // old document -> initialize iterator position to caret pos
textIterator . Position = info . CurrentOffset ;
textIterator . Position = info . CurrentOffset ;