From 4d61cda4a37677f7cebee4fc031a10e6cf95a986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 24 Jun 2021 14:28:47 +0200 Subject: [PATCH] AnyImageImporter: don't expect metadata to be present too early. The check that the plugin is loadable should happen before this, not after. All other importer plugins do that already. --- .../AnyImageImporter/AnyImageImporter.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp index a458087d0..786dd3ff0 100644 --- a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp +++ b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp @@ -118,6 +118,12 @@ void AnyImageImporter::doOpenFile(const std::string& filename) { Error{} << "Trade::AnyImageImporter::openFile(): cannot determine the format of" << filename; return; } + + /* Try to load the plugin */ + if(!(manager()->load(plugin) & PluginManager::LoadState::Loaded)) { + Error{} << "Trade::AnyImageImporter::openFile(): cannot load the" << plugin << "plugin"; + return; + } if(flags() & ImporterFlag::Verbose) { Debug d; d << "Trade::AnyImageImporter::openFile(): using" << plugin; @@ -127,12 +133,6 @@ void AnyImageImporter::doOpenFile(const std::string& filename) { d << "(provided by" << metadata->name() << Debug::nospace << ")"; } - /* Try to load the plugin */ - if(!(manager()->load(plugin) & PluginManager::LoadState::Loaded)) { - Error{} << "Trade::AnyImageImporter::openFile(): cannot load the" << plugin << "plugin"; - return; - } - /* Instantiate the plugin, propagate flags */ Containers::Pointer importer = static_cast*>(manager())->instantiate(plugin); importer->setFlags(flags());