Hi, 

In TortoiseMerge, when you search for a string, it only highlights the 
first match it finds in a line.

Actually, it finds all the matches internally, but it highlights only the 
first one, because of a bug.

Regards,
Javier Payo

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tortoisesvn-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn-dev/54046424-dc5e-48d8-9bf7-04ed96878012%40googlegroups.com.
Index: src/TortoiseMerge/BaseView.cpp
===================================================================
--- src/TortoiseMerge/BaseView.cpp	(revision 28854)
+++ src/TortoiseMerge/BaseView.cpp	(working copy)
@@ -1883,7 +1883,7 @@
             // change color of affected parts
             const long int nIntenseColorScale = 30;
             std::map<int, linecolors_t>::iterator it = lineCols.lower_bound(nMarkStart+nStringPos);
-            for ( ; it != lineCols.end() && it->first < nMarkEnd; ++it)
+            for ( ; it != lineCols.end() && it->first < nMarkEnd+nStringPos; ++it)
             {
                 auto& second = it->second;
                 COLORREF crBk = CAppUtils::IntenseColor(nIntenseColorScale, second.background);
@@ -1895,7 +1895,7 @@
                 second.text = CAppUtils::IntenseColor(nIntenseColorScale, second.text);
             }
             searchLine = searchLine.Mid(nMarkEnd);
-            nStringPos = nMarkEnd;
+            nStringPos += nMarkEnd;
             nMarkStart = 0;
             nMarkEnd = 0;
         }

Reply via email to