mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-28 07:47:03 -05:00
fix: EventProviderOpened being called before the provider finished opening
This commit is contained in:
@@ -208,20 +208,20 @@ namespace hex::plugin::builtin {
|
||||
if (!provider->open()) {
|
||||
ui::ToastError::open(hex::format("hex.builtin.provider.error.open"_lang, provider->getErrorMessage()));
|
||||
TaskManager::doLater([provider] { ImHexApi::Provider::remove(provider); });
|
||||
} else {
|
||||
TaskManager::doLater([provider]{ EventProviderOpened::post(provider); });
|
||||
}
|
||||
});
|
||||
|
||||
EventProviderOpened::post(provider);
|
||||
}
|
||||
else if (!provider->hasLoadInterface()) {
|
||||
TaskManager::createBlockingTask("hex.builtin.provider.opening", TaskManager::NoProgress, [provider]() {
|
||||
if (!provider->open() || !provider->isAvailable()) {
|
||||
ui::ToastError::open(hex::format("hex.builtin.provider.error.open"_lang, provider->getErrorMessage()));
|
||||
TaskManager::doLater([provider] { ImHexApi::Provider::remove(provider); });
|
||||
} else {
|
||||
TaskManager::doLater([provider]{ EventProviderOpened::post(provider); });
|
||||
}
|
||||
});
|
||||
|
||||
EventProviderOpened::post(provider);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -247,11 +247,11 @@ namespace hex::plugin::builtin::recent {
|
||||
if (!provider->open() || !provider->isAvailable()) {
|
||||
ui::ToastError::open(hex::format("hex.builtin.provider.error.open"_lang, provider->getErrorMessage()));
|
||||
TaskManager::doLater([provider] { ImHexApi::Provider::remove(provider); });
|
||||
} else {
|
||||
TaskManager::doLater([provider]{ EventProviderOpened::post(provider); });
|
||||
}
|
||||
});
|
||||
|
||||
EventProviderOpened::post(provider);
|
||||
|
||||
updateRecentEntries();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -888,6 +888,8 @@ namespace hex::plugin::builtin {
|
||||
}
|
||||
|
||||
void ViewDataProcessor::drawContent() {
|
||||
if (m_workspaceStack->empty()) return;
|
||||
|
||||
auto &workspace = *m_workspaceStack->back();
|
||||
|
||||
ImGui::BeginDisabled(m_evaluationTask.isRunning());
|
||||
|
||||
Reference in New Issue
Block a user