I don't understand what is the problem here?
Can you show me a testcase where the code fails?
If you can't no changes to the code will be made!
I just do a research a little, and found that the "backward search" is expat started in the parentheses.
So, e.g.
This way, the "backward search" will stop at the open parenthesis of the
a.f(. Let's say, the "backward search" stops at an un-balanced open parenthesis. So, this works OK normally.
But what dose the code:
if (ch == _T(';'))
return;
I suspect: In a function call statement, in the parentheses, does any one will write a ";" ?
I think these will be no semicolon there.
The semicolon is just used to stop the "backward search" in some cases to avoid the "backward search" goes too far.
So, if the code:
c.g();
a.f(arg0)|
or
for(...)
{
a.f(arg0)|
}
If the user mistakenly press the short cut to show tip, then, the "backward search" can safely be stopped at the "{" or ";" to save a lot of performance. Otherwise, the "backward search" will go to an earlier and wrong place.
Any ideas?