aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSergio Martins <smartins@kde.org>2018-03-28 22:13:54 +0100
committerSergio Martins <smartins@kde.org>2018-03-28 22:13:54 +0100
commita7d808a87d4f120505edffab47ae9128154f3beb (patch)
treec72eb2191814d995a939dd83061c29208acc20d5 /src
parenta5ff4acabe83ee0e9fde223d06db5b79602e7f90 (diff)
connect-non-signal: Make it know about QOverload
BUG: 392441
Diffstat (limited to 'src')
-rw-r--r--src/QtUtils.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/QtUtils.cpp b/src/QtUtils.cpp
index cfa5042a..bba757d1 100644
--- a/src/QtUtils.cpp
+++ b/src/QtUtils.cpp
@@ -310,7 +310,7 @@ CXXMethodDecl *clazy::pmfFromUnary(Expr *expr)
if (!context)
return nullptr;
- CXXRecordDecl *record = dyn_cast<CXXRecordDecl>(context);
+ auto record = dyn_cast<CXXRecordDecl>(context);
if (!record)
return nullptr;
@@ -321,6 +321,10 @@ CXXMethodDecl *clazy::pmfFromUnary(Expr *expr)
return pmfFromUnary(dyn_cast<UnaryOperator>(call->getArg(1)));
} else if (auto staticCast = dyn_cast<CXXStaticCastExpr>(expr)) {
return pmfFromUnary(staticCast->getSubExpr());
+ } else if (auto callexpr = dyn_cast<CallExpr>(expr)) {
+ // QOverload case, go deeper one level to get to the UnaryOperator
+ if (callexpr->getNumArgs() == 1)
+ return pmfFromUnary(callexpr->getArg(0));
}
return nullptr;