aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmldata_p.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2016-03-30 14:53:03 +0200
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>2016-04-05 13:52:47 +0000
commitaac611fdb8aacc494956a080bf38cb9b7eb4c2e8 (patch)
treeff88f41bdd35871b5cfbb84dbdad8b61f5efa1c3 /src/qml/qml/qqmldata_p.h
parenteb9fa2d407a712ae72f7fdf80c4833bd301f1de5 (diff)
QML: allow more methods to get inlined.
Most of these methods are small, and all of them lie in the 'hot path' for simple bindings like 'width: parent.width'. Change-Id: I0071cec92b49437a352160b0283ed6c89a278a07 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/qml/qml/qqmldata_p.h')
-rw-r--r--src/qml/qml/qqmldata_p.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/qml/qml/qqmldata_p.h b/src/qml/qml/qqmldata_p.h
index 1a8cd0ce09..ad2456a68d 100644
--- a/src/qml/qml/qqmldata_p.h
+++ b/src/qml/qml/qqmldata_p.h
@@ -149,7 +149,7 @@ public:
inline QQmlNotifierEndpoint *notify(int index);
void addNotify(int index, QQmlNotifierEndpoint *);
int endpointCount(int index);
- bool signalHasEndpoint(int index);
+ bool signalHasEndpoint(int index) const;
void disconnectNotifiers();
// The context that created the C++ object
@@ -264,6 +264,15 @@ QQmlNotifierEndpoint *QQmlData::notify(int index)
}
}
+/*
+ The index MUST be in the range returned by QObjectPrivate::signalIndex()
+ This is different than the index returned by QMetaMethod::methodIndex()
+*/
+inline bool QQmlData::signalHasEndpoint(int index) const
+{
+ return notifyList && (notifyList->connectionMask & (1ULL << quint64(index % 64)));
+}
+
bool QQmlData::hasBindingBit(int coreIndex) const
{
int bit = coreIndex * 2;