diff options
Diffstat (limited to 'src/declarative')
-rw-r--r-- | src/declarative/qml/qdeclarativeboundsignal.cpp | 4 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativenotifier_p.h | 4 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeproperty.cpp | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/declarative/qml/qdeclarativeboundsignal.cpp b/src/declarative/qml/qdeclarativeboundsignal.cpp index d8aeef6fb9..9bccb42bd2 100644 --- a/src/declarative/qml/qdeclarativeboundsignal.cpp +++ b/src/declarative/qml/qdeclarativeboundsignal.cpp @@ -137,7 +137,9 @@ QDeclarativeBoundSignal::~QDeclarativeBoundSignal() void QDeclarativeBoundSignal::disconnect() { QObjectPrivate * const priv = QObjectPrivate::get(m_scope); - priv->disconnectNotify(QObjectPrivate::signalSignature(m_signal)); + QVarLengthArray<char> signalSignature; + QObjectPrivate::signalSignature(m_signal, &signalSignature); + priv->disconnectNotify(signalSignature.constData()); } int QDeclarativeBoundSignal::index() const diff --git a/src/declarative/qml/qdeclarativenotifier_p.h b/src/declarative/qml/qdeclarativenotifier_p.h index 0e38ec106a..f15efb6883 100644 --- a/src/declarative/qml/qdeclarativenotifier_p.h +++ b/src/declarative/qml/qdeclarativenotifier_p.h @@ -217,7 +217,9 @@ void QDeclarativeNotifierEndpoint::disconnect() QMetaObject::disconnectOne(s->source, s->sourceSignal, target, targetMethod); QObjectPrivate * const priv = QObjectPrivate::get(s->source); const QMetaMethod signal = s->source->metaObject()->method(s->sourceSignal); - priv->disconnectNotify(QObjectPrivate::signalSignature(signal)); + QVarLengthArray<char> signalSignature; + QObjectPrivate::signalSignature(signal, &signalSignature); + priv->disconnectNotify(signalSignature.constData()); s->source = 0; } } else if (type == NotifierType) { diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp index e6b9775fbb..ce4122a62b 100644 --- a/src/declarative/qml/qdeclarativeproperty.cpp +++ b/src/declarative/qml/qdeclarativeproperty.cpp @@ -1634,7 +1634,9 @@ bool QDeclarativePropertyPrivate::connect(QObject *sender, int signal_index, const QMetaMethod signal = sender->metaObject()->method(signal_index); QObjectPrivate * const senderPriv = QObjectPrivate::get(sender); - senderPriv->connectNotify(QObjectPrivate::signalSignature(signal)); + QVarLengthArray<char> signalSignature; + QObjectPrivate::signalSignature(signal, &signalSignature); + senderPriv->connectNotify(signalSignature.constData()); return QMetaObject::connect(sender, signal_index, receiver, method_index, type, types); } |