Currently, the GenerateText function in CGUI.cpp returns the wrong width if any part of the text "generated" is wrapped.
The function wraps text by measuring each word within the text provided and adding the resultant width to an x variable until the sum exceeds the permitted width (at which point it starts a new line with the word it got to).
The returned object from the function has (amongst other things) an m_Size attribute that can be used by the host gui element - but for some reason the code that sets the value of m_Size.cx (aka width) includes the exceeded-width measurement.
Currently, the only gui element to be affected by this is the Tooltip, and that deals with the problem with a workaround marked by a todo comment from philip.