mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-28 07:47:03 -05:00
fix: Handle exceptions thrown by providers on loadSettings() (#1307)
This commit is contained in:
@@ -69,11 +69,19 @@ namespace hex::plugin::builtin {
|
||||
}
|
||||
|
||||
provider->setID(id);
|
||||
provider->loadSettings(providerSettings.at("settings"));
|
||||
if (!provider->open() || !provider->isAvailable() || !provider->isReadable()) {
|
||||
providerWarnings[provider] = provider->getErrorMessage();
|
||||
} else
|
||||
EventManager::post<EventProviderOpened>(provider);
|
||||
bool loaded = false;
|
||||
try {
|
||||
provider->loadSettings(providerSettings.at("settings"));
|
||||
loaded = true;
|
||||
} catch (const std::exception &e){
|
||||
providerWarnings[provider] = e.what();
|
||||
}
|
||||
if (loaded) {
|
||||
if (!provider->open() || !provider->isAvailable() || !provider->isReadable()) {
|
||||
providerWarnings[provider] = provider->getErrorMessage();
|
||||
} else
|
||||
EventManager::post<EventProviderOpened>(provider);
|
||||
}
|
||||
}
|
||||
|
||||
std::string warningMsg;
|
||||
|
||||
Reference in New Issue
Block a user