
There is a bug in the help system which can cause crashes, or cause
the highlighted links to disappear when the help window is scrolled.

In HELP.CPP find the THelpViewer::draw() function (near line 94):

    if (topic->getNumCrossRefs() > 0)
        {
// OLD CODE
//       {
//       ++keyCount;
//       topic->getCrossRef(keyCount-1, keyPoint, keyLength,  keyRef);
//       } while ( (keyCount <= topic->getNumCrossRefs()) &&  
//         (keyPoint.y <delta.y));
// NEW CODE
         {
         topic->getCrossRef(keyCount, keyPoint, keyLength, keyRef);
         keyCount++;
         } while ( (keyCount < topic->getNumCrossRefs()) &&  
                   (keyPoint.y <= delta.y));
      }

Farther in the same draw() function:

// OLD CODE:
//
//  ++keyCount;
//  if (keyCount <= topic->getNumCrossRefs())
//       topic->getCrossRef(keyCount-1, keyPoint, keyLength,  keyRef);
//    else
//       keyPoint.y = 0;
//
// NEW CODE:

    if (keyCount < topic->getNumCrossRefs())
      {
        topic->getCrossRef(keyCount, keyPoint, keyLength, keyRef);
        keyCount++;
      }
    else
      keyPoint.y = 0;

In THelpViewer::makeSelectVisible (near line 176) :

// OLD CODE:
//
//  if (keyPoint.y < d.y)
//      d.y = keyPoint.y;
//
// NEW CODE:

    if (keyPoint.y <= d.y)
        d.y = keyPoint.y-1;


After making these changes, recompile the HELP.CPP with the following
commands:

   bcc -c -P -O1 -ml -I..\include help.cpp
   tlib /0 ..\lib\tv.lib +-help.obj


