In my application I am trying to manually add an outline block at the start of a CBCGPEditCtrl. When the block is quite large (I can't remember exactly how large but 2000 chars should do it) and the block is collapsed the line number and outlining for the block do not draw correctly - the line number shows the line number for the END of the block (and not the start) and there is no + sign displayed when the block is collapsed. The problem seems to be in the (non-virtual) HitTest function which calls GetStringExtent on the WHOLE of the remainder of the buffer. Whichever Windows function this calls returns -1 for the size and so HitTest gets confused and returns incorrect values. A fix would be very welcome as I have had to hack about with lots of code to get this working the way I would expect it to work, including hacking the BCG headers, which is always a bit scary. I am currently testing on XP.