mfcшночудесное 03.03.12 21:46 // оригинал
Начиная с какого-то момента пара вспомогательных программ нашего основного проекта стала вылетать при выходе. Причем происходило это только под XP, так что натыкались на эти вылеты очень иногда. Сегодня мне это все-таки окончательно надоело, поставил студию в виртуалке с XP и обнаружил, что падение происходит в недрах CWinAppEx::ExitInstance, где-то в окрестностях CMFCVisualManager.
Гугль принес радостное известие о том, что это дело действительно поломалось в VS 2010 SP1, причем проявляется это только под XP, только на приложениях с темами "под офис", и только если они используют MFC DLL - что как раз идеально совпало с нашим случаем. Там же нашлось и довольно наглое исправление (принудительно привести результат вызова CMFCVisualManager::GetInstance к своему классу, только чтобы добраться до protected поля и обнулить его - судя по всему, при использовании dll у них где-то вылезает попытка повторной очистки).
Что-то везет мне с ошибками в компиляторах (ну ладно, на этот раз не в компиляторе, но в основной библиотеке - тоже неплохо).