Hi
We encountered a possible access to class member with a zero pointer reference.
It happens in method BOOL CExtResizableDialog::PreTranslateMessage(MSG* pMsg) where you just access ::AfxGetThread()->m_nThreadID.
As Microsoft states, since C++ .NET this version can return zero (0) in case no thread was found (before it internally called ’AfxGettApp()’ in that case).
For the method GetKeyboardLayout, for which the thread ID is used in this case, accepts an ID of zero (0) as parameter value, we changed the code to the following:
DWORD threadID(0);
if(::AfxGetThread())
{
threadID = ::AfxGetThread()->m_nThreadID;
}
HKL hKeyboardLayout = ::GetKeyboardLayout(threadID);
The last ProfUIS version we checked this with is: 3.0
Best regards and thank you for your attention.
Christian Herger