On Tue, Dec 7, 2010 at 12:59 PM, Mark Tucker <mark.tuc...@airborne.aero> wrote: > Timer { > id: textTimer > interval: 5000 > repeat: true > running: true > triggeredOnStart: true > onTriggered: { > listIndex++; > if (listIndex >= model.count) { > listIndex = 0; > } > //console.log("listIndex: " + listIndex + " > count: " + model.count) > textAnimation.start(); > } > } > } > For some reason the PropertyAction is being called when listIndex is 3 > and hence causes an error due to an undefined value. I'm failing to see > how it should ever be the case that listIndex should be 3 when the > PropertyAction does its thing though.
I believe QML will reevaluate a JS statement each time you change a bindable property contained in that statement. So, even if the animation is not running, "model.get(listIndex).dataString" will be reevaluated when listIndex changes. So, in order to solve this problem you can change the code below: > listIndex++; > if (listIndex >= model.count) { > listIndex = 0; > } for the following: listIndex = (listIndex + 1) % model.count; Br, Adriano _______________________________________________ Qt-qml mailing list Qt-qml@trolltech.com http://lists.trolltech.com/mailman/listinfo/qt-qml