]> Some of my projects - aniplayer.git/commitdiff
Catch any errors that occur during feature plugin loading
authorAPTX <marek321@gmail.com>
Sat, 28 Apr 2018 09:36:27 +0000 (18:36 +0900)
committerAPTX <marek321@gmail.com>
Sat, 28 Apr 2018 09:37:30 +0000 (18:37 +0900)
core/instancemanager.cpp

index 746b2f9da95b669b7b4f92271faf7ec7333099e9..6bc3d2dc57b78272014c401f94df0ae04a5e8ba9 100644 (file)
@@ -150,7 +150,15 @@ Player *InstanceManager::createPlayerInstance() {
   auto player = new Player{instance, this};
   Q_CHECK_PTR(player);
 
-  m_featurePluginManager->forEach<FeaturePluginBase>([player](
-      FeaturePluginBase *plugin) { plugin->createInstance(player, player); });
+  m_featurePluginManager->forEach<FeaturePluginBase>(
+      [player](FeaturePluginBase *plugin) {
+        try {
+          plugin->createInstance(player, player);
+        } catch (const std::exception &ex) {
+          qCWarning(imCategory)
+              << "Failed to create instance of feature plugin instance. Error:"
+              << ex.what();
+        }
+      });
   return player;
 }