fix: ImHex should crash less often now when exiting

This commit is contained in:
WerWolv
2021-07-31 17:11:10 +02:00
parent e8d77f8269
commit d345508195
5 changed files with 47 additions and 3 deletions

View File

@@ -98,11 +98,45 @@ namespace hex::init {
return true;
}
bool deleteViews() {
bool deleteSharedData() {
SharedData::deferredCalls.clear();
delete SharedData::currentProvider;
SharedData::currentProvider = nullptr;
SharedData::settingsEntries.clear();
SharedData::settingsJson.clear();
SharedData::commandPaletteCommands.clear();
SharedData::patternLanguageFunctions.clear();
for (auto &view : SharedData::views)
delete view;
SharedData::views.clear();
SharedData::toolsEntries.clear();
SharedData::dataInspectorEntries.clear();
SharedData::bookmarkEntries.clear();
for (auto &pattern : SharedData::patternData)
delete pattern;
SharedData::patternData.clear();
SharedData::languageNames.clear();
SharedData::languageDefinitions.clear();
SharedData::loadedLanguageStrings.clear();
SharedData::welcomeScreenEntries.clear();
SharedData::footerItems.clear();
SharedData::dataProcessorNodes.clear();
SharedData::recentFilePaths.clear();
SharedData::clearVariables();
return true;
}
@@ -160,8 +194,8 @@ namespace hex::init {
std::vector<Task> getExitTasks() {
return {
{ "Cleaning up views...", deleteViews },
{ "Saving settings...", storeSettings },
{ "Cleaning up shared data...", deleteSharedData },
{ "Unloading plugins...", unloadPlugins },
};
}