summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/qml/qdeclarativeboundsignal.cpp4
-rw-r--r--src/declarative/qml/qdeclarativenotifier_p.h4
-rw-r--r--src/declarative/qml/qdeclarativeproperty.cpp4
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);
}