src/declarative/qml/qdeclarativevme.cpp
changeset 37 758a864f9613
parent 30 5dc02b23752f
--- a/src/declarative/qml/qdeclarativevme.cpp	Fri Sep 17 08:34:18 2010 +0300
+++ b/src/declarative/qml/qdeclarativevme.cpp	Mon Oct 04 01:19:32 2010 +0300
@@ -621,14 +621,15 @@
         case QDeclarativeInstruction::StoreSignal:
             {
                 QObject *target = stack.top();
-                QObject *context = stack.at(stack.count() - 1 - instr.assignBinding.context);
-                
+                QObject *context = stack.at(stack.count() - 1 - instr.storeSignal.context);
+
                 QMetaMethod signal = target->metaObject()->method(instr.storeSignal.signalIndex);
 
                 QDeclarativeBoundSignal *bs = new QDeclarativeBoundSignal(target, signal, target);
                 QDeclarativeExpression *expr = 
                     new QDeclarativeExpression(ctxt, context, primitives.at(instr.storeSignal.value));
                 expr->setSourceLocation(comp->name, instr.line);
+                static_cast<QDeclarativeExpressionPrivate *>(QObjectPrivate::get(expr))->name = datas.at(instr.storeSignal.name);
                 bs->setExpression(expr);
             }
             break;