From d2e557c2c2d7fcf3bf7c1676df3902e115986dc2 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Fri, 11 May 2012 12:01:41 +0100 Subject: Lazily create QMetaObjects For internal QML built types, creating a metaobject each time is just wasteful. Additionally, as the property caches were always created from the intermediate QMetaObject, it was difficult to pass information directly from the compiler to the property cache. Change-Id: I769526b0edaaf16a86883f3065b75618b94e4077 Reviewed-by: Roberto Raggi --- src/quick/util/qquickanimation.cpp | 4 +--- src/quick/util/qquickconnections.cpp | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'src/quick/util') diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index 77d4809ac6..4544df23fa 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -1601,10 +1601,8 @@ QQuickAnimationGroup::QQuickAnimationGroup(QQuickAnimationGroupPrivate &dd, QObj void QQuickAnimationGroupPrivate::append_animation(QQmlListProperty *list, QQuickAbstractAnimation *a) { - QQuickAnimationGroup *q = qobject_cast(list->object); - if (q) { + if (QQuickAnimationGroup *q = qmlobject_cast(list->object)) a->setGroup(q); - } } void QQuickAnimationGroupPrivate::clear_animation(QQmlListProperty *list) diff --git a/src/quick/util/qquickconnections.cpp b/src/quick/util/qquickconnections.cpp index d3c33611e2..934c59bc0f 100644 --- a/src/quick/util/qquickconnections.cpp +++ b/src/quick/util/qquickconnections.cpp @@ -279,7 +279,7 @@ void QQuickConnections::connectSignals() QQmlProperty prop(target(), propName); if (prop.isValid() && (prop.type() & QQmlProperty::SignalProperty)) { QQmlBoundSignal *signal = - new QQmlBoundSignal(target(), prop.method(), this, qmlEngine(this)); + new QQmlBoundSignal(target(), prop.index(), this, qmlEngine(this)); QString location; QQmlContextData *ctxtdata = 0; -- cgit v1.2.3