src/declarative/qml/qdeclarativevme.cpp
changeset 37 758a864f9613
parent 30 5dc02b23752f
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
   619             break;
   619             break;
   620 
   620 
   621         case QDeclarativeInstruction::StoreSignal:
   621         case QDeclarativeInstruction::StoreSignal:
   622             {
   622             {
   623                 QObject *target = stack.top();
   623                 QObject *target = stack.top();
   624                 QObject *context = stack.at(stack.count() - 1 - instr.assignBinding.context);
   624                 QObject *context = stack.at(stack.count() - 1 - instr.storeSignal.context);
   625                 
   625 
   626                 QMetaMethod signal = target->metaObject()->method(instr.storeSignal.signalIndex);
   626                 QMetaMethod signal = target->metaObject()->method(instr.storeSignal.signalIndex);
   627 
   627 
   628                 QDeclarativeBoundSignal *bs = new QDeclarativeBoundSignal(target, signal, target);
   628                 QDeclarativeBoundSignal *bs = new QDeclarativeBoundSignal(target, signal, target);
   629                 QDeclarativeExpression *expr = 
   629                 QDeclarativeExpression *expr = 
   630                     new QDeclarativeExpression(ctxt, context, primitives.at(instr.storeSignal.value));
   630                     new QDeclarativeExpression(ctxt, context, primitives.at(instr.storeSignal.value));
   631                 expr->setSourceLocation(comp->name, instr.line);
   631                 expr->setSourceLocation(comp->name, instr.line);
       
   632                 static_cast<QDeclarativeExpressionPrivate *>(QObjectPrivate::get(expr))->name = datas.at(instr.storeSignal.name);
   632                 bs->setExpression(expr);
   633                 bs->setExpression(expr);
   633             }
   634             }
   634             break;
   635             break;
   635 
   636 
   636         case QDeclarativeInstruction::StoreImportedScript:
   637         case QDeclarativeInstruction::StoreImportedScript: