summaryrefslogtreecommitdiff
path: root/src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp b/src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp
index 3acc165550..12b3e9a13b 100644
--- a/src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakerunconfigurationfactory.cpp
@@ -25,7 +25,7 @@
#include "qmakerunconfigurationfactory.h"
-#include <extensionsystem/pluginmanager.h>
+using namespace ProjectExplorer;
namespace QmakeProjectManager {
@@ -35,13 +35,15 @@ QmakeRunConfigurationFactory::QmakeRunConfigurationFactory(QObject *parent) :
QmakeRunConfigurationFactory *QmakeRunConfigurationFactory::find(ProjectExplorer::Target *t)
{
- if (!t)
- return nullptr;
-
- return ExtensionSystem::PluginManager::getObject<QmakeRunConfigurationFactory>(
- [&t](QmakeRunConfigurationFactory *factory) {
- return factory->canHandle(t);
- });
+ if (t) {
+ for (auto factory : IRunConfigurationFactory::allRunConfigurationFactories()) {
+ if (auto qmakeFactory = qobject_cast<QmakeRunConfigurationFactory *>(factory)) {
+ if (qmakeFactory->canHandle(t))
+ return qmakeFactory;
+ }
+ }
+ }
+ return nullptr;
}
} // namespace QmakeProjectManager