In trying to debug #12337 I added a sleep at the end of AppInitMain() to simulate being able to close the application late in the AppInitMain() process. If I close the splash screen at this point, I get a reliable crash when the splashs screen is deleted as it tries to disconnect itself from the wallet ShowProgress signal after Shutdown() has been called and the wallet has been deleted.
{
    
    QApplication::removeTranslator(&qtTranslatorBase);
    QApplication::removeTranslator(&qtTranslator);
    QApplication::removeTranslator(&translatorBase);
    QApplication::removeTranslator(&translator);
    
    
    QString lang_territory = GetLangTerritory();
    
    QString lang = lang_territory;
    lang.truncate(lang_territory.lastIndexOf('_'));
    
    
    
    
    if (qtTranslatorBase.load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
        QApplication::installTranslator(&qtTranslatorBase);
    
    if (qtTranslator.load("qt_" + lang_territory, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
        QApplication::installTranslator(&qtTranslator);
    
    if (translatorBase.load(lang, ":/translations/"))
        QApplication::installTranslator(&translatorBase);
    
    if (translator.load(lang_territory, ":/translations/"))
        QApplication::installTranslator(&translator);
}
#if QT_VERSION < 0x050000
void DebugMessageHandler(QtMsgType type, const char *msg)