diff options
Diffstat (limited to 'tests')
85 files changed, 7012 insertions, 1652 deletions
diff --git a/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp b/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp index 8a19b8b..60ce46d 100644 --- a/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp +++ b/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp @@ -57,6 +57,7 @@ public: tst_qdeclarativecomponent() { } private slots: + void null(); void loadEmptyUrl(); void qmlCreateObject(); @@ -64,6 +65,20 @@ private: QDeclarativeEngine engine; }; +void tst_qdeclarativecomponent::null() +{ + { + QDeclarativeComponent c; + QVERIFY(c.isNull()); + } + + { + QDeclarativeComponent c(&engine); + QVERIFY(c.isNull()); + } +} + + void tst_qdeclarativecomponent::loadEmptyUrl() { QDeclarativeComponent c(&engine); diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp index fd5d140..a2dcf1c 100644 --- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp +++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp @@ -84,6 +84,7 @@ private slots: void manualHighlight(); void footer(); void header(); + void indexAt(); private: QDeclarativeView *createView(); @@ -1299,6 +1300,42 @@ void tst_QDeclarativeGridView::header() QTRY_COMPARE(header->y(), 0.0); } +void tst_QDeclarativeGridView::indexAt() +{ + QDeclarativeView *canvas = createView(); + + TestModel model; + model.addItem("Fred", "12345"); + model.addItem("John", "2345"); + model.addItem("Bob", "54321"); + model.addItem("Billy", "22345"); + model.addItem("Sam", "2945"); + model.addItem("Ben", "04321"); + model.addItem("Jim", "0780"); + + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml")); + qApp->processEvents(); + + QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); + QTRY_VERIFY(gridview != 0); + + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + QTRY_COMPARE(gridview->count(), model.count()); + + QCOMPARE(gridview->indexAt(0, 0), 0); + QCOMPARE(gridview->indexAt(79, 59), 0); + QCOMPARE(gridview->indexAt(80, 0), 1); + QCOMPARE(gridview->indexAt(0, 60), 3); + QCOMPARE(gridview->indexAt(240, 0), -1); + + delete canvas; +} QDeclarativeView *tst_QDeclarativeGridView::createView() { diff --git a/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest.qml b/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest.qml index 229f969..f614a12 100644 --- a/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest.qml +++ b/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest.qml @@ -3,6 +3,46 @@ import QtQuick 1.0 Grid { columns: 2 width: 100; height: 100 + function verify() { + if (item1.KeyNavigation.right != item2) + return false; + if (item1.KeyNavigation.down != item3) + return false; + if (item1.KeyNavigation.tab != item2) + return false; + if (item1.KeyNavigation.backtab != item4) + return false; + + if (item2.KeyNavigation.left != item1) + return false; + if (item2.KeyNavigation.down != item4) + return false; + if (item2.KeyNavigation.tab != item3) + return false; + if (item2.KeyNavigation.backtab != item1) + return false; + + if (item3.KeyNavigation.right != item4) + return false; + if (item3.KeyNavigation.up != item1) + return false; + if (item3.KeyNavigation.tab != item4) + return false; + if (item3.KeyNavigation.backtab != item2) + return false; + + if (item4.KeyNavigation.left != item3) + return false; + if (item4.KeyNavigation.up != item2) + return false; + if (item4.KeyNavigation.tab != item1) + return false; + if (item4.KeyNavigation.backtab != item3) + return false; + + return true; + } + Rectangle { id: item1 objectName: "item1" diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp index 711bf00..0ebb8b7 100644 --- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp +++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp @@ -393,6 +393,11 @@ void tst_QDeclarativeItem::keyNavigation() QVERIFY(item); QVERIFY(item->hasActiveFocus()); + QVariant result; + QVERIFY(QMetaObject::invokeMethod(canvas->rootObject(), "verify", + Q_RETURN_ARG(QVariant, result))); + QVERIFY(result.toBool()); + // right QKeyEvent key(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1); QApplication::sendEvent(canvas, &key); diff --git a/tests/auto/declarative/qdeclarativelistview/incrementalmodel.cpp b/tests/auto/declarative/qdeclarativelistview/incrementalmodel.cpp new file mode 100644 index 0000000..b2c9df5 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelistview/incrementalmodel.cpp @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "incrementalmodel.h" +#include <QApplication> +#include <QDebug> + +IncrementalModel::IncrementalModel(QObject *parent) + : QAbstractListModel(parent), count(0) +{ + for (int i = 0; i < 100; ++i) + list.append("Item " + QString::number(i)); +} + +int IncrementalModel::rowCount(const QModelIndex & /* parent */) const +{ + return count; +} + +QVariant IncrementalModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + if (index.row() >= list.size() || index.row() < 0) + return QVariant(); + + if (role == Qt::DisplayRole) + return list.at(index.row()); + return QVariant(); +} + +bool IncrementalModel::canFetchMore(const QModelIndex & /* index */) const +{ + if (count < list.size()) + return true; + else + return false; +} + +void IncrementalModel::fetchMore(const QModelIndex & /* index */) +{ + int remainder = list.size() - count; + int itemsToFetch = qMin(5, remainder); + + beginInsertRows(QModelIndex(), count, count+itemsToFetch-1); + + count += itemsToFetch; + + endInsertRows(); +} diff --git a/tests/auto/declarative/qdeclarativelistview/incrementalmodel.h b/tests/auto/declarative/qdeclarativelistview/incrementalmodel.h new file mode 100644 index 0000000..b1f7407 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelistview/incrementalmodel.h @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef IncrementalModel_H +#define IncrementalModel_H + +#include <QAbstractListModel> +#include <QList> +#include <QStringList> + +class IncrementalModel : public QAbstractListModel +{ + Q_OBJECT + +public: + IncrementalModel(QObject *parent = 0); + + int rowCount(const QModelIndex &parent = QModelIndex()) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + +protected: + bool canFetchMore(const QModelIndex &parent) const; + void fetchMore(const QModelIndex &parent); + +private: + QStringList list; + int count; +}; + +#endif diff --git a/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro b/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro index 468474a..1633ffc 100644 --- a/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro +++ b/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro @@ -2,7 +2,8 @@ load(qttest_p4) contains(QT_CONFIG,declarative): QT += declarative macx:CONFIG -= app_bundle -SOURCES += tst_qdeclarativelistview.cpp +HEADERS += incrementalmodel.h +SOURCES += tst_qdeclarativelistview.cpp incrementalmodel.cpp symbian: { importFiles.files = data diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp index b834d46..e76cb15 100644 --- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -51,6 +51,7 @@ #include <QtDeclarative/private/qdeclarativelistmodel_p.h> #include <QtDeclarative/private/qlistmodelinterface_p.h> #include "../../../shared/util.h" +#include "incrementalmodel.h" #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir @@ -105,6 +106,8 @@ private slots: void QTBUG_14821(); void resizeDelegate(); void QTBUG_16037(); + void indexAt(); + void incrementalModel(); private: template <class T> void items(); @@ -666,7 +669,8 @@ void tst_QDeclarativeListView::removed(bool animated) listview->setContentY(80); QTest::qWait(300); - model.removeItems(1, 17); + // remove all visible items + model.removeItems(1, 18); QTest::qWait(300); // Confirm items positioned correctly @@ -1964,6 +1968,64 @@ void tst_QDeclarativeListView::QTBUG_16037() delete canvas; } +void tst_QDeclarativeListView::indexAt() +{ + QDeclarativeView *canvas = createView(); + + TestModel model; + for (int i = 0; i < 30; i++) + model.addItem("Item" + QString::number(i), ""); + + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + TestObject *testObject = new TestObject; + ctxt->setContextProperty("testObject", testObject); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml")); + qApp->processEvents(); + + QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); + QTRY_VERIFY(listview != 0); + + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + QCOMPARE(listview->indexAt(0,0), 0); + QCOMPARE(listview->indexAt(0,19), 0); + QCOMPARE(listview->indexAt(239,19), 0); + QCOMPARE(listview->indexAt(0,20), 1); + QCOMPARE(listview->indexAt(240,20), -1); + + delete canvas; +} + +void tst_QDeclarativeListView::incrementalModel() +{ + QDeclarativeView *canvas = createView(); + + IncrementalModel model; + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaylist.qml")); + qApp->processEvents(); + + QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); + QTRY_VERIFY(listview != 0); + + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + QTRY_COMPARE(listview->count(), 20); + + listview->positionViewAtIndex(10, QDeclarativeListView::Beginning); + + QTRY_COMPARE(listview->count(), 25); + + delete canvas; +} + void tst_QDeclarativeListView::qListModelInterface_items() { items<TestModel>(); diff --git a/tests/auto/declarative/qdeclarativepathview/data/undefinedpath.qml b/tests/auto/declarative/qdeclarativepathview/data/undefinedpath.qml new file mode 100644 index 0000000..5a647cb --- /dev/null +++ b/tests/auto/declarative/qdeclarativepathview/data/undefinedpath.qml @@ -0,0 +1,17 @@ +import QtQuick 1.0 + +PathView { + id: pathView + width: 240; height: 200 + path: Path { + startX: pathView.undef/2.0; startY: 0 + PathLine { x: pathView.undef/2.0; y: 0 } + } + + delegate: Text { text: value } + model: ListModel { + ListElement { value: "one" } + ListElement { value: "two" } + ListElement { value: "three" } + } +} diff --git a/tests/auto/declarative/qdeclarativepathview/data/vdm.qml b/tests/auto/declarative/qdeclarativepathview/data/vdm.qml new file mode 100644 index 0000000..012db3f --- /dev/null +++ b/tests/auto/declarative/qdeclarativepathview/data/vdm.qml @@ -0,0 +1,28 @@ +import QtQuick 1.0 + +PathView { + id: pathView + width: 240; height: 320 + + pathItemCount: 4 + preferredHighlightBegin : 0.5 + preferredHighlightEnd : 0.5 + + path: Path { + startX: 120; startY: 20; + PathLine { x: 120; y: 300 } + } + + ListModel { + id: mo + ListElement { value: "one" } + ListElement { value: "two" } + ListElement { value: "three" } + } + + model: VisualDataModel { + delegate: Text { text: model.value } + model : mo + } +} + diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp index 9193707..bd8baab 100644 --- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp +++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp @@ -87,6 +87,8 @@ private slots: void emptyModel(); void closed(); void pathUpdate(); + void visualDataModel(); + void undefinedPath(); private: QDeclarativeView *createView(); @@ -839,6 +841,32 @@ void tst_QDeclarativePathView::pathUpdate() delete canvas; } +void tst_QDeclarativePathView::visualDataModel() +{ + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/vdm.qml")); + + QDeclarativePathView *obj = qobject_cast<QDeclarativePathView*>(c.create()); + QVERIFY(obj != 0); + + QCOMPARE(obj->count(), 3); + + delete obj; +} + +void tst_QDeclarativePathView::undefinedPath() +{ + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/undefinedpath.qml")); + + QDeclarativePathView *obj = qobject_cast<QDeclarativePathView*>(c.create()); + QVERIFY(obj != 0); + + QCOMPARE(obj->count(), 3); + + delete obj; +} + QDeclarativeView *tst_QDeclarativePathView::createView() { QDeclarativeView *canvas = new QDeclarativeView(0); diff --git a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp index 3cc71bb..41f2b19 100644 --- a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp +++ b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp @@ -167,6 +167,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), false); QCOMPARE(prop.object(), (QObject *)0); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -263,6 +264,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), false); QCOMPARE(prop.object(), (QObject *)0); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -309,6 +311,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); @@ -362,6 +365,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), false); QCOMPARE(prop.object(), (QObject *)0); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -408,6 +412,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); @@ -456,6 +461,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), true); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -503,6 +509,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), true); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -555,6 +562,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_context() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), false); QCOMPARE(prop.object(), (QObject *)0); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -601,6 +609,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_context() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); @@ -654,6 +663,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), false); QCOMPARE(prop.object(), (QObject *)0); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -700,6 +710,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), false); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); @@ -748,6 +759,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), true); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -795,6 +807,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isWritable(), false); QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); + QCOMPARE(prop.isSignalProperty(), true); QCOMPARE(prop.isValid(), true); QCOMPARE(prop.object(), qobject_cast<QObject*>(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); @@ -922,6 +935,17 @@ void tst_qdeclarativeproperty::read() QCOMPARE(p.read(), QVariant("myName")); } + // Value prop by name (static) + { + QObject o; + + QCOMPARE(QDeclarativeProperty::read(&o, "objectName"), QVariant(QString())); + + o.setObjectName("myName"); + + QCOMPARE(QDeclarativeProperty::read(&o, "objectName"), QVariant("myName")); + } + // Value-type prop { PropertyObject o; @@ -994,6 +1018,16 @@ void tst_qdeclarativeproperty::read() QCOMPARE(qvariant_cast<QObject *>(v)->property("a").toInt(), 10); QCOMPARE(qvariant_cast<QObject *>(v)->property("b").toInt(), 19); } + { // static + QDeclarativeComponent component(&engine, TEST_FILE("readSynthesizedObject.qml")); + QObject *object = component.create(); + QVERIFY(object != 0); + + QVariant v = QDeclarativeProperty::read(object, "test", &engine); + QVERIFY(v.userType() == QMetaType::QObjectStar); + QCOMPARE(qvariant_cast<QObject *>(v)->property("a").toInt(), 10); + QCOMPARE(qvariant_cast<QObject *>(v)->property("b").toInt(), 19); + } // Attached property { @@ -1026,6 +1060,15 @@ void tst_qdeclarativeproperty::read() QCOMPARE(p.read(), QVariant(10)); delete object; } + { // static + QDeclarativeComponent component(&engine); + component.setData("import Test 1.0 as Foo\nFoo.MyContainer { Foo.MyContainer.foo: 10 }", QUrl()); + QObject *object = component.create(); + QVERIFY(object != 0); + + QCOMPARE(QDeclarativeProperty::read(object, "Foo.MyContainer.foo", qmlContext(object)), QVariant(10)); + delete object; + } } void tst_qdeclarativeproperty::write() @@ -1066,6 +1109,13 @@ void tst_qdeclarativeproperty::write() QCOMPARE(o.objectName(), QString("myName")); } + // Writable prop by name (static) + { + PropertyObject o; + QCOMPARE(QDeclarativeProperty::write(&o, QString("objectName"), QVariant(QString("myName"))), true); + QCOMPARE(o.objectName(), QString("myName")); + } + // Deleted object { PropertyObject *o = new PropertyObject; @@ -1138,6 +1188,18 @@ void tst_qdeclarativeproperty::write() QCOMPARE(p2.write(QUrl("main.qml")), true); QCOMPARE(o.url(), result); } + { // static + PropertyObject o; + + QCOMPARE(QDeclarativeProperty::write(&o, "url", QUrl("main.qml")), true); + QCOMPARE(o.url(), QUrl("main.qml")); + + QUrl result = engine.baseUrl().resolved(QUrl("main.qml")); + QVERIFY(result != QUrl("main.qml")); + + QCOMPARE(QDeclarativeProperty::write(&o, "url", QUrl("main.qml"), engine.rootContext()), true); + QCOMPARE(o.url(), result); + } // Attached property { diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro b/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro index c74b8fb..64b8267 100644 --- a/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro +++ b/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro @@ -1,5 +1,5 @@ load(qttest_p4) -contains(QT_CONFIG,declarative): QT += declarative script gui +contains(QT_CONFIG,declarative): QT += declarative script gui network contains(QT_CONFIG,xmlpatterns) { QT += xmlpatterns DEFINES += QTEST_XMLPATTERNS diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp index a14f942..b95b053 100644 --- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp +++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp @@ -38,8 +38,13 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include <private/qdeclarativeengine_p.h> + #include <qtest.h> #include <QtTest/qsignalspy.h> +#include <QtDeclarative/qdeclarativenetworkaccessmanagerfactory.h> +#include <QtNetwork/qnetworkaccessmanager.h> +#include <QtNetwork/qnetworkrequest.h> #include <QtCore/qtimer.h> #include <QtCore/qfile.h> #include <QtCore/qtemporaryfile.h> @@ -81,6 +86,7 @@ private slots: void roles(); void roleErrors(); void uniqueRoleNames(); + void headers(); void xml(); void xml_data(); void source(); @@ -139,6 +145,44 @@ private: QDeclarativeEngine engine; }; +class CustomNetworkAccessManagerFactory : public QObject, public QDeclarativeNetworkAccessManagerFactory +{ + Q_OBJECT +public: + QVariantMap lastSentHeaders; + +protected: + QNetworkAccessManager *create(QObject *parent); +}; + +class CustomNetworkAccessManager : public QNetworkAccessManager +{ + Q_OBJECT +public: + CustomNetworkAccessManager(CustomNetworkAccessManagerFactory *factory, QObject *parent) + : QNetworkAccessManager(parent), m_factory(factory) {} + +protected: + QNetworkReply *createRequest(Operation op, const QNetworkRequest &req, QIODevice * outgoingData = 0) + { + if (m_factory) { + QVariantMap map; + foreach (const QString &header, req.rawHeaderList()) + map[header] = req.rawHeader(header.toUtf8()); + m_factory->lastSentHeaders = map; + } + return QNetworkAccessManager::createRequest(op, req, outgoingData); + } + + QPointer<CustomNetworkAccessManagerFactory> m_factory; +}; + +QNetworkAccessManager *CustomNetworkAccessManagerFactory::create(QObject *parent) +{ + return new CustomNetworkAccessManager(this, parent); +} + + void tst_qdeclarativexmllistmodel::buildModel() { QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); @@ -312,6 +356,31 @@ void tst_qdeclarativexmllistmodel::xml_data() QTest::newRow("one item") << "<Pets><Pet><name>Hobbes</name><type>Tiger</type><age>7</age><size>Large</size></Pet></Pets>" << 1; } +void tst_qdeclarativexmllistmodel::headers() +{ + // ensure the QNetworkAccessManagers created for this test are immediately deleted + QDeclarativeEngine qmlEng; + + CustomNetworkAccessManagerFactory factory; + qmlEng.setNetworkAccessManagerFactory(&factory); + + QDeclarativeComponent component(&qmlEng, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); + QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create()); + QVERIFY(model != 0); + QTRY_COMPARE(model->status(), QDeclarativeXmlListModel::Ready); + + QVariantMap expectedHeaders; + expectedHeaders["Accept"] = "application/xml"; + + QCOMPARE(factory.lastSentHeaders.count(), expectedHeaders.count()); + foreach (const QString &header, expectedHeaders.keys()) { + QVERIFY(factory.lastSentHeaders.contains(header)); + QCOMPARE(factory.lastSentHeaders[header].toString(), expectedHeaders[header].toString()); + } + + delete model; +} + void tst_qdeclarativexmllistmodel::source() { QFETCH(QUrl, source); diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png Binary files differindex 63a594e..d1f06fa 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png +++ b/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png Binary files differindex 05e24c6..9e6e29c 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png +++ b/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml index 059128d..b1ffe8f 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml @@ -1550,7 +1550,7 @@ VisualTest { } Frame { msec: 4240 - hash: "84b477b46c313d6dcb0a77628182905b" + hash: "ad913e53e63c030ffdf4560766722760" } Mouse { type: 5 @@ -1570,7 +1570,7 @@ VisualTest { } Frame { msec: 4256 - hash: "281c0499db31ca78175ca7af6292b853" + hash: "ef31f8a4d5bde5a2e308d19ee6d5e759" } Mouse { type: 5 @@ -1582,7 +1582,7 @@ VisualTest { } Frame { msec: 4272 - hash: "5c29d61f037e4636988fdc99ee2ed8a4" + hash: "3ba07527f66e8bea5a8fb7647b0b4f3f" } Mouse { type: 5 @@ -1594,7 +1594,7 @@ VisualTest { } Frame { msec: 4288 - hash: "a18f5e9f7be932dcd1bcb4c7fe0797e8" + hash: "70e5fe656f5fd843383964825690b678" } Mouse { type: 5 @@ -1614,7 +1614,7 @@ VisualTest { } Frame { msec: 4304 - hash: "85a4130b4a57ef79e90d350cf4816801" + hash: "b7d8738be4cd6caa63dbecdb0f810a2f" } Mouse { type: 5 @@ -1626,7 +1626,7 @@ VisualTest { } Frame { msec: 4320 - hash: "364dd89fd6f96e1c77723436c7078a7b" + hash: "d6312191f9d7bbddc07f9253d8a93469" } Mouse { type: 5 @@ -1638,7 +1638,7 @@ VisualTest { } Frame { msec: 4336 - hash: "3e37312c45aa92de34d9661f9b482c48" + hash: "b182da64886cf4f444296e5fde26701e" } Mouse { type: 5 @@ -1650,7 +1650,7 @@ VisualTest { } Frame { msec: 4352 - hash: "dc2d63ad430ea6214f962629793925f3" + hash: "ebefef14b6fb990e0c6900884528bbd3" } Mouse { type: 5 @@ -1662,7 +1662,7 @@ VisualTest { } Frame { msec: 4368 - hash: "188fe1e6af9d02b2680426127ef1d39e" + hash: "9a3451ed091b1bb6b975a9c5506b1ea4" } Mouse { type: 5 @@ -1674,7 +1674,7 @@ VisualTest { } Frame { msec: 4384 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Mouse { type: 5 @@ -1686,7 +1686,7 @@ VisualTest { } Frame { msec: 4400 - hash: "bb74813667f49b15978aa78843436205" + hash: "eaaf9ea1d7fcf4a2a9dd58b1b5bb3cae" } Mouse { type: 5 @@ -1698,7 +1698,7 @@ VisualTest { } Frame { msec: 4416 - hash: "8e88500470517ed1d7c3ca10edd4e230" + hash: "7ca8e3d76cf913d85f84f0b96acde829" } Mouse { type: 5 @@ -1710,7 +1710,7 @@ VisualTest { } Frame { msec: 4432 - hash: "614dc45593db51f467adeda87d84f9a4" + hash: "7cfef56b24a552c6d4ecb3d0b88a1d08" } Mouse { type: 5 @@ -1730,7 +1730,7 @@ VisualTest { } Frame { msec: 4448 - hash: "b170583b9b284debdd04af643752aa6b" + hash: "d032b257259810b4fe514c63ca5c9e4b" } Mouse { type: 5 @@ -1742,7 +1742,7 @@ VisualTest { } Frame { msec: 4464 - hash: "dba0394b92f3ee166bc397439a86e6dc" + hash: "568f6a57e6f1644b0dc245d03a1d7b85" } Mouse { type: 5 @@ -1754,87 +1754,87 @@ VisualTest { } Frame { msec: 4480 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4496 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4512 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4528 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4544 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4560 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4576 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4592 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4608 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4624 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4640 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4656 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4672 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4688 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4704 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4720 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4736 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4752 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4768 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4784 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4800 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4816 @@ -1842,11 +1842,11 @@ VisualTest { } Frame { msec: 4832 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4848 - hash: "74b499d5d764bf53efbee8932bab3cc3" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Mouse { type: 5 @@ -1866,7 +1866,7 @@ VisualTest { } Frame { msec: 4864 - hash: "95ab953fc04389396da9a38d97262d98" + hash: "d48ecbd0661e08b2117fe2fd96ffeb2c" } Mouse { type: 5 @@ -1878,7 +1878,7 @@ VisualTest { } Frame { msec: 4880 - hash: "614dc45593db51f467adeda87d84f9a4" + hash: "7cfef56b24a552c6d4ecb3d0b88a1d08" } Mouse { type: 5 @@ -1890,7 +1890,7 @@ VisualTest { } Frame { msec: 4896 - hash: "0d884cdb22e3668203d07c72055bcb85" + hash: "5b12e9d17d9d464b055601db9cf0da44" } Mouse { type: 5 @@ -1902,7 +1902,7 @@ VisualTest { } Frame { msec: 4912 - hash: "23bd71236829253fb3ef18ebc9dd3136" + hash: "25333e1f0cc9cfc664fd7369af544c06" } Mouse { type: 5 @@ -1914,39 +1914,39 @@ VisualTest { } Frame { msec: 4928 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 4944 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 4960 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 4976 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 4992 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5008 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5024 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5040 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5056 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Mouse { type: 3 @@ -1958,179 +1958,179 @@ VisualTest { } Frame { msec: 5072 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5088 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5104 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5120 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5136 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5152 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5168 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5184 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5200 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5216 - hash: "bdb784f5ccf428f8b8a9d29310069808" + hash: "04290d8d62436c8a812f886e0a56ec1b" } Frame { msec: 5232 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5248 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5264 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5280 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5296 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5312 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5328 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5344 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5360 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5376 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5392 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5408 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5424 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5440 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5456 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5472 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5488 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5504 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5520 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5536 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5552 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5568 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5584 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5600 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5616 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5632 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5648 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5664 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5680 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5696 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5712 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5728 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5744 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5760 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5776 @@ -2138,90 +2138,90 @@ VisualTest { } Frame { msec: 5792 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5808 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5824 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5840 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5856 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5872 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5888 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5904 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5920 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5936 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5952 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5968 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5984 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6000 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6016 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6032 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6048 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6064 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6080 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6096 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6112 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 6128 - hash: "9ba43cbdd92c077f64e4a59c6c1c42ac" + hash: "dbd87bf02d698b7f053d307ef0c98452" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png Binary files differindex e1b0967..968a78f 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png Binary files differindex c7d4e1d..55ab3b7 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png Binary files differindex 9373fae..a6ec6d1 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png Binary files differindex 7a30196..e6755ac 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png Binary files differindex 4c4d17c..bc65634 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml index a94aca8..106d108 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml @@ -10,179 +10,179 @@ VisualTest { } Frame { msec: 32 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 48 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 64 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 80 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 96 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 112 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 128 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 144 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 160 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 176 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 192 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 208 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 224 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 240 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 256 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 272 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 288 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 304 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 320 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 336 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 352 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 368 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 384 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 400 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 416 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 432 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 448 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 464 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 480 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 496 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 512 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 528 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 544 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 560 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 576 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 592 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 608 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 624 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 640 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 656 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 672 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 688 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 704 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 720 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Mouse { type: 2 @@ -194,15 +194,15 @@ VisualTest { } Frame { msec: 736 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 752 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 768 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Mouse { type: 5 @@ -214,7 +214,7 @@ VisualTest { } Frame { msec: 784 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Mouse { type: 5 @@ -226,7 +226,7 @@ VisualTest { } Frame { msec: 800 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Mouse { type: 5 @@ -246,7 +246,7 @@ VisualTest { } Frame { msec: 816 - hash: "c92e345e4ffdb30c28d9d5aa5400bd30" + hash: "49372aa66b86904d587b72c6c2cfd467" } Mouse { type: 5 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 832 - hash: "90f94986ab44ab59618e9a5da17b8cc9" + hash: "06519aabcc86c5fd961c80a65d2cf67c" } Mouse { type: 5 @@ -270,7 +270,7 @@ VisualTest { } Frame { msec: 848 - hash: "0154a65f8693b98576101ac1c2fc8761" + hash: "c3b182c37393ea0468c06474e84f127f" } Mouse { type: 5 @@ -290,31 +290,31 @@ VisualTest { } Frame { msec: 864 - hash: "792c1b5267f14c891dae2348a8188a92" + hash: "dce4bcca20e89c40a603394515f679b1" } Frame { msec: 880 - hash: "15ce9e88d4ad2e698bf167d1432c0b8a" + hash: "dabf2b63bedd0073f761a858f048df5a" } Frame { msec: 896 - hash: "8f4109ef4c24d286d73f689565a0d056" + hash: "c51ca7786b7346b3e62b774c01a67f98" } Frame { msec: 912 - hash: "f5728190bf5c94742686f063b4a4b09b" + hash: "d1628aa2fd1ec92021fa37f9960fb06a" } Frame { msec: 928 - hash: "a38c7527a9a818b7bc25466b0e4939f9" + hash: "4e571776c8a01d1ab79ff1c3affc0474" } Frame { msec: 944 - hash: "ed3902455fc31a4e3232308b815a4daa" + hash: "85a3c22ecaed87c119202b76e22f2b2e" } Frame { msec: 960 - hash: "a2093589363ac2d50491412e99e0193a" + hash: "42d345e97b0a8e5cbcfdf4243ccafcdc" } Frame { msec: 976 @@ -322,227 +322,227 @@ VisualTest { } Frame { msec: 992 - hash: "c32349580e3a9586cc1133c935607cf0" + hash: "1a651405076d8980b03cc8279a379fff" } Frame { msec: 1008 - hash: "cd2068492e346eb20d50aee69e3a3559" + hash: "8c4f3c6a4c67c76fe92ff401114892e7" } Frame { msec: 1024 - hash: "f43a1a38894b8ffad009ba995d84b0ee" + hash: "447a817e33cd8213e362192ffe663272" } Frame { msec: 1040 - hash: "2d5c4a73df2a054801571f1ce119e31f" + hash: "eed6ba9be5f7869101068afd1d46cb69" } Frame { msec: 1056 - hash: "b8825cc6bdca8102a655d797ea41b5b1" + hash: "15ae5acff4211f97802c6c50649ad487" } Frame { msec: 1072 - hash: "3f0be15b85220743d004f2d54b6e137c" + hash: "e30b0a23e215c0b9b71b083381a8523e" } Frame { msec: 1088 - hash: "4b0952d33149b44ffa0a06723a4116c7" + hash: "6fad48a7d3a2480468aca07e6760de94" } Frame { msec: 1104 - hash: "9056bda43259e92cfe56fdf394e2ca54" + hash: "998bd191ac5bac1f300e247514a112d7" } Frame { msec: 1120 - hash: "82ec9f09d2303e5b0b9c05b9a10a84db" + hash: "9245e8bf2fb38f491aa7f0da4400e190" } Frame { msec: 1136 - hash: "751a9b3054c09d900364d7c9cac8bc2b" + hash: "7565ea1f01cd9ad5d92e2a0ee7fc947d" } Frame { msec: 1152 - hash: "17dfdfef20f9da7e8b6f16df974baea9" + hash: "898c6e226787391340099910ee128ed6" } Frame { msec: 1168 - hash: "108e6d9a5a81df32823bfd7a90a000a7" + hash: "bafd74d70e99cf4053d3c00d18915762" } Frame { msec: 1184 - hash: "71dd0d55a3e837d3a8e4b4e318579ade" + hash: "6456a5ca9bb90b2d0fb99bae63a8db35" } Frame { msec: 1200 - hash: "8013cdb2615bca89134ea040409af509" + hash: "2b34216c9f7c76133ef4889b74df7ad9" } Frame { msec: 1216 - hash: "4b2826ad4c755690bd837994133f5fac" + hash: "cbc75068017b378f277c2692f2cb1709" } Frame { msec: 1232 - hash: "52d0da7f138bd37ac587a448d6402aca" + hash: "8c72d80a5a2776ee2d805c089f5c534d" } Frame { msec: 1248 - hash: "e634724c5bb294d338210845bf64d2cf" + hash: "d5a248b9177e078cad40af72b3cbceb5" } Frame { msec: 1264 - hash: "59bc5f0d057ee431f289806377f19213" + hash: "1a9b246f8223bbcf6421a22e8a1fb50e" } Frame { msec: 1280 - hash: "6ef2c5f7766c2cc77b30d636bfaa4422" + hash: "ea9b292eb000a9e4c5b46a8d94b8e80e" } Frame { msec: 1296 - hash: "578d056c3db094420dbaa51bd08ced20" + hash: "ac059cd45cd1936a7ff3fd0fc9fa688b" } Frame { msec: 1312 - hash: "14c6f7a04a52caffefa07af556ccb262" + hash: "fda383d47ffb1e2fd633793594831cfb" } Frame { msec: 1328 - hash: "7cb63d56fec144d0509ce219fc6fe459" + hash: "a4c7709f3642088e4be48ec607d0a0fe" } Frame { msec: 1344 - hash: "462dafa7f6427aecf6c28a5dcf5a10cc" + hash: "08d0268402d4a410f5f8c9bb8ba7b306" } Frame { msec: 1360 - hash: "45360814f985ed780a443568a91fc170" + hash: "ecc8f3c4faf86362e45b465b0f4d6dc2" } Frame { msec: 1376 - hash: "0d18ceb2436e4f7eb56a3443fab706e6" + hash: "3107a4b522744a643dd107da5e5e13c2" } Frame { msec: 1392 - hash: "1d83f367ba9f7f1d4496208271e925ed" + hash: "44c1731d0433aac53edc2e88a38c66b0" } Frame { msec: 1408 - hash: "fdbd00ee4c122aef779df42ea53f403a" + hash: "d86e9dfb38be51b2fa9cf44271eddc3e" } Frame { msec: 1424 - hash: "bedd1cb304efd4851813b39a746198a4" + hash: "0c33ce00df6fbb848d300aa510ad80d9" } Frame { msec: 1440 - hash: "9aa7bed86efa9634466736f20ee0ab5b" + hash: "48ff92aaa0c797c10ca8dbc5b2240736" } Frame { msec: 1456 - hash: "00fc8186a7ae44e10195a7b13defa0d2" + hash: "8582fd8c3643d9a5c1993e1607c6fae8" } Frame { msec: 1472 - hash: "42d6e8e0bbed879ed63644c83e61e7bd" + hash: "2390e374160ec5bc99613a463aa98fb2" } Frame { msec: 1488 - hash: "df074f8c210249e5ef652349479b6325" + hash: "369a11c32596b668a4f275232c45ac68" } Frame { msec: 1504 - hash: "4f94020437e35cf44dd3576997990ab7" + hash: "0b0d82d523a77a925ee00cf457326034" } Frame { msec: 1520 - hash: "8ca6c3b4fa3be73ac35073356b680a35" + hash: "48e7a92905761d7f0b8b9ac95bb5ff45" } Frame { msec: 1536 - hash: "c25eee1c5791383ebc59974e7754eacb" + hash: "2cdccfd2cdf56728fa07a49de34142d9" } Frame { msec: 1552 - hash: "f4917ada78942428cc6b9aa5e56c013d" + hash: "83a8166805523ee8426d88ef80c8f3a9" } Frame { msec: 1568 - hash: "23e1e607101fc7260a4ac841344f5fe0" + hash: "20ac2e68a5c733dc6128921c34f033e5" } Frame { msec: 1584 - hash: "2dcc7d187d8e0493e5766efbf09ef37c" + hash: "836963a1ed3084606b80b7f82fee09ef" } Frame { msec: 1600 - hash: "c1e5602753e80cf44d7b330140c6912e" + hash: "ee49c684d788558e20a10899ebe0b6c2" } Frame { msec: 1616 - hash: "febaf72d01a3763461b4b7d2ddd7a23e" + hash: "e00c0b340165d335cb49730890eca301" } Frame { msec: 1632 - hash: "071262b911b61576f451be25691a57cf" + hash: "fba2c2adeef04e6c1a764c4d8a1a97bc" } Frame { msec: 1648 - hash: "44705db9289fd8753b9d63e8bc963b38" + hash: "8160bd2a6daa2757b948d038fa754c77" } Frame { msec: 1664 - hash: "0c41d7b7d36bd083abfc0b83b862cad9" + hash: "10130d0b75ce420f5c9af6f181500783" } Frame { msec: 1680 - hash: "0c41d7b7d36bd083abfc0b83b862cad9" + hash: "10130d0b75ce420f5c9af6f181500783" } Frame { msec: 1696 - hash: "071262b911b61576f451be25691a57cf" + hash: "fba2c2adeef04e6c1a764c4d8a1a97bc" } Frame { msec: 1712 - hash: "a00aa90e894b48203b0446ca287ee712" + hash: "fec5477699ba60da129866e1c3727e08" } Frame { msec: 1728 - hash: "26c9ca53ee4b084c6595ad65bf4880df" + hash: "12076b96a177bd24be8ad4a3dc179d79" } Frame { msec: 1744 - hash: "f4917ada78942428cc6b9aa5e56c013d" + hash: "83a8166805523ee8426d88ef80c8f3a9" } Frame { msec: 1760 - hash: "ffedee7bf2d8099e361b8b1706b03f88" + hash: "e9016d43624060ef4efbad2b7bc53b1b" } Frame { msec: 1776 - hash: "1778ef1629ce977015b641448b46634f" + hash: "483700c4ba07a9f01d2a226a3efde15f" } Frame { msec: 1792 - hash: "42d6e8e0bbed879ed63644c83e61e7bd" + hash: "2390e374160ec5bc99613a463aa98fb2" } Frame { msec: 1808 - hash: "99e843ec69b79b79b0792e0a2f28cd1b" + hash: "094df49593f0cd1d6de4a0b91c459d15" } Frame { msec: 1824 - hash: "8b3ebca70b50a6a93823e015ea80f0f9" + hash: "0a60ed609c7fcb2d485f393ea309527a" } Frame { msec: 1840 - hash: "8eaa7f076064ce55051237b04861e408" + hash: "d4e0f07c2f298626ae800d5d7b5f098b" } Frame { msec: 1856 - hash: "6acc0ca5e5808d911287edfa78c8ac02" + hash: "ff249c1301704da0b82b023558512c6a" } Frame { msec: 1872 - hash: "e9f05899e0b53c21f6efe834095a3ea4" + hash: "42883458efeb17ff1e52296ae7228fb2" } Mouse { type: 2 @@ -562,7 +562,7 @@ VisualTest { } Frame { msec: 1888 - hash: "e9f05899e0b53c21f6efe834095a3ea4" + hash: "42883458efeb17ff1e52296ae7228fb2" } Mouse { type: 5 @@ -582,7 +582,7 @@ VisualTest { } Frame { msec: 1904 - hash: "d2dece405f5f6ed1de2acb6615a931de" + hash: "36a4b0d745ee8fa53e906b7a23b7ab88" } Mouse { type: 5 @@ -594,7 +594,7 @@ VisualTest { } Frame { msec: 1920 - hash: "21e0f21edc77424e8327c9a3350ecc1d" + hash: "826187b1a24fd09e1abcb6a01c59c059" } Mouse { type: 5 @@ -626,7 +626,7 @@ VisualTest { } Frame { msec: 1952 - hash: "c10c8b0c94f899414d8b3ef0b7c97646" + hash: "426f9459ac16c2903f85d618b366a475" } Mouse { type: 5 @@ -646,235 +646,235 @@ VisualTest { } Frame { msec: 1968 - hash: "807aff4e6c96a9d0de7fa55e233446b1" + hash: "d43dc1cfeaac1da281f2cdbffda93d17" } Frame { msec: 1984 - hash: "dbd02848cefacbb26f4bcb7d8f073d6c" + hash: "766dd54cdb6253ead664b6ab852e934b" } Frame { msec: 2000 - hash: "9a60608d8ea1b39fa2d3851873f2f08e" + hash: "1db59868779a357917a5d4859130108e" } Frame { msec: 2016 - hash: "e7b3e3a40281f63889808211d6746374" + hash: "1da33a5f6a001915464f34799a651f7a" } Frame { msec: 2032 - hash: "188c225c46ec00105df230bfeea09974" + hash: "868a6e445623378b6590789156e4b7e0" } Frame { msec: 2048 - hash: "e2e977b42e91d8c5dee57fd8245692eb" + hash: "46ae42a4b7f00e24a10ffdfd7a076b68" } Frame { msec: 2064 - hash: "ca2f12fb173c405f95e608858ab982ad" + hash: "2a91ffdfec461f573784cfaed2150e33" } Frame { msec: 2080 - hash: "fa86ee5f25fa425cf2569c8ef570b9d8" + hash: "2cbaa11e8589c806e65e52ce59ad1c42" } Frame { msec: 2096 - hash: "9b74656866fb8c7394bbbecec6414aca" + hash: "3b93b1e1fa7963d5a75103814f93a0a2" } Frame { msec: 2112 - hash: "87147326d1baab174c0f9a5ccdc2cb84" + hash: "a2e59dc9459a7afb6916638d08330dff" } Frame { msec: 2128 - hash: "c0d00f98c71bf3f8e5954b45fbab95a8" + hash: "cb3e8334babe3abffa202c2ba2d3b21f" } Frame { msec: 2144 - hash: "c087d1d62e56e573b55c1d8599bba8a6" + hash: "07882f5f098e59c479f089dbc74612bf" } Frame { msec: 2160 - hash: "dd5a94c6febdee58e8f115cb75131aaa" + hash: "e9ad84bf0c7f83bfe1bff3afed591bfd" } Frame { msec: 2176 - hash: "a7465d6137f865f512ce65ceb29533b4" + hash: "1839c26fda8710dc3fa7f5abd8136eee" } Frame { msec: 2192 - hash: "409086f6bb661aab8b548fea56d7e6b1" + hash: "15e3bdd811c390ad3a9cf22949568ed7" } Frame { msec: 2208 - hash: "6a22911e0fb58df31271baa463ff599d" + hash: "61ede9a7ef29997627bb08070fea65a4" } Frame { msec: 2224 - hash: "c4f6dd30d5fdfcf91a8b29cf5c622423" + hash: "fac89040e757522117e3792625ca6a19" } Frame { msec: 2240 - hash: "5a95b83f237c7243a198a43e9a587179" + hash: "1dc01a1118681f8606768fcf246397f7" } Frame { msec: 2256 - hash: "d79ed290efc6dbd976d574bf0b14a6a3" + hash: "2b243094b7f25368a8fb4a9014968cad" } Frame { msec: 2272 - hash: "a7bcb436e96d7c981852239462573495" + hash: "c6677acf9b9d632bc99caa8626448c49" } Frame { msec: 2288 - hash: "f63cc82e351daab503e316f8b516990f" + hash: "9035988b0dc0b7065fe4f1d1a4737801" } Frame { msec: 2304 - hash: "4ea63cd25a1424042ffc60549a78563c" + hash: "cd34e7118d43968cfcf52ed9ce58fc0a" } Frame { msec: 2320 - hash: "ef0fb776012575b3b0dbf6e5f4dee571" + hash: "7142aeaed61722424e184c55bb8d047c" } Frame { msec: 2336 - hash: "e2508faec7737be2666d87ad715b5f74" + hash: "9113c68cf5689e1f4690e58bbf824ae6" } Frame { msec: 2352 - hash: "9fe4e897c6b853f774d11817a0eb53bf" + hash: "2f9ec963d6f06f8252a69760965df2ee" } Frame { msec: 2368 - hash: "c122ce2e73cbfedcc99d649c21d91f9d" + hash: "07373282f0337437944dc8fff1e32343" } Frame { msec: 2384 - hash: "883b8b180853f1f432ae98ddfe1b6ce3" + hash: "4769fa4ba0c08baefa431b94b47a7ffc" } Frame { msec: 2400 - hash: "d0808284e431da60f61d571c257a3011" + hash: "390cd7786aa1989b590033682472f604" } Frame { msec: 2416 - hash: "df90f19450bf4d9496aab987a89e3a02" + hash: "482e2969bc1a877ba63c3df65ec04b7e" } Frame { msec: 2432 - hash: "5640c1e64556b90e7fbd4448fa9db462" + hash: "e3dc252a3a0b35398bf3d91c37d6b5e9" } Frame { msec: 2448 - hash: "6d9b5c2f7d0dedbbc444e69bb39fed08" + hash: "5bce3aac5cc049d81a74e7f71e2cf522" } Frame { msec: 2464 - hash: "485c4a8049068cf73bf22db5fd3618be" + hash: "390edc00756c4e92e94a7a75f3d65c45" } Frame { msec: 2480 - hash: "9e25da59c9e7e4cf7796902e8e2ff92a" + hash: "285397b2ff5a64d2a112c458d6ec5aba" } Frame { msec: 2496 - hash: "bd45e8f2442d7c1a1b16a762bc29e7cf" + hash: "ed0889dc439d66e6b5a81059956ef564" } Frame { msec: 2512 - hash: "ec1013d23e581dbb39b1549d2e1b3b32" + hash: "cb804da0db92d879a5cb8f138c546f88" } Frame { msec: 2528 - hash: "1ea3c2fde8ee3a14406e027f2124d793" + hash: "523fe4d3d9c11631f41d96bcc604103b" } Frame { msec: 2544 - hash: "3c3f31a05fb2f32538872c9fa158aaab" + hash: "cc4717c4233f9a2f2380bfad6dc89075" } Frame { msec: 2560 - hash: "05a84d9c55e634ec01edd2a63e13613b" + hash: "65c4171ff3e98aa04667606d9f6bd9b3" } Frame { msec: 2576 - hash: "0f7ccd2da58e2e73b0ab18bb681dafd5" + hash: "b2994136a603206c8013158fd67ca6bd" } Frame { msec: 2592 - hash: "e481ff78029f8bc4bf7c697db6824f6a" + hash: "44ad0d4645a01243b9d9be0faaf6d6ee" } Frame { msec: 2608 - hash: "efb92b8b7a90acabeb4a8d5cae52fe3c" + hash: "3b7b06f5f3f028fbae21dfedf821e696" } Frame { msec: 2624 - hash: "4728dd0fac4edf40cfd5ef5a422b4ed9" + hash: "b86466e530c3bd51353074cbb9da9ec3" } Frame { msec: 2640 - hash: "27641dcd772c979ae22d12bfbadbb67f" + hash: "2528deb04bae8b89a85dc6fcea05dbbd" } Frame { msec: 2656 - hash: "26268714105bc4832d336a38a859fc50" + hash: "e0ff5e36bff2b9e08244fc7f79cecee6" } Frame { msec: 2672 - hash: "caf0d351d3b6914ca52853a30643ea48" + hash: "34ca311d2e3462da3779324419c027e7" } Frame { msec: 2688 - hash: "319824b1143925162f04aaddcfaa65d9" + hash: "75aae68f21f68364a897c504f26ee655" } Frame { msec: 2704 - hash: "73aa36815f34bf5e005000e7da38555e" + hash: "8039e52e7f1977433596c1a34a41cc9f" } Frame { msec: 2720 - hash: "73aa36815f34bf5e005000e7da38555e" + hash: "8039e52e7f1977433596c1a34a41cc9f" } Frame { msec: 2736 - hash: "319824b1143925162f04aaddcfaa65d9" + hash: "75aae68f21f68364a897c504f26ee655" } Frame { msec: 2752 - hash: "caf0d351d3b6914ca52853a30643ea48" + hash: "34ca311d2e3462da3779324419c027e7" } Frame { msec: 2768 - hash: "c87ba4dda0a5c931d0c7ae74a0fb2896" + hash: "d3649eb8f8232b0e64b0cb476313b63c" } Frame { msec: 2784 - hash: "ab551561ad8a3937558afc080b3e6130" + hash: "cdb30549933d3778e74dbd419b474a5f" } Frame { msec: 2800 - hash: "474d8b566b9e4ef7dc125a8df30ccbb1" + hash: "3a43d652bb85d3f562bd5eaec386107f" } Frame { msec: 2816 - hash: "cc7dfbcfafa12d40210a4d5fa7f60862" + hash: "df6771eb2afa24b6e3250b05b180fa4d" } Frame { msec: 2832 - hash: "3c3f31a05fb2f32538872c9fa158aaab" + hash: "cc4717c4233f9a2f2380bfad6dc89075" } Frame { msec: 2848 - hash: "9705c0dd30c3f381084ec29242bebb2f" + hash: "76e04278dab430d5860306830b73ab6f" } Frame { msec: 2864 - hash: "917579854722d6e6711811e10cbe229f" + hash: "8f70f69731fe8b8f4aa397a667f4c5c0" } Frame { msec: 2880 - hash: "43fa578250e214ed9ad6894329a27c54" + hash: "25b72be5ca16c246bfc6adc4bf19871c" } Frame { msec: 2896 @@ -882,79 +882,79 @@ VisualTest { } Frame { msec: 2912 - hash: "5640c1e64556b90e7fbd4448fa9db462" + hash: "e3dc252a3a0b35398bf3d91c37d6b5e9" } Frame { msec: 2928 - hash: "88cef15940302e2b8b43e73234fd7b9c" + hash: "ce0d8b3f0f0b235eaedc932f4514ea00" } Frame { msec: 2944 - hash: "041aecec2b0b0d59a56e1dd26b45cab1" + hash: "f6b030effcca891ab20073f106b22d73" } Frame { msec: 2960 - hash: "0d519463c713f3da46ecacd155e1a0f3" + hash: "2cfafd1f686f5794d5bf99ec4aaa1d08" } Frame { msec: 2976 - hash: "5dd0c855b97d298244fb599c9f781651" + hash: "502a23fd9a3bcccb29c496e7edeb5d66" } Frame { msec: 2992 - hash: "bfc51621e9bc95d2d46cec632a3fae12" + hash: "82ac348a63a4e358a877a2e45d48e2b1" } Frame { msec: 3008 - hash: "b05fb6e798ab3fed940b5ac4d88ca378" + hash: "0d321f4ca15f09d849c4a28f032cc1cc" } Frame { msec: 3024 - hash: "6bc9cc0d3b11ea91856296b0ec934a8b" + hash: "5c995f84415ea7a260647f946b8963ee" } Frame { msec: 3040 - hash: "f4e63f3af69dacbf2d1d719d4d03a266" + hash: "ee4ecac449c4a2ad4e11ad1d560b3ec3" } Frame { msec: 3056 - hash: "31ab08997eb86fab062a3128aecbccb5" + hash: "0bc3d5b91d781bcf10041eb1557f0d6a" } Frame { msec: 3072 - hash: "90736b240ba1e634bd0ea86423908e16" + hash: "321297177b354e0cc435b3eae49331a3" } Frame { msec: 3088 - hash: "90736b240ba1e634bd0ea86423908e16" + hash: "321297177b354e0cc435b3eae49331a3" } Frame { msec: 3104 - hash: "e74982557dc06aac572078840c7e889a" + hash: "de00148fe89be44237af32d929432655" } Frame { msec: 3120 - hash: "e74982557dc06aac572078840c7e889a" + hash: "de00148fe89be44237af32d929432655" } Frame { msec: 3136 - hash: "ca30c14c7344d1711a35c707f8804f6e" + hash: "756c8068009e9780428bd3ae35df19fe" } Frame { msec: 3152 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 3168 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 3184 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 3200 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Mouse { type: 2 @@ -966,15 +966,15 @@ VisualTest { } Frame { msec: 3216 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 3232 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 3248 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Mouse { type: 5 @@ -994,7 +994,7 @@ VisualTest { } Frame { msec: 3264 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "96a78749a57bdb87cf28a3804b63793f" } Mouse { type: 5 @@ -1006,7 +1006,7 @@ VisualTest { } Frame { msec: 3280 - hash: "1991cbb0fb053937f922731d5716032c" + hash: "b8f158a8694f2b922faf818d469230e4" } Mouse { type: 5 @@ -1018,7 +1018,7 @@ VisualTest { } Frame { msec: 3296 - hash: "df447575a4734bb5bd9badc6e27d98e4" + hash: "257a298bec9589037e3022cc2fe7a775" } Mouse { type: 5 @@ -1030,7 +1030,7 @@ VisualTest { } Frame { msec: 3312 - hash: "0fbfe1e0d7fb54450188398aa40690cd" + hash: "391d17c09dd33b3dcfc9a619fbb500dc" } Mouse { type: 5 @@ -1042,7 +1042,7 @@ VisualTest { } Frame { msec: 3328 - hash: "cb62e60296046c73d301d7186e14faed" + hash: "b645a1808de7a5d2ce7944ab66a7c233" } Mouse { type: 5 @@ -1054,7 +1054,7 @@ VisualTest { } Frame { msec: 3344 - hash: "909cbd1292476584554e22232cb43639" + hash: "54ddfe85ca8923bcf7f3b6ccab0560de" } Mouse { type: 5 @@ -1066,7 +1066,7 @@ VisualTest { } Frame { msec: 3360 - hash: "e63b7e502dfb2834c06a969b683b9bd3" + hash: "5c1169e17ee96b817e66b4a6097f790c" } Mouse { type: 5 @@ -1078,7 +1078,7 @@ VisualTest { } Frame { msec: 3376 - hash: "4ea63cd25a1424042ffc60549a78563c" + hash: "cd34e7118d43968cfcf52ed9ce58fc0a" } Mouse { type: 5 @@ -1090,7 +1090,7 @@ VisualTest { } Frame { msec: 3392 - hash: "77e39d2d4bfcacecdae4f014e4506d71" + hash: "f3d9d5cd228914b2e1323f19c22aa6f9" } Mouse { type: 5 @@ -1102,7 +1102,7 @@ VisualTest { } Frame { msec: 3408 - hash: "db576eca8bad67cb8b994f12fc448969" + hash: "10e63c46f4b970a9c997126906c01cf9" } Mouse { type: 5 @@ -1114,7 +1114,7 @@ VisualTest { } Frame { msec: 3424 - hash: "efeb3f616da9d78505c3c82fc34ee31c" + hash: "c9b412087f7b744096bf995c6a9ddf15" } Mouse { type: 5 @@ -1126,7 +1126,7 @@ VisualTest { } Frame { msec: 3440 - hash: "e4f8bb02f8ac6bc40e1801cc8f360078" + hash: "70cdc34e22c7a031c2e28898f7edea72" } Mouse { type: 5 @@ -1138,7 +1138,7 @@ VisualTest { } Frame { msec: 3456 - hash: "82118ef71809e3867717232c4d9c5518" + hash: "d0ea5c1f9050499d944ba7e61d354e40" } Mouse { type: 5 @@ -1150,7 +1150,7 @@ VisualTest { } Frame { msec: 3472 - hash: "5363451c696f6c6eb792b23d086243d7" + hash: "d9fc23e14a170b68264721dc18be4fb1" } Mouse { type: 5 @@ -1162,7 +1162,7 @@ VisualTest { } Frame { msec: 3488 - hash: "fe6afe8ae8a7c216a1cffc5515f273d5" + hash: "d59ccdfdb179f2c8c2636a64aecf2a6a" } Mouse { type: 5 @@ -1174,7 +1174,7 @@ VisualTest { } Frame { msec: 3504 - hash: "9b165741d86c70380c15e15cff3fabb6" + hash: "6d21752283210371faf2f757c7a972b3" } Mouse { type: 5 @@ -1186,7 +1186,7 @@ VisualTest { } Frame { msec: 3520 - hash: "f5e176355468f4fa224d4dfcdd7525a3" + hash: "1338a54d3b980a6868ba7d167cfdbdf7" } Mouse { type: 5 @@ -1198,27 +1198,27 @@ VisualTest { } Frame { msec: 3536 - hash: "8c5a14a76e052cc6503a3e78245d1da3" + hash: "0be430c9e6058be2aee599d4182bc0d0" } Frame { msec: 3552 - hash: "8c5a14a76e052cc6503a3e78245d1da3" + hash: "0be430c9e6058be2aee599d4182bc0d0" } Frame { msec: 3568 - hash: "8c5a14a76e052cc6503a3e78245d1da3" + hash: "0be430c9e6058be2aee599d4182bc0d0" } Frame { msec: 3584 - hash: "8c5a14a76e052cc6503a3e78245d1da3" + hash: "0be430c9e6058be2aee599d4182bc0d0" } Frame { msec: 3600 - hash: "8c5a14a76e052cc6503a3e78245d1da3" + hash: "0be430c9e6058be2aee599d4182bc0d0" } Frame { msec: 3616 - hash: "8c5a14a76e052cc6503a3e78245d1da3" + hash: "0be430c9e6058be2aee599d4182bc0d0" } Mouse { type: 5 @@ -1230,7 +1230,7 @@ VisualTest { } Frame { msec: 3632 - hash: "f5e176355468f4fa224d4dfcdd7525a3" + hash: "1338a54d3b980a6868ba7d167cfdbdf7" } Mouse { type: 5 @@ -1242,7 +1242,7 @@ VisualTest { } Frame { msec: 3648 - hash: "acf538fce5f1b90b83474d9898b7cdd7" + hash: "b58a71e761abe238de0e90c1c756cd37" } Mouse { type: 5 @@ -1254,7 +1254,7 @@ VisualTest { } Frame { msec: 3664 - hash: "5a0ee016b8732fbc36064e8a35d91215" + hash: "3383dc4a9b1f8267d145d22f9d825dc0" } Mouse { type: 5 @@ -1266,7 +1266,7 @@ VisualTest { } Frame { msec: 3680 - hash: "8fd06a14c1de175813845ce8f07db6ec" + hash: "95df7fbe18630d9b8ffa83850bc5bec5" } Mouse { type: 5 @@ -1278,7 +1278,7 @@ VisualTest { } Frame { msec: 3696 - hash: "26b0ff6ffda0725e0800f7ea3af510ef" + hash: "96c625b6854a862c83ead3fbb32df3b0" } Mouse { type: 5 @@ -1290,7 +1290,7 @@ VisualTest { } Frame { msec: 3712 - hash: "80443f134511be0356a687c9b542b3e7" + hash: "f48f12540c60bc7b60279db8e67ff91b" } Mouse { type: 5 @@ -1302,7 +1302,7 @@ VisualTest { } Frame { msec: 3728 - hash: "3eeb98a829d29b3dc52f3d145ac49d58" + hash: "98353745244809a583c93c1fd87b9a56" } Mouse { type: 5 @@ -1314,7 +1314,7 @@ VisualTest { } Frame { msec: 3744 - hash: "f4d43069b16f41a30e5549aae911d4cd" + hash: "09a1bb3238282c80cc40fccb6e45ba28" } Mouse { type: 5 @@ -1326,7 +1326,7 @@ VisualTest { } Frame { msec: 3760 - hash: "661c89fa832f0abdcf4ae0c9e8e2d18f" + hash: "9e50b6fc980c66698a35178e2520e13c" } Mouse { type: 3 @@ -1338,23 +1338,23 @@ VisualTest { } Frame { msec: 3776 - hash: "661c89fa832f0abdcf4ae0c9e8e2d18f" + hash: "9e50b6fc980c66698a35178e2520e13c" } Frame { msec: 3792 - hash: "1520f54b6c8606b9e8372c5c06180453" + hash: "006c37d9d6b5a8470d74909b9646d5f1" } Frame { msec: 3808 - hash: "0fcf5e2ce47348cbb5bb485f101fe5ac" + hash: "24cf52f7c3cf095be20393757dfaaa6b" } Frame { msec: 3824 - hash: "2eb070e69de07c89830543e0475fc110" + hash: "2189799d060770928f1feaaa44728ec8" } Frame { msec: 3840 - hash: "d73c1059219c0655968af268d22e2c18" + hash: "b8a6375f0303ec8b66cf14f59888c273" } Frame { msec: 3856 @@ -1362,214 +1362,214 @@ VisualTest { } Frame { msec: 3872 - hash: "cc969b2c64839ca6d3b5069c0ed938d0" + hash: "1fd391b060c84ac99c6e94d2d3647c31" } Frame { msec: 3888 - hash: "1f819e18d1297a1c7eeebb7b040bdef8" + hash: "8b594f115e8158b931a9da42fa6829a5" } Frame { msec: 3904 - hash: "3643b99afbd8af0953cb39b2c8c04b9f" + hash: "8f93fdffed4bfd31f9f5977b09074f6a" } Frame { msec: 3920 - hash: "713fd2e2fa38ab27604cb9cae59f1777" + hash: "d0f3eae785732bf24c363fd189672eb2" } Frame { msec: 3936 - hash: "e2508faec7737be2666d87ad715b5f74" + hash: "9113c68cf5689e1f4690e58bbf824ae6" } Frame { msec: 3952 - hash: "fc33b1c7479caeff676ffd885a18d618" + hash: "44dd376f3d5f61ec71b7c488c3a6ee58" } Frame { msec: 3968 - hash: "aca01143db4f870a56bb7546e84cbc5e" + hash: "4555e295bd6de22abcbaecf797ec8902" } Frame { msec: 3984 - hash: "442b58c39fd3745c61a1eb5043fcbb53" + hash: "eb343f3e69f205a240c0425873ea6db1" } Frame { msec: 4000 - hash: "7983d7183cc11d6819fa0a006c2d67b4" + hash: "37a5b81894c16cacd13312f7113a5445" } Frame { msec: 4016 - hash: "9fe4e897c6b853f774d11817a0eb53bf" + hash: "2f9ec963d6f06f8252a69760965df2ee" } Frame { msec: 4032 - hash: "43f528c81ccfa5b9921dfa3564a24c68" + hash: "dec984b2a5cdd85f2dfb8983da5cdee4" } Frame { msec: 4048 - hash: "dfe04ff0b3ccf205bb38beeab58a4411" + hash: "a95f51c3e172ee76b5b74e94532cdfaf" } Frame { msec: 4064 - hash: "32ff30b50b500e9feb51e8eef205783c" + hash: "62d73e875875329c886d2eb540a9c2d9" } Frame { msec: 4080 - hash: "7d83ab4c336b05bcf2cde4e7d8031f6c" + hash: "63c70a0ea1f43d92c717ff23dcfebe81" } Frame { msec: 4096 - hash: "c92e345e4ffdb30c28d9d5aa5400bd30" + hash: "49372aa66b86904d587b72c6c2cfd467" } Frame { msec: 4112 - hash: "02eec604d0c00965aae4ac61b91bdc22" + hash: "523c18f3c7bbaaf9c625835ddf0d8435" } Frame { msec: 4128 - hash: "df447575a4734bb5bd9badc6e27d98e4" + hash: "257a298bec9589037e3022cc2fe7a775" } Frame { msec: 4144 - hash: "bac10d8f94a39573313b3b8b2f871c49" + hash: "d777e4b06791bda82cf1e8e84b1cff5c" } Frame { msec: 4160 - hash: "e5944c5dc6dec8f0c28b7ec3cd58723d" + hash: "c31de5bfff431b13dcbf2b8b4c503bc3" } Frame { msec: 4176 - hash: "1991cbb0fb053937f922731d5716032c" + hash: "b8f158a8694f2b922faf818d469230e4" } Frame { msec: 4192 - hash: "50d6538bcaffc343f6626635a3e5899c" + hash: "5fd4cd0c335cecc7468d44d188e1669d" } Frame { msec: 4208 - hash: "f3613f57cdb9ed38d8e3fa636962aa99" + hash: "77b003c8f72498ed295678158adf417c" } Frame { msec: 4224 - hash: "10a89da9887cb4bbd812c090a8a56797" + hash: "96a78749a57bdb87cf28a3804b63793f" } Frame { msec: 4240 - hash: "89ba74d46970ad2edff701475c059ec8" + hash: "f497ed7bc98daea35a9ae4838427207e" } Frame { msec: 4256 - hash: "6e8b84c70e81578a2216e9e975b35434" + hash: "35a7221f2888ab3afec443b2c1060c80" } Frame { msec: 4272 - hash: "6e8b84c70e81578a2216e9e975b35434" + hash: "35a7221f2888ab3afec443b2c1060c80" } Frame { msec: 4288 - hash: "883b8b180853f1f432ae98ddfe1b6ce3" + hash: "4769fa4ba0c08baefa431b94b47a7ffc" } Frame { msec: 4304 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4320 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4336 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4352 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4368 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4384 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4400 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4416 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4432 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4448 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4464 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4480 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4496 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4512 - hash: "e616110d39009f0d636b816828cc0ccb" + hash: "afec5604967bc19a2bb8fc7e899c1e11" } Frame { msec: 4528 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4544 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4560 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4576 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4592 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4608 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4624 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4640 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4656 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4672 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4688 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } Frame { msec: 4704 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + hash: "66d988259c52db9bd85f60ed598469f7" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.png Binary files differnew file mode 100644 index 0000000..464d913 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.png Binary files differnew file mode 100644 index 0000000..464d913 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.png Binary files differnew file mode 100644 index 0000000..b16b9f0 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.png Binary files differnew file mode 100644 index 0000000..c3d2a6f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.png Binary files differnew file mode 100644 index 0000000..d074e73 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.png Binary files differnew file mode 100644 index 0000000..0cac34c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml new file mode 100644 index 0000000..c418cc8 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml @@ -0,0 +1,2159 @@ +import Qt.VisualTest 4.7 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + image: "flickable-nested.0.png" + } + Frame { + msec: 32 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 48 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 64 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 80 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 96 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 112 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 128 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 144 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 160 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 176 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 192 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 208 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 224 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 240 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 256 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 272 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 288 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 304 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 320 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 336 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 352 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 368 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 384 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 400 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 416 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 432 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 448 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 464 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 480 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 496 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 512 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 528 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 544 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 560 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 576 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 592 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 608 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 624 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 640 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 656 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 672 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 688 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 704 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 720 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 736 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 752 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 768 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 784 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 800 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 816 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 832 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 848 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 864 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 880 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 896 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 912 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 928 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 206; y: 205 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 944 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Frame { + msec: 960 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 204 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 976 + image: "flickable-nested.1.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 203 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 202 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 992 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 201 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 199 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1008 + hash: "7523750f0fd21aff13e6ab379e87640d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 197 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 196 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1024 + hash: "bddf8ca2638c9a04f7029d6982152d11" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 191 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1040 + hash: "bc15f1b562879d5058d3b1336fb9074e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 185 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 184 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "3572c62d7d2b9b23a8d9d3e5037591dd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 182 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 194; y: 182 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1072 + hash: "ce9658887cca581a88e7db14b92d46f2" + } + Frame { + msec: 1088 + hash: "e1fe1a2e1669a200e20468b4aa98dd3d" + } + Frame { + msec: 1104 + hash: "b7582829bf01223e6641ce82f62047df" + } + Frame { + msec: 1120 + hash: "80bd41fe22fb84efb011acf50ec38574" + } + Frame { + msec: 1136 + hash: "04c8d6c3922ce9777ee27d8df59d4729" + } + Frame { + msec: 1152 + hash: "f84dba18e525f1c06548c0232a244b6d" + } + Frame { + msec: 1168 + hash: "26c74b95835e8e0da5aadc7c42cac81c" + } + Frame { + msec: 1184 + hash: "1b4fcb1f0bd83a683cfe0ac303be0033" + } + Frame { + msec: 1200 + hash: "1b4fcb1f0bd83a683cfe0ac303be0033" + } + Frame { + msec: 1216 + hash: "4df47f90656fff253883e3e2d33506dc" + } + Frame { + msec: 1232 + hash: "4df47f90656fff253883e3e2d33506dc" + } + Frame { + msec: 1248 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1264 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1280 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1296 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1312 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1328 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1344 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1360 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1376 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1392 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1408 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1424 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1440 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1456 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1472 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1488 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1504 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1520 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1536 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1552 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1568 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1584 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Frame { + msec: 1600 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 226; y: 218 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1616 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 225; y: 218 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1632 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 223; y: 217 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 217 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1648 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 216 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1664 + hash: "7d0d94c4a7a9330f5bd17782ca484848" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 214; y: 212 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "54b41609ba43f710b08ba63f0b96df99" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 208 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 207 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "8910b66b9eb1b2be80e36ed2824df1a0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 205 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 205; y: 205 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1712 + hash: "38df31933f34f961a9b7020ad0d469c2" + } + Frame { + msec: 1728 + hash: "7702a7f710991225d9f411e8f410b515" + } + Frame { + msec: 1744 + hash: "c90d402e68208ccfd2c7345a2bf650cd" + } + Frame { + msec: 1760 + hash: "2630ed37aaf37907d1ee48efb0239615" + } + Frame { + msec: 1776 + hash: "527725818699ce3425b5cb95a25610d5" + } + Frame { + msec: 1792 + hash: "7bd6e37853946a835973c3da213beddc" + } + Frame { + msec: 1808 + hash: "e3c5e113d992e5e50b6780185891edd7" + } + Frame { + msec: 1824 + hash: "e3c5e113d992e5e50b6780185891edd7" + } + Frame { + msec: 1840 + hash: "20ced2b9960931c4c0cbe8bcc1f9e52a" + } + Frame { + msec: 1856 + hash: "09710c8964c8b010a90c67f126acdefa" + } + Frame { + msec: 1872 + hash: "09710c8964c8b010a90c67f126acdefa" + } + Frame { + msec: 1888 + hash: "09710c8964c8b010a90c67f126acdefa" + } + Frame { + msec: 1904 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 1920 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 1936 + image: "flickable-nested.2.png" + } + Frame { + msec: 1952 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 1968 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 1984 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2000 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2016 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2032 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2048 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2064 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2080 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2096 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2112 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2128 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2144 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2160 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2176 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2192 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2208 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2224 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2240 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2256 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2272 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2288 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Frame { + msec: 2304 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 274; y: 218 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 273; y: 218 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 273; y: 217 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2336 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 272; y: 215 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 272; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "e80b03bd168ec62aba64cdf75dcd1d5f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 210 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 270; y: 208 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "79a132ab719ccdf48d367cca443cd835" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 269; y: 204 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 269; y: 202 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2384 + hash: "1f19e7d2c7494f5b603dee16e211d65d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 196 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 193 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2400 + hash: "64fd22407c77fac28d13035ce78c67b2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 186 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 266; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2416 + hash: "f05a0f956b4964d4ebff056b63252297" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 265; y: 173 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 264; y: 167 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2432 + hash: "3de1e9a2b33e37b0fe3b799b68ec22d6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 263; y: 164 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 263; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2448 + hash: "71f115c60d4f20422e4ac3f319644c48" + } + Frame { + msec: 2464 + hash: "c3995ac89f0a4b3fb07401479538d338" + } + Frame { + msec: 2480 + hash: "950e83408adf55f4e7fc1c0c127caa89" + } + Frame { + msec: 2496 + hash: "5b335621a76a527d058708384c2e5635" + } + Frame { + msec: 2512 + hash: "a201ae31d5bb778bd44a49dd21951c1b" + } + Frame { + msec: 2528 + hash: "550e6708a8999d56d1f57c121228692f" + } + Frame { + msec: 2544 + hash: "d8eb4dd2b3cf50273cb7dfbb5bd658b9" + } + Frame { + msec: 2560 + hash: "aa1fd0a990e42175acc84de96b384e9d" + } + Frame { + msec: 2576 + hash: "0236fb15db30da5ec794444affee1169" + } + Frame { + msec: 2592 + hash: "a7445a70874a9767462e79e1dff88dbc" + } + Frame { + msec: 2608 + hash: "339ea6bd5b486ff85272e19e07669f0b" + } + Frame { + msec: 2624 + hash: "2b24d9d17c77cd0ac52989328dcf499b" + } + Frame { + msec: 2640 + hash: "2b24d9d17c77cd0ac52989328dcf499b" + } + Frame { + msec: 2656 + hash: "e2fcfe4f3e14e46404eb6955502180a1" + } + Frame { + msec: 2672 + hash: "5d0c9601b871690047f4df91723ccfb1" + } + Frame { + msec: 2688 + hash: "5d0c9601b871690047f4df91723ccfb1" + } + Frame { + msec: 2704 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2720 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2736 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2752 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2768 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2784 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2800 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2816 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2832 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2848 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2864 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2880 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2896 + image: "flickable-nested.3.png" + } + Frame { + msec: 2912 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2928 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2944 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Frame { + msec: 2960 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 268; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2992 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 269; y: 108 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3008 + hash: "5b5d7e880e9f4942f52a3cde738dc7fb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 270; y: 111 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 270; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3024 + hash: "2b24d9d17c77cd0ac52989328dcf499b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 272; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3040 + hash: "550e6708a8999d56d1f57c121228692f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 273; y: 130 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 274; y: 138 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3056 + hash: "57f3c0a49cef2137e3cfa435396c099e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 274; y: 142 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 274; y: 149 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3072 + hash: "0fffc659a270cc614d16ddf3fa2ab51d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 274; y: 153 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 274; y: 161 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3088 + hash: "a8d937c8379950299a6e3611ff313415" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 273; y: 165 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 272; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3104 + hash: "46cfebbf821a08aa30055bfa8fffd137" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 175 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 270; y: 180 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 270; y: 180 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3120 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3136 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3152 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3168 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3184 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3200 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3216 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3232 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3248 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3264 + hash: "20a32ee8ae2cf88a2cfdb2dd8552255a" + } + Frame { + msec: 3280 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3296 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3312 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3328 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3344 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3360 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3376 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3392 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3408 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3424 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3440 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3456 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3472 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3488 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3504 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3520 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3536 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3552 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3568 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 3584 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 352; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3600 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 205 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 204 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3616 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 201 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 196 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3632 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 193 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 185 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3648 + hash: "eb718f97648438dae1440e2089434b0a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 176 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 352; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3664 + hash: "e4a2b82752939f351ac46032f2d3333e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 353; y: 163 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 354; y: 158 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3680 + hash: "ab1099a146433a5ec77b336673d0527c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 356; y: 148 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 356; y: 142 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3696 + hash: "7e4ca5ba45d5de10d72ef5ab1171ead5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 357; y: 130 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 357; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "417bb78fc4f255194a71193e388b752f" + } + Frame { + msec: 3728 + hash: "be63b1e57006d881a345db3ca66e7097" + } + Frame { + msec: 3744 + hash: "e1b96137c2cc0ef18e224a32f665de9d" + } + Frame { + msec: 3760 + hash: "6157ba3962fc7829e8693e2456fd6e8e" + } + Frame { + msec: 3776 + hash: "951ae231b7b18517f8d6504ce7f01b3d" + } + Frame { + msec: 3792 + hash: "57f60f9da1a204cc7eb930575de45ae4" + } + Frame { + msec: 3808 + hash: "008323603b48a55b589af7cbb2f1c8b0" + } + Frame { + msec: 3824 + hash: "b8447e994280cba5ccddc36e7ad3c927" + } + Frame { + msec: 3840 + hash: "98dfc2d6573e5cb7a56a893b8fecf422" + } + Frame { + msec: 3856 + image: "flickable-nested.4.png" + } + Frame { + msec: 3872 + hash: "09dabc3ef85dc857719e7d20111e6023" + } + Frame { + msec: 3888 + hash: "5864c4197fe3269c3f1ad05caf25832e" + } + Frame { + msec: 3904 + hash: "370a471a614d22d281d9987a5b6a42bf" + } + Frame { + msec: 3920 + hash: "36c74e2e325807c7c06e941581613f48" + } + Frame { + msec: 3936 + hash: "e1e2b69992294dc611e6eef7e259d4cd" + } + Frame { + msec: 3952 + hash: "e1e2b69992294dc611e6eef7e259d4cd" + } + Frame { + msec: 3968 + hash: "e1e2b69992294dc611e6eef7e259d4cd" + } + Frame { + msec: 3984 + hash: "36c74e2e325807c7c06e941581613f48" + } + Frame { + msec: 4000 + hash: "36c74e2e325807c7c06e941581613f48" + } + Frame { + msec: 4016 + hash: "bd8f39423d96fceaf577c7f792b61211" + } + Frame { + msec: 4032 + hash: "370a471a614d22d281d9987a5b6a42bf" + } + Frame { + msec: 4048 + hash: "c8fe4424d96460a2503632e3a54d4f6a" + } + Frame { + msec: 4064 + hash: "09dabc3ef85dc857719e7d20111e6023" + } + Frame { + msec: 4080 + hash: "22bff1406eba529d58320b8b19be76d9" + } + Frame { + msec: 4096 + hash: "478bc04322b93b75b5185d047c2898b7" + } + Frame { + msec: 4112 + hash: "98dfc2d6573e5cb7a56a893b8fecf422" + } + Frame { + msec: 4128 + hash: "03b96d3e148e86f1150b09696012d07c" + } + Frame { + msec: 4144 + hash: "735b24d2811beef969477c8b0f400d32" + } + Frame { + msec: 4160 + hash: "b8399d2a7a6de0b5f81e68e8f8825622" + } + Frame { + msec: 4176 + hash: "766a97e0881b623a0de93babfa841125" + } + Frame { + msec: 4192 + hash: "008323603b48a55b589af7cbb2f1c8b0" + } + Frame { + msec: 4208 + hash: "3da913235e4916b4691e3d089dc7b52f" + } + Frame { + msec: 4224 + hash: "3da913235e4916b4691e3d089dc7b52f" + } + Frame { + msec: 4240 + hash: "8c7f6ff7b3db65d7dd9ac4d18545f0d1" + } + Frame { + msec: 4256 + hash: "8c7f6ff7b3db65d7dd9ac4d18545f0d1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 346; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4272 + hash: "8c7f6ff7b3db65d7dd9ac4d18545f0d1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 346; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 346; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4288 + hash: "951ae231b7b18517f8d6504ce7f01b3d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 348; y: 110 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 348; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4304 + hash: "364283bbbcedabc87689ec174ae29818" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 351; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 353; y: 129 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4320 + hash: "6a8a59ba8cf0539704fc035d7d5def41" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 358; y: 141 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 361; y: 145 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4336 + hash: "d4626b39fbf24cc6a4e23ef33a570add" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 370; y: 163 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4352 + hash: "255604ac684a18e272dccfa9a81fa1bb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 376; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4368 + hash: "2696641e48ea2a0ccfc65057b283814f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 377; y: 175 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 377; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4384 + hash: "4ae011d8d81c57f9e2495d32a90fb5c0" + } + Frame { + msec: 4400 + hash: "c07f57059244b1164e698430b20aac8e" + } + Frame { + msec: 4416 + hash: "d39c21bc6fc079c76ea78d1a3fb0c974" + } + Frame { + msec: 4432 + hash: "f955985ee02fcb810ab8c5f4790f5c12" + } + Frame { + msec: 4448 + hash: "d06b83769bf0f0331e53c270f5dc294c" + } + Frame { + msec: 4464 + hash: "a49ef3866e3f71c26c57fcd616a6dc4c" + } + Frame { + msec: 4480 + hash: "086f4bb966b2076f51b1f615368afda5" + } + Frame { + msec: 4496 + hash: "898de0b200cb83c9724869dd2b74ed52" + } + Frame { + msec: 4512 + hash: "47833f93c5c55f57de5733950ba53714" + } + Frame { + msec: 4528 + hash: "0ced71db7e8c5b8ce8e195a7b821507d" + } + Frame { + msec: 4544 + hash: "84888b8748e297ed4e0525019865ea2b" + } + Frame { + msec: 4560 + hash: "0f62d1aaa0fec0dd90351258a3745869" + } + Frame { + msec: 4576 + hash: "e34a874942161ea830907f94040fc0a5" + } + Frame { + msec: 4592 + hash: "9031e4ad8ee57a8b826d6a6394f0feb9" + } + Frame { + msec: 4608 + hash: "9031e4ad8ee57a8b826d6a6394f0feb9" + } + Frame { + msec: 4624 + hash: "cc8a2477368001015b68c99db95ebaa1" + } + Frame { + msec: 4640 + hash: "01c0f4d5b155eb16ac364b24d5085bac" + } + Frame { + msec: 4656 + hash: "4c4f318b03e0da461bcecb61f43ef3cd" + } + Frame { + msec: 4672 + hash: "dffd22d719f18c943cd0c30afe272434" + } + Frame { + msec: 4688 + hash: "4f7ab0450512ae1319dad22a6e0400b7" + } + Frame { + msec: 4704 + hash: "ea29e23bdb49a30694640dfb078c796a" + } + Frame { + msec: 4720 + hash: "80739ed287906d0b55297be4b74a54cb" + } + Frame { + msec: 4736 + hash: "8d9117cf841c4b158f30b79ac8f2afb0" + } + Frame { + msec: 4752 + hash: "1850e9117160b2bd1865274092f9ec84" + } + Frame { + msec: 4768 + hash: "07945c8954860895f95f8e352c49e0a5" + } + Frame { + msec: 4784 + hash: "d0fa6087d2859446ff8f317c9d7dafe1" + } + Frame { + msec: 4800 + hash: "8ebba2084793d90a640ec2fb12dc0547" + } + Frame { + msec: 4816 + image: "flickable-nested.5.png" + } + Frame { + msec: 4832 + hash: "77d479675c36ecda0926061449f5a60b" + } + Frame { + msec: 4848 + hash: "77d479675c36ecda0926061449f5a60b" + } + Frame { + msec: 4864 + hash: "b968c1528ce7ecf80008fbd56f0ca9a9" + } + Frame { + msec: 4880 + hash: "b968c1528ce7ecf80008fbd56f0ca9a9" + } + Frame { + msec: 4896 + hash: "b968c1528ce7ecf80008fbd56f0ca9a9" + } + Frame { + msec: 4912 + hash: "b968c1528ce7ecf80008fbd56f0ca9a9" + } + Frame { + msec: 4928 + hash: "b968c1528ce7ecf80008fbd56f0ca9a9" + } + Frame { + msec: 4944 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 4960 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 4976 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 4992 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5008 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5024 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5040 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5056 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5072 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5088 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5104 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5120 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5136 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5152 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5168 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5184 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5200 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5216 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5232 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5248 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5264 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5280 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5296 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5312 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5328 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5344 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5360 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5376 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5392 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5408 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5424 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5440 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5456 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5472 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5488 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5504 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5520 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5536 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5552 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5568 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5584 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5600 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5616 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5632 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5648 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5664 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5680 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } + Frame { + msec: 5696 + hash: "38f29e86bd9bfe4df04c6411374f76ae" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png Binary files differindex 2af1a3e..5af9306 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png Binary files differindex 8334a3f..61acc87 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png Binary files differindex c705849..bc6ac34 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png Binary files differindex c705849..bc6ac34 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png Binary files differindex 349dca2..c970488 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png Binary files differindex a0e84e3..0af1424 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png Binary files differindex e5c1583..c826907 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png Binary files differindex 2af1a3e..5af9306 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png Binary files differindex 06468e4..f714fa5 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml index 920a48f..8ad3029 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml @@ -10,71 +10,71 @@ VisualTest { } Frame { msec: 32 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 48 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 64 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 80 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 96 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 112 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 128 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 144 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 160 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 176 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 192 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 208 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 224 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 240 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 256 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 272 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 288 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 2 @@ -86,7 +86,7 @@ VisualTest { } Frame { msec: 304 - hash: "3d1b648229210ae5b57a0be51cc02f67" + hash: "71a0273e7582419e07937fe701d8e027" } Mouse { type: 5 @@ -98,7 +98,7 @@ VisualTest { } Frame { msec: 320 - hash: "3d1b648229210ae5b57a0be51cc02f67" + hash: "71a0273e7582419e07937fe701d8e027" } Mouse { type: 5 @@ -118,7 +118,7 @@ VisualTest { } Frame { msec: 336 - hash: "3d1b648229210ae5b57a0be51cc02f67" + hash: "71a0273e7582419e07937fe701d8e027" } Mouse { type: 5 @@ -138,7 +138,7 @@ VisualTest { } Frame { msec: 352 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -158,7 +158,7 @@ VisualTest { } Frame { msec: 368 - hash: "57fa1d842d37df12004b493c1c5761f3" + hash: "a8d53f622836800e43157685ce21fad4" } Mouse { type: 5 @@ -178,7 +178,7 @@ VisualTest { } Frame { msec: 384 - hash: "521a8188877551a97cd3ea82d209e8ae" + hash: "99c8215fbd87e45836908a85748dccc7" } Mouse { type: 5 @@ -198,7 +198,7 @@ VisualTest { } Frame { msec: 400 - hash: "ce126aaade1532e22a35416fd7203dde" + hash: "d56ff1a2994f1acb5ad06b0468672a29" } Mouse { type: 5 @@ -218,119 +218,119 @@ VisualTest { } Frame { msec: 416 - hash: "aa9c4301332240ccc00ec99a05b7f9c9" + hash: "85ba01e36cc978459451887facbc3260" } Frame { msec: 432 - hash: "db0a670d61133a3420a3581ecb532773" + hash: "958d223a6b27ecc87febd860168d5aa5" } Frame { msec: 448 - hash: "b34de164d5ec0294ca27281e1e5e3cd6" + hash: "851ef5f56b7b05d3feb0a1a357f96007" } Frame { msec: 464 - hash: "8636af4591c61c4b4a548f3a38749413" + hash: "4d90460d3b6c46075ffda426bc6ceaa6" } Frame { msec: 480 - hash: "eee4fa336149528dfb16565b856ca692" + hash: "bb67acd602414cf59e27b5ff19f69169" } Frame { msec: 496 - hash: "85eeaeaf359ed87417be68dc18c06d0c" + hash: "acce28653f8bf46c09067254774fb126" } Frame { msec: 512 - hash: "d5db4af6cf35c61146bd24646d82ab83" + hash: "91ea2538dfe0f9af7b4732cb4474215b" } Frame { msec: 528 - hash: "2189fc03c337fe41f3d9f51929c9860f" + hash: "e7fd52f25a4a9c31a2f2fabd59c31160" } Frame { msec: 544 - hash: "4e3e283fb402dc4ec79f65878a513747" + hash: "6acdb4852ef9091382030998e28d02a5" } Frame { msec: 560 - hash: "62f4281d8e049bc12b636b7ebe3862df" + hash: "10c7eaab96a538a7111b054a403132a3" } Frame { msec: 576 - hash: "cf9a0a968459a1283fff91102eb29ba3" + hash: "4ebb31f7945bb5542f9e5146888b1065" } Frame { msec: 592 - hash: "c432221928096cff3b76c8034db26b43" + hash: "b98d594580ad701afb4d2ef186853bc4" } Frame { msec: 608 - hash: "3df59808e56955c3c161609b72d93c7f" + hash: "2700eb44f9b7400f3c1bd11d878e078d" } Frame { msec: 624 - hash: "c497bcbe500905b8a69fd310fd7c7e1a" + hash: "b8a8c4db8325b3e0292e6473084347d9" } Frame { msec: 640 - hash: "7dceef52fab6dc38d140e3097e39a271" + hash: "88ff05697e82e78847794b153be12c46" } Frame { msec: 656 - hash: "c7bbd81b452db98fb8fd892762a23df6" + hash: "06970943c3cd12f07b1d661de0ab730f" } Frame { msec: 672 - hash: "17efc9793ef2966722544d561312b17a" + hash: "5804b412094ab17424de4ba12b2e2e32" } Frame { msec: 688 - hash: "1bf05b272ad6b8e5d134c94d9ba62030" + hash: "8ff038b364f065e67430b2a312a10101" } Frame { msec: 704 - hash: "cad61ba68fdfb26cfb136f22a2f8cc0c" + hash: "8a9a1c725b80af8fd3ffb9d8bc7328ac" } Frame { msec: 720 - hash: "0ce5ff1a1d9a6193ef763affa39cb790" + hash: "83c3481ec7a1dddcbc36d6fb9b7d6149" } Frame { msec: 736 - hash: "880bce9130454aaf1261842b8f9b9a57" + hash: "abf102e5d88bef8ed429c222284907da" } Frame { msec: 752 - hash: "ab78cadac88156d9755d8b70d26384e8" + hash: "e9bcb3268f705e708ffbcf707c78c889" } Frame { msec: 768 - hash: "4a22e502c105a7df0845ca75cbdfb0ec" + hash: "918c60c1ed90f5803d24ea515f21f8fa" } Frame { msec: 784 - hash: "d6209a0b9b9e0f2072179a4623c70fbd" + hash: "f3064485083025aba09224faafcede14" } Frame { msec: 800 - hash: "85e85567831cf57df1f013f5bf3beb86" + hash: "9f36e5b91e6abc9f991625cc52afdd4e" } Frame { msec: 816 - hash: "602d2e02029178faeb99748e2f70827e" + hash: "70a50039fbd67d4b56c0c7ec3d7aecd1" } Frame { msec: 832 - hash: "fd4dbb6f47f6681af98eb6781ae7de58" + hash: "90bbef58e2e59021f68b878db477f74b" } Frame { msec: 848 - hash: "faf3be40e402768724703f5d0051249f" + hash: "21480d7b949acba033f4686c666d3f85" } Frame { msec: 864 - hash: "bc650ca5b7a3bdc1f0f051b9481faf29" + hash: "b622d2cea2428fb92a8e37715a60f195" } Mouse { type: 2 @@ -342,7 +342,7 @@ VisualTest { } Frame { msec: 880 - hash: "bc650ca5b7a3bdc1f0f051b9481faf29" + hash: "b622d2cea2428fb92a8e37715a60f195" } Mouse { type: 5 @@ -362,7 +362,7 @@ VisualTest { } Frame { msec: 896 - hash: "bc650ca5b7a3bdc1f0f051b9481faf29" + hash: "b622d2cea2428fb92a8e37715a60f195" } Mouse { type: 5 @@ -382,7 +382,7 @@ VisualTest { } Frame { msec: 912 - hash: "f2a679f2b7585245d4f1896fed4e0d1e" + hash: "8b537cd0481c1a9bf84f4855ae5697ad" } Mouse { type: 5 @@ -402,7 +402,7 @@ VisualTest { } Frame { msec: 928 - hash: "721b5fa42f583c1e1e1a751fc8aad270" + hash: "f5aba503b2c155401d26be068724e28a" } Mouse { type: 5 @@ -422,7 +422,7 @@ VisualTest { } Frame { msec: 944 - hash: "7e3ddefca9a99d6b9103ffd4524bc593" + hash: "1aca5a9415dd669a0ff76ef4da9c9a56" } Mouse { type: 5 @@ -442,7 +442,7 @@ VisualTest { } Frame { msec: 960 - hash: "7858d23cb4c206676eca51c1c09802b5" + hash: "b046e18396cd3d2da6505fa783bd2b89" } Mouse { type: 5 @@ -474,171 +474,171 @@ VisualTest { } Frame { msec: 992 - hash: "e723da5ecaffe31f03b1d5ca6765229b" + hash: "c4506098417f905871a43d183cd5904d" } Frame { msec: 1008 - hash: "73d169bf6bdfce801b824b7b560c3fad" + hash: "fe8014819e6fe41fa109f5b0ff2e9764" } Frame { msec: 1024 - hash: "4e3e283fb402dc4ec79f65878a513747" + hash: "6acdb4852ef9091382030998e28d02a5" } Frame { msec: 1040 - hash: "38c2e2835c20dbee55c69d0211a0be2d" + hash: "d5a9739669a9a641c0c1f44b777cb9b8" } Frame { msec: 1056 - hash: "84e668ba374ff0004dd7222933a635cf" + hash: "a4006cb90c69313b9b04a6b7b8734855" } Frame { msec: 1072 - hash: "349c7a84ff8f9b52d39dba1282353167" + hash: "23b447e486a6354354505171cf3c45ec" } Frame { msec: 1088 - hash: "b63218110c65b6d7b4bc2d63155204cd" + hash: "ad172b89d9764bd568d9127c91547c0b" } Frame { msec: 1104 - hash: "aad65a7070aa668dd8ce4a3cc0f0f117" + hash: "0003fb6329e0bf293d56af63265bf0ca" } Frame { msec: 1120 - hash: "c4ae97e1d1f2efbc998f9b57c2373201" + hash: "dd62960e62800219c179fcd481e4504d" } Frame { msec: 1136 - hash: "94701ffaa4f45924ad89f92a30157c7d" + hash: "7fe6c7bd1bc9e46d3e520178a2309e87" } Frame { msec: 1152 - hash: "eee4fa336149528dfb16565b856ca692" + hash: "bb67acd602414cf59e27b5ff19f69169" } Frame { msec: 1168 - hash: "ff1a053c0af99c51353503002515843d" + hash: "3170c18b8dd74429b0f366ec07f4870b" } Frame { msec: 1184 - hash: "118494c60034b0e265e28b34e3128d00" + hash: "249e4e489236e3f0748ba63c7a105b33" } Frame { msec: 1200 - hash: "bf693bffb37d7554a437eca21bdec7c1" + hash: "bd2fb97c583e6fe653a32fa610d6ac83" } Frame { msec: 1216 - hash: "880f60263cd79fb6a1bff7252d2373bb" + hash: "95ca2f988370075070c6a98e5e680206" } Frame { msec: 1232 - hash: "b34de164d5ec0294ca27281e1e5e3cd6" + hash: "851ef5f56b7b05d3feb0a1a357f96007" } Frame { msec: 1248 - hash: "e1609c4e40fb9e043a9fff683b94c6c4" + hash: "80f599f50af9e601536f62ea93f4e429" } Frame { msec: 1264 - hash: "2450b61b84c24727232c779114e6a474" + hash: "485d719d81429e63be4de1ba81d53996" } Frame { msec: 1280 - hash: "cf5ac4a5e3d42b3d4e171ed3227cfa85" + hash: "745f3c2e0baede59a52805eddac5b01f" } Frame { msec: 1296 - hash: "5cb5576ab347647ca881d4d450732df3" + hash: "fea3fa6e26eb150ab37fe96a34d3be3b" } Frame { msec: 1312 - hash: "34dc672ebfd75ec017d0c2f0bd435cd8" + hash: "29c8004517294539adf3243533381436" } Frame { msec: 1328 - hash: "aa9c4301332240ccc00ec99a05b7f9c9" + hash: "85ba01e36cc978459451887facbc3260" } Frame { msec: 1344 - hash: "3f98121997a1613bd49d22003d1a1887" + hash: "deedb9ddcc2f5354a2356178db54d971" } Frame { msec: 1360 - hash: "86732d3e900877ae7a8615b7448afaaa" + hash: "9e1fb461c13b4affa39e5909d3ade168" } Frame { msec: 1376 - hash: "7e2f2786d3c0540a0b6559fffe06ad3c" + hash: "684a543d7afc5a5cac2bb823bbb94893" } Frame { msec: 1392 - hash: "79e00bbe77f0a178e8db30023a881c3f" + hash: "636f04661a0418c1fdcaaaba28092671" } Frame { msec: 1408 - hash: "5f611226b3aa38f9aa3cd6a2dbd01f12" + hash: "89cac82b6751208654d1e4ef4df8ef28" } Frame { msec: 1424 - hash: "4f4cd776b76272cfe79b86a108bd6b6e" + hash: "a974415dcf31bee79874c4a6e84cf796" } Frame { msec: 1440 - hash: "a746404a1a26e2a25b8d364dbef46eef" + hash: "f74c075e8cf2aef501b7115427b3b221" } Frame { msec: 1456 - hash: "9124d97d120de1806d86c8f437ec4ed2" + hash: "7efcd27e34db1d3adc3d31e0b9ebe432" } Frame { msec: 1472 - hash: "4fda328eafe6ec2d02d939517d6d82e3" + hash: "c8747327ae3370b04a996aa6b5e373c6" } Frame { msec: 1488 - hash: "6afb6abe291c9e9628fd0b8c3da5d9db" + hash: "b7b32b5e782f8f5b1cbd6f581f90004a" } Frame { msec: 1504 - hash: "cb5962fe94c5d3ef754ff45f905a5c88" + hash: "5fda56f77948e183557ff54690030746" } Frame { msec: 1520 - hash: "57b5fc47ed700831b3dc3f2afbb1c3ed" + hash: "6e43987a8db7a6231887cf5883d381bf" } Frame { msec: 1536 - hash: "38793fb8a19c9566c8dd9d23c9a15b5d" + hash: "901e1f9851d05ff300fa2d52a38829ec" } Frame { msec: 1552 - hash: "2e311a5dc484e9f4bc7bd85d32a693b1" + hash: "abda2edf3c9f1aa28f41bf28083d081f" } Frame { msec: 1568 - hash: "69d1eed68fba918e831899c8b84374a1" + hash: "5e324e90e4056f59730db9fbc941609a" } Frame { msec: 1584 - hash: "c872391012e6ab2a6d1eb98c7f47f9e8" + hash: "d98ec6ad7e6f2df6796f975cdf06ea2c" } Frame { msec: 1600 - hash: "cf12f90835d823550cd83d472b4f022f" + hash: "fa62c8154b5aba9fa6daa0a50229e752" } Frame { msec: 1616 - hash: "fbb2f03ddbd87ed419386eb2942bccac" + hash: "c03b7e52c7da4f1cb6a4a2cab119a1a1" } Frame { msec: 1632 - hash: "0788a0fdb51cedba0f8b597a4cc38ebe" + hash: "57c1149d35ed84de63bac7accdb30c77" } Frame { msec: 1648 - hash: "b6595edf06fba22f3258c9b433af6ab8" + hash: "48823d7e5b72ff6e11bbe877962c9884" } Mouse { type: 2 @@ -650,19 +650,19 @@ VisualTest { } Frame { msec: 1664 - hash: "521a8188877551a97cd3ea82d209e8ae" + hash: "99c8215fbd87e45836908a85748dccc7" } Frame { msec: 1680 - hash: "4d923cd520c00f5cd985283d62cf17ec" + hash: "45e2cf43322f038d2b322dea82e829f1" } Frame { msec: 1696 - hash: "7ccff14d344c7090fa634f6defd6511e" + hash: "6473a0dc426bf118674d09b281fb6c38" } Frame { msec: 1712 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 3 @@ -674,55 +674,55 @@ VisualTest { } Frame { msec: 1728 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1744 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1760 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1776 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1792 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1808 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1824 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1840 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1856 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1872 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1888 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1904 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1920 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1936 @@ -730,39 +730,39 @@ VisualTest { } Frame { msec: 1952 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1968 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 1984 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2000 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2016 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2032 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2048 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2064 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2080 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 2 @@ -782,7 +782,7 @@ VisualTest { } Frame { msec: 2096 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -802,7 +802,7 @@ VisualTest { } Frame { msec: 2112 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -822,7 +822,7 @@ VisualTest { } Frame { msec: 2128 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -842,7 +842,7 @@ VisualTest { } Frame { msec: 2144 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -862,7 +862,7 @@ VisualTest { } Frame { msec: 2160 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -882,7 +882,7 @@ VisualTest { } Frame { msec: 2176 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -902,7 +902,7 @@ VisualTest { } Frame { msec: 2192 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -922,7 +922,7 @@ VisualTest { } Frame { msec: 2208 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -942,7 +942,7 @@ VisualTest { } Frame { msec: 2224 - hash: "888c68103c4eef2f65ef32a93be8286a" + hash: "5f6ed58401fddd692503810f22b23e93" } Mouse { type: 5 @@ -970,79 +970,79 @@ VisualTest { } Frame { msec: 2240 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2256 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2272 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2288 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2304 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2320 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2336 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2352 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2368 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2384 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2400 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2416 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2432 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2448 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2464 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2480 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2496 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2512 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2528 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 2 @@ -1054,7 +1054,7 @@ VisualTest { } Frame { msec: 2544 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1066,7 +1066,7 @@ VisualTest { } Frame { msec: 2560 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1086,7 +1086,7 @@ VisualTest { } Frame { msec: 2576 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1106,7 +1106,7 @@ VisualTest { } Frame { msec: 2592 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1126,7 +1126,7 @@ VisualTest { } Frame { msec: 2608 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1146,7 +1146,7 @@ VisualTest { } Frame { msec: 2624 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1166,7 +1166,7 @@ VisualTest { } Frame { msec: 2640 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1186,7 +1186,7 @@ VisualTest { } Frame { msec: 2656 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1206,7 +1206,7 @@ VisualTest { } Frame { msec: 2672 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1226,7 +1226,7 @@ VisualTest { } Frame { msec: 2688 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1246,7 +1246,7 @@ VisualTest { } Frame { msec: 2704 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1266,7 +1266,7 @@ VisualTest { } Frame { msec: 2720 - hash: "0d3bac7463b5fe7f585997e35f179122" + hash: "defd2e26ba579dffd2273bcc86c54a94" } Mouse { type: 5 @@ -1286,43 +1286,43 @@ VisualTest { } Frame { msec: 2736 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2752 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2768 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2784 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2800 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2816 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2832 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2848 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2864 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2880 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2896 @@ -1330,63 +1330,63 @@ VisualTest { } Frame { msec: 2912 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2928 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2944 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2960 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2976 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 2992 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3008 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3024 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3040 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3056 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3072 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3088 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3104 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3120 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3136 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 2 @@ -1398,23 +1398,23 @@ VisualTest { } Frame { msec: 3152 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3168 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3184 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3200 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3216 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 3 @@ -1426,67 +1426,67 @@ VisualTest { } Frame { msec: 3232 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3248 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3264 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3280 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3296 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3312 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3328 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3344 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3360 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3376 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3392 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3408 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3424 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3440 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3456 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3472 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 2 @@ -1498,19 +1498,19 @@ VisualTest { } Frame { msec: 3488 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3504 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3520 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3536 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 3 @@ -1522,55 +1522,55 @@ VisualTest { } Frame { msec: 3552 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3568 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3584 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3600 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3616 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3632 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3648 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3664 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3680 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3696 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3712 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3728 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Frame { msec: 3744 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 2 @@ -1582,7 +1582,7 @@ VisualTest { } Frame { msec: 3760 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 5 @@ -1602,7 +1602,7 @@ VisualTest { } Frame { msec: 3776 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 5 @@ -1622,7 +1622,7 @@ VisualTest { } Frame { msec: 3792 - hash: "998cb23307a61afefb59c8b9e361a89f" + hash: "8caa38000edef97a8276022b5da19ecc" } Mouse { type: 5 @@ -1642,7 +1642,7 @@ VisualTest { } Frame { msec: 3808 - hash: "2e311a5dc484e9f4bc7bd85d32a693b1" + hash: "abda2edf3c9f1aa28f41bf28083d081f" } Mouse { type: 5 @@ -1662,7 +1662,7 @@ VisualTest { } Frame { msec: 3824 - hash: "cbfcb7b986b0c51828473d98ca9fee03" + hash: "1a0305de0a8156f3f059d74891b71846" } Mouse { type: 5 @@ -1682,7 +1682,7 @@ VisualTest { } Frame { msec: 3840 - hash: "389b514c4cd4a4d65388608643d08c04" + hash: "04c2fbbb1df6ca9d03c105fcfa5c0770" } Mouse { type: 5 @@ -1722,7 +1722,7 @@ VisualTest { } Frame { msec: 3872 - hash: "cf9a0a968459a1283fff91102eb29ba3" + hash: "4ebb31f7945bb5542f9e5146888b1065" } Mouse { type: 5 @@ -1742,139 +1742,139 @@ VisualTest { } Frame { msec: 3888 - hash: "77c86fb26126825cfd5b6ba21b903808" + hash: "2a731429c6d5c4ee1f1fa8f3ca07f0c2" } Frame { msec: 3904 - hash: "c497bcbe500905b8a69fd310fd7c7e1a" + hash: "b8a8c4db8325b3e0292e6473084347d9" } Frame { msec: 3920 - hash: "95bffb4d4aff1603e96af55cbc2dc3f2" + hash: "fae53bd8bc9d05f343968c7006723207" } Frame { msec: 3936 - hash: "6fa87a7136528b688069fe1c4bd94043" + hash: "fe2fc28a79609af32ea1043f3c988b08" } Frame { msec: 3952 - hash: "602c16e1382d810f853d647e531b4e8a" + hash: "18f77a48b14347b2ab41eb39c9de3be4" } Frame { msec: 3968 - hash: "01d1227e4f5b95f8b0c6a57a4b2314c4" + hash: "93e83c35d34715ee703a0d79d51bc145" } Frame { msec: 3984 - hash: "1db6401af45574b7453ad57766e60e6f" + hash: "4ae9d80d6079b92be66fcc099209d779" } Frame { msec: 4000 - hash: "067a1bef3df5d1c40842f28885d60250" + hash: "bd8c0a924552cb4dfc5ddc1451931b01" } Frame { msec: 4016 - hash: "5fba31051e05ec00c0d68b8e8af94132" + hash: "6a1874cdac6f754b36f022c583834d32" } Frame { msec: 4032 - hash: "d6209a0b9b9e0f2072179a4623c70fbd" + hash: "f3064485083025aba09224faafcede14" } Frame { msec: 4048 - hash: "ec30f07ab0056a45954c07ecdfa1401a" + hash: "8e82568ac62969dfedbf1c2082101661" } Frame { msec: 4064 - hash: "fef6c7767970a283bb3b13826f71bdac" + hash: "4e447efea0dd139787c7aa9018327206" } Frame { msec: 4080 - hash: "29621938e96be0d11c95fd1e4ca37631" + hash: "ed23778ce6843053cd4af6df7262bdd0" } Frame { msec: 4096 - hash: "8103c96ac90ddf52056d7e8b32e4ae9e" + hash: "fe1118cc51b4cd25d775b5d1c1d66540" } Frame { msec: 4112 - hash: "d72bf8b88efe603050ad038380173969" + hash: "02a59ccc15df26abe5612f13ce926286" } Frame { msec: 4128 - hash: "4438b56eb6aa800602634db6016caa50" + hash: "71c43a208e3dfbce6cb461f8ff0d2f17" } Frame { msec: 4144 - hash: "44674f7a874023c3932d698344ccda0e" + hash: "404b8155f17dff084c2da1407d6915a9" } Frame { msec: 4160 - hash: "155a834ddaa7128b6f5a2a406b340315" + hash: "ab0dba54c469dea461cd1619161edd82" } Frame { msec: 4176 - hash: "3886efa510581ee5b6c4a2ed76aeb42d" + hash: "e6f158712a7afe1844acc1a1cd9385ec" } Frame { msec: 4192 - hash: "094954e8d10b85d3941626dec4fb36af" + hash: "b9d8fcc3d68ebc6d4d4f60e4652befe3" } Frame { msec: 4208 - hash: "b597aeb20a8630e4b1dfd0a7be383e4d" + hash: "9005a49b3ac2ef2344d78ef68595ea26" } Frame { msec: 4224 - hash: "abc58e74ab197a2d7c243ddd67442e53" + hash: "aad3dd90f766320ad68b62b97559ec02" } Frame { msec: 4240 - hash: "b6ec106d39af13492c3d43bf006b7b15" + hash: "a39008d78d188e8bd3571f80f679a915" } Frame { msec: 4256 - hash: "d80211f898473a01e0c0641b96bc92f4" + hash: "cedc580acc63d6a069442bb83f17b6f8" } Frame { msec: 4272 - hash: "5010579fcd925e65c778c2e9cf0317de" + hash: "f63f5d20e3b5a4b6247339d0ec518449" } Frame { msec: 4288 - hash: "5010579fcd925e65c778c2e9cf0317de" + hash: "f63f5d20e3b5a4b6247339d0ec518449" } Frame { msec: 4304 - hash: "d80211f898473a01e0c0641b96bc92f4" + hash: "cedc580acc63d6a069442bb83f17b6f8" } Frame { msec: 4320 - hash: "27cfc811f62029df48ea7f371ff5654b" + hash: "bccf94c11e92af36f418dbee1b797a86" } Frame { msec: 4336 - hash: "b6ec106d39af13492c3d43bf006b7b15" + hash: "a39008d78d188e8bd3571f80f679a915" } Frame { msec: 4352 - hash: "28c8e3f08f46bf13cc52a7d6a31a7cf1" + hash: "02d38396737a262fa983511a40514b38" } Frame { msec: 4368 - hash: "b597aeb20a8630e4b1dfd0a7be383e4d" + hash: "9005a49b3ac2ef2344d78ef68595ea26" } Frame { msec: 4384 - hash: "a3a3682ce0d2a2d57457458b13645afa" + hash: "c05dad606a9b5b501a201bfead974f03" } Frame { msec: 4400 - hash: "98bf25cbb8202fe1576ac15bac7b9e65" + hash: "27846f086c13e1b06e89a8a395802678" } Frame { msec: 4416 - hash: "16b99c9cf5297a5251869a3935084cf7" + hash: "f919b09b6f7f4f09b5d9b123b686a442" } Mouse { type: 2 @@ -1886,11 +1886,11 @@ VisualTest { } Frame { msec: 4432 - hash: "16b99c9cf5297a5251869a3935084cf7" + hash: "f919b09b6f7f4f09b5d9b123b686a442" } Frame { msec: 4448 - hash: "16b99c9cf5297a5251869a3935084cf7" + hash: "f919b09b6f7f4f09b5d9b123b686a442" } Mouse { type: 5 @@ -1902,7 +1902,7 @@ VisualTest { } Frame { msec: 4464 - hash: "16b99c9cf5297a5251869a3935084cf7" + hash: "f919b09b6f7f4f09b5d9b123b686a442" } Mouse { type: 5 @@ -1922,7 +1922,7 @@ VisualTest { } Frame { msec: 4480 - hash: "16b99c9cf5297a5251869a3935084cf7" + hash: "ab0dba54c469dea461cd1619161edd82" } Mouse { type: 5 @@ -1942,7 +1942,7 @@ VisualTest { } Frame { msec: 4496 - hash: "abc58e74ab197a2d7c243ddd67442e53" + hash: "aad3dd90f766320ad68b62b97559ec02" } Mouse { type: 5 @@ -1962,7 +1962,7 @@ VisualTest { } Frame { msec: 4512 - hash: "e5c5b741da7c028ec77f52016675c1ca" + hash: "09e110197afc9350dbbaf3e19e24dbe8" } Mouse { type: 5 @@ -1982,7 +1982,7 @@ VisualTest { } Frame { msec: 4528 - hash: "12481bcccb524a478851a57d4db6cf8d" + hash: "c50fa7aa75b947d065109c97a0db4c02" } Mouse { type: 5 @@ -2002,7 +2002,7 @@ VisualTest { } Frame { msec: 4544 - hash: "a49985bd332cd3376986d379c474a3de" + hash: "e701f8ef23f576f10c286191ea4caaf1" } Mouse { type: 5 @@ -2030,51 +2030,51 @@ VisualTest { } Frame { msec: 4560 - hash: "cd4e55b15e9df7fee1862180fddec0ca" + hash: "c24daebe9c5ba9bd46ef674c49edd160" } Frame { msec: 4576 - hash: "64ff54775d198b616597f4539de90bd8" + hash: "fc762235395c772666d2529a5e9bff98" } Frame { msec: 4592 - hash: "2b188745bfff51f9d3af90b7ad9c8d77" + hash: "7f4f4420fde62e6126f0c3bf604425dc" } Frame { msec: 4608 - hash: "2dde7d565f92f22c6524448f97107e35" + hash: "0e9978b0f60cba7bf599571b97f2f751" } Frame { msec: 4624 - hash: "897a454ac464008d6dd7864eb608ae65" + hash: "ff19d1b0a0d7d0cc5dd8919606c17fc8" } Frame { msec: 4640 - hash: "269df4f1aca4f0cdbd5c86c2e115bd3c" + hash: "7c61e0a6c354b4f30db6c861b9250be2" } Frame { msec: 4656 - hash: "ec0ebdbd3f4665fba7f6a523a82a5071" + hash: "bd1196ce51f5abd53f6052f17d926a81" } Frame { msec: 4672 - hash: "c1ac6a385f580f23b3486c643d276e33" + hash: "ab2b1c33a5f60690fe2724a0ddd3bb67" } Frame { msec: 4688 - hash: "3de0d147a6a3c1382ec64a80996bb4f4" + hash: "0a0709d2649d649ab52eaddbe60c1dc9" } Frame { msec: 4704 - hash: "8db942b5909f63d4369ad5b29938ef49" + hash: "ef3b3099811cc2e26d823d94c5b66f1d" } Frame { msec: 4720 - hash: "f7840636f2d01c25be8e9c77230cca53" + hash: "522683305b2706b6e22d0e1770f285d6" } Frame { msec: 4736 - hash: "d315f82e175361fed83193ce550cb6e9" + hash: "c08d933b3dbda5fc476ed673cd7a2e4a" } Mouse { type: 2 @@ -2086,7 +2086,7 @@ VisualTest { } Frame { msec: 4752 - hash: "d315f82e175361fed83193ce550cb6e9" + hash: "c08d933b3dbda5fc476ed673cd7a2e4a" } Mouse { type: 5 @@ -2106,7 +2106,7 @@ VisualTest { } Frame { msec: 4768 - hash: "d315f82e175361fed83193ce550cb6e9" + hash: "ab0dba54c469dea461cd1619161edd82" } Mouse { type: 5 @@ -2126,7 +2126,7 @@ VisualTest { } Frame { msec: 4784 - hash: "00b072a0adbfcd520d495ef6540f5680" + hash: "d23653a4e1651babdbb3561fb7029df2" } Mouse { type: 5 @@ -2146,7 +2146,7 @@ VisualTest { } Frame { msec: 4800 - hash: "fb605e95988a6110384671e7f3f18ad8" + hash: "702d94cbca1ba235a5a2cc30c552d8b7" } Mouse { type: 5 @@ -2186,7 +2186,7 @@ VisualTest { } Frame { msec: 4832 - hash: "4d1eb644b592a693b13fe14377aeed97" + hash: "f53134176897d55299ab723ab20ba3fc" } Mouse { type: 5 @@ -2206,7 +2206,7 @@ VisualTest { } Frame { msec: 4848 - hash: "00eb1d3b016eb0220461074ce81b1aef" + hash: "84146c913b41215c4bab1f36471f2b7b" } Mouse { type: 5 @@ -2234,231 +2234,231 @@ VisualTest { } Frame { msec: 4864 - hash: "77c86fb26126825cfd5b6ba21b903808" + hash: "2a731429c6d5c4ee1f1fa8f3ca07f0c2" } Frame { msec: 4880 - hash: "e80f024bbdce0ceeae137e347abc95a4" + hash: "a1e960ffef391daecb52d31698c7b06c" } Frame { msec: 4896 - hash: "bb189f39a836b9a2aa68f4535ed1d6fb" + hash: "adca54c132f170c517f1ef17c45006c8" } Frame { msec: 4912 - hash: "cf9a0a968459a1283fff91102eb29ba3" + hash: "4ebb31f7945bb5542f9e5146888b1065" } Frame { msec: 4928 - hash: "27130e7f6b853a287a7bdd8608628a4f" + hash: "c43ebd04137e379216c94b4c57cab3d9" } Frame { msec: 4944 - hash: "231c7b7078af00a36cfee3d5e43a4021" + hash: "c0218c548f5e3eb74ef33cb2921dbc96" } Frame { msec: 4960 - hash: "d8ffc8cc9cecc25cb9b4e7990fb7b8e7" + hash: "e6a15947574c7ac8e5a2454a5f8b043d" } Frame { msec: 4976 - hash: "fb5db5dafdb375132f1f1a461193bc60" + hash: "ec9aca63b61a8c3beb4ad476d4e38568" } Frame { msec: 4992 - hash: "64100f9f102ffc9415e306c087547709" + hash: "28f0447e8107d7fac9ec29b83808d2cb" } Frame { msec: 5008 - hash: "6960e5c4feb55043ff91934fc934734e" + hash: "74e28cddf8dd7bd7593c7185e09ea752" } Frame { msec: 5024 - hash: "349c7a84ff8f9b52d39dba1282353167" + hash: "23b447e486a6354354505171cf3c45ec" } Frame { msec: 5040 - hash: "bb41010df844312fc15bb5b42712619a" + hash: "3e3948addc7236ff8638863786dfe045" } Frame { msec: 5056 - hash: "63a3e18670bb2a5e7edfe3b752c0a1b5" + hash: "49885ec2f3242fc3ba9c9b808b3bb491" } Frame { msec: 5072 - hash: "92b1d0fbadbefe9f122b14903a5e0ee9" + hash: "0c12fc65a0298af1a1ec3bccfcdb20ab" } Frame { msec: 5088 - hash: "6b979e1a4bc7226a89ffb97be2f08147" + hash: "49c71089343b963fd8b3587eb1d5d457" } Frame { msec: 5104 - hash: "7b783908e0b10d329a7d3172f2302a85" + hash: "f083682e9bce74022baeafcb26870adb" } Frame { msec: 5120 - hash: "41d5ef3390cfc0d806825fc0cd033be6" + hash: "5bd49eab3fd8b246659b51d4602ea391" } Frame { msec: 5136 - hash: "ff1a053c0af99c51353503002515843d" + hash: "3170c18b8dd74429b0f366ec07f4870b" } Frame { msec: 5152 - hash: "63b26ecde2a2a9ce36884191304352ed" + hash: "d82de8b7c5a144b20085f447cf041350" } Frame { msec: 5168 - hash: "bdcff2f9f2c376974211ea6ad5c4961f" + hash: "60e520c52c5b87c686294a23d96dbd11" } Frame { msec: 5184 - hash: "00ffef1a1d4341ac1c7f43d493a9e826" + hash: "bb5b6cb5862e28a7f309ef5c7cf2b5dd" } Frame { msec: 5200 - hash: "65dcbb543656f65267c7d32dcd644e56" + hash: "b9e255376ad0b74b2c9be6e694f84d90" } Frame { msec: 5216 - hash: "38b49419b7103d76da2b6d7101d63d88" + hash: "e7527c7c8cb2f8c9e5ce32be98612837" } Frame { msec: 5232 - hash: "de39f6bf64745054cbee30ddf306f641" + hash: "8f8547a6508b156d514c6d4a61d18424" } Frame { msec: 5248 - hash: "d6b5ceca4aa48a7d4fd901d44c151b53" + hash: "99b4220101d400b49346ca023799c8fe" } Frame { msec: 5264 - hash: "876e6eee8a35c34e2dd5269f86a9ab3a" + hash: "2d83cf7c5f93aad4f9dcadcfdbb08fa3" } Frame { msec: 5280 - hash: "f94219306eac2e678881d0b607d15a1e" + hash: "c9ea64aa7000008ad9032cddd898767c" } Frame { msec: 5296 - hash: "c9184196ef45c985f08f80435492641d" + hash: "4c37b188261e927f72725484d08ac9e1" } Frame { msec: 5312 - hash: "34dc672ebfd75ec017d0c2f0bd435cd8" + hash: "29c8004517294539adf3243533381436" } Frame { msec: 5328 - hash: "4daf1c730fdf13e0a87b28208f2b6dd1" + hash: "b5126298ebb61d6ab5ae58822c9380ca" } Frame { msec: 5344 - hash: "c28d5d7d9d3a86e5bbf6ad48331f9c61" + hash: "7b546c089dca57353b4867af724ea370" } Frame { msec: 5360 - hash: "3f98121997a1613bd49d22003d1a1887" + hash: "deedb9ddcc2f5354a2356178db54d971" } Frame { msec: 5376 - hash: "86732d3e900877ae7a8615b7448afaaa" + hash: "9e1fb461c13b4affa39e5909d3ade168" } Frame { msec: 5392 - hash: "9f3da7ebaeb319c9fec0abdd6bd76ee2" + hash: "dbb54d7d203c99d466b1a173fb90c148" } Frame { msec: 5408 - hash: "326563c2c812a74c7f1fa5e9da0c2369" + hash: "0a67ef028264551c1122f4d8a0b07c20" } Frame { msec: 5424 - hash: "79e00bbe77f0a178e8db30023a881c3f" + hash: "636f04661a0418c1fdcaaaba28092671" } Frame { msec: 5440 - hash: "e624204566550e928ab2a2c54113d217" + hash: "de8946eb6317277b580cbf6a38a85a29" } Frame { msec: 5456 - hash: "b95bf705b81544b05f560c54dec56ff1" + hash: "45dd5e856c10ef2e5a9b968044802096" } Frame { msec: 5472 - hash: "4f4cd776b76272cfe79b86a108bd6b6e" + hash: "a974415dcf31bee79874c4a6e84cf796" } Frame { msec: 5488 - hash: "ec2eb1b39a252bd9b37d12ede3d231ce" + hash: "58dab05300d4c83ba084c8bef6a04958" } Frame { msec: 5504 - hash: "a746404a1a26e2a25b8d364dbef46eef" + hash: "f74c075e8cf2aef501b7115427b3b221" } Frame { msec: 5520 - hash: "17d190465ee0d348d9b67a748626d99e" + hash: "7fd3e958115134b2f15cc6d3e01cbcfe" } Frame { msec: 5536 - hash: "9124d97d120de1806d86c8f437ec4ed2" + hash: "7efcd27e34db1d3adc3d31e0b9ebe432" } Frame { msec: 5552 - hash: "ea746de2380835d299c56bb01f0aa83c" + hash: "2229621b9ad55dddce371061584a4dfd" } Frame { msec: 5568 - hash: "4fda328eafe6ec2d02d939517d6d82e3" + hash: "c8747327ae3370b04a996aa6b5e373c6" } Frame { msec: 5584 - hash: "9c6f671def0b1f5d780024a9dad439e6" + hash: "677f52c273dda1f878bfea43b6353aaa" } Frame { msec: 5600 - hash: "b7d441d0bb27ed6d1984f324b6e02548" + hash: "d29de2f0505bdaca1e3443812a588fb1" } Frame { msec: 5616 - hash: "3042a62a1125171d9530b696f4b36e19" + hash: "71f3088ea8794a232ee08c6b0ad72e98" } Frame { msec: 5632 - hash: "4534f40cf6bb7f402d7252c474629664" + hash: "3733ba52e740ea8438967cb03c619368" } Frame { msec: 5648 - hash: "cb5962fe94c5d3ef754ff45f905a5c88" + hash: "5fda56f77948e183557ff54690030746" } Frame { msec: 5664 - hash: "b5a5f9f3aa0948f0bd8d9b4a3fceae50" + hash: "5996c2fc31ff3a13e1f3a23a230aad9a" } Frame { msec: 5680 - hash: "2e0605899abb5725cf22561ec9293879" + hash: "90b9b19f9f6aef7279b1199ca7b34b07" } Frame { msec: 5696 - hash: "1f260f1d931326be7e398f7c87e44735" + hash: "05b4559167ff77d07bb3063b87c4e621" } Frame { msec: 5712 - hash: "57b5fc47ed700831b3dc3f2afbb1c3ed" + hash: "6e43987a8db7a6231887cf5883d381bf" } Frame { msec: 5728 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5744 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5760 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5776 @@ -2474,19 +2474,19 @@ VisualTest { } Frame { msec: 5792 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5808 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5824 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5840 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Mouse { type: 3 @@ -2498,59 +2498,59 @@ VisualTest { } Frame { msec: 5856 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5872 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5888 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5904 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5920 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5936 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5952 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5968 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 5984 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6000 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6016 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6032 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6048 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6064 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Mouse { type: 2 @@ -2562,23 +2562,23 @@ VisualTest { } Frame { msec: 6080 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6096 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6112 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6128 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6144 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Mouse { type: 3 @@ -2590,63 +2590,63 @@ VisualTest { } Frame { msec: 6160 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6176 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6192 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6208 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6224 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6240 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6256 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6272 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6288 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6304 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6320 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6336 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6352 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6368 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Frame { msec: 6384 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Mouse { type: 2 @@ -2658,11 +2658,11 @@ VisualTest { } Frame { msec: 6400 - hash: "c18aeb6fb3914a0be2d34ff76249ed8e" + hash: "9b748b3b85f63d7f62cd916b0bf4357c" } Frame { msec: 6416 - hash: "c18aeb6fb3914a0be2d34ff76249ed8e" + hash: "9b748b3b85f63d7f62cd916b0bf4357c" } Mouse { type: 5 @@ -2682,7 +2682,7 @@ VisualTest { } Frame { msec: 6432 - hash: "c18aeb6fb3914a0be2d34ff76249ed8e" + hash: "9b748b3b85f63d7f62cd916b0bf4357c" } Mouse { type: 5 @@ -2702,7 +2702,7 @@ VisualTest { } Frame { msec: 6448 - hash: "8b9167c04a8acc7f8ade258a3e58893b" + hash: "351d95ba7bc01ea8d4991883885ca537" } Mouse { type: 5 @@ -2722,7 +2722,7 @@ VisualTest { } Frame { msec: 6464 - hash: "a5daa2f6c932fa38038639bdc8231c5d" + hash: "2c84bdd7066c8fd8c66b022783c6fcfe" } Mouse { type: 5 @@ -2742,7 +2742,7 @@ VisualTest { } Frame { msec: 6480 - hash: "f342612efcd5e0820b44bd788ec52d7a" + hash: "ffe18300d9ce72e2d4e191c473a6973c" } Mouse { type: 5 @@ -2762,7 +2762,7 @@ VisualTest { } Frame { msec: 6496 - hash: "9a66e65c69ec833a36cce5cbd7d8257f" + hash: "427720fdd38ff4310c8040b1a5a5f84f" } Mouse { type: 5 @@ -2782,7 +2782,7 @@ VisualTest { } Frame { msec: 6512 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -2802,7 +2802,7 @@ VisualTest { } Frame { msec: 6528 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -2822,7 +2822,7 @@ VisualTest { } Frame { msec: 6544 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -2842,7 +2842,7 @@ VisualTest { } Frame { msec: 6560 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -2862,7 +2862,7 @@ VisualTest { } Frame { msec: 6576 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -2882,7 +2882,7 @@ VisualTest { } Frame { msec: 6592 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 5 @@ -2910,35 +2910,35 @@ VisualTest { } Frame { msec: 6608 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6624 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6640 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6656 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6672 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6688 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6704 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6720 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6736 @@ -2946,67 +2946,67 @@ VisualTest { } Frame { msec: 6752 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6768 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6784 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6800 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6816 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6832 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6848 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6864 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6880 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6896 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6912 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6928 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6944 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6960 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6976 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Frame { msec: 6992 - hash: "bca482a77823f03e8fb4170ee329fc0e" + hash: "08a827d109c78ff0d82ed7b6ef8d55b9" } Mouse { type: 2 @@ -3018,7 +3018,7 @@ VisualTest { } Frame { msec: 7008 - hash: "9ed65a21e4aaedf9c48a38324b3f5480" + hash: "ff198f6b27379e64b901b37e0cf1e98b" } Mouse { type: 5 @@ -3038,7 +3038,7 @@ VisualTest { } Frame { msec: 7024 - hash: "9ed65a21e4aaedf9c48a38324b3f5480" + hash: "ff198f6b27379e64b901b37e0cf1e98b" } Mouse { type: 5 @@ -3058,7 +3058,7 @@ VisualTest { } Frame { msec: 7040 - hash: "9ed65a21e4aaedf9c48a38324b3f5480" + hash: "ff198f6b27379e64b901b37e0cf1e98b" } Mouse { type: 5 @@ -3078,7 +3078,7 @@ VisualTest { } Frame { msec: 7056 - hash: "c4925926f64b852ff6c8d07e1c70ead5" + hash: "61d410fdbe0ee8a41e9c7b25eb2901a7" } Mouse { type: 5 @@ -3098,7 +3098,7 @@ VisualTest { } Frame { msec: 7072 - hash: "da771cedad067b8f25c100613b6a14f2" + hash: "8e27d1db841047a115561861a1c20e67" } Mouse { type: 5 @@ -3118,7 +3118,7 @@ VisualTest { } Frame { msec: 7088 - hash: "c8862bf76a431edc1cf04f4114fa859f" + hash: "7599e2f206da8b46dcaf35a4a7858747" } Mouse { type: 5 @@ -3138,7 +3138,7 @@ VisualTest { } Frame { msec: 7104 - hash: "4d923cd520c00f5cd985283d62cf17ec" + hash: "45e2cf43322f038d2b322dea82e829f1" } Mouse { type: 5 @@ -3158,7 +3158,7 @@ VisualTest { } Frame { msec: 7120 - hash: "76b0d1c77ba29bad836673b1b79de911" + hash: "0170b6aff2eab67213fc4f2883be1db9" } Mouse { type: 5 @@ -3178,7 +3178,7 @@ VisualTest { } Frame { msec: 7136 - hash: "3f9c5686f0a9ef5ecf2b8338ef2e7933" + hash: "23ef985de50ae4600d8f62ed4c91edc9" } Mouse { type: 5 @@ -3198,7 +3198,7 @@ VisualTest { } Frame { msec: 7152 - hash: "799d83eedefa0a56f37a83404c59ad4f" + hash: "a69e534df84e406e06ca94e2221c97f1" } Mouse { type: 5 @@ -3226,79 +3226,79 @@ VisualTest { } Frame { msec: 7168 - hash: "d6b5ceca4aa48a7d4fd901d44c151b53" + hash: "99b4220101d400b49346ca023799c8fe" } Frame { msec: 7184 - hash: "e1609c4e40fb9e043a9fff683b94c6c4" + hash: "80f599f50af9e601536f62ea93f4e429" } Frame { msec: 7200 - hash: "ea457fc4d4065d2ed0e9f6efc47a06ee" + hash: "e211b4a9e0059eaf7a3654121ed6b7a4" } Frame { msec: 7216 - hash: "b7f4319aa9c21640a697ee89f162bb49" + hash: "ef0997291fb3323c877b65847905f7c3" } Frame { msec: 7232 - hash: "880f60263cd79fb6a1bff7252d2373bb" + hash: "95ca2f988370075070c6a98e5e680206" } Frame { msec: 7248 - hash: "00ffef1a1d4341ac1c7f43d493a9e826" + hash: "bb5b6cb5862e28a7f309ef5c7cf2b5dd" } Frame { msec: 7264 - hash: "c949fe87ba91e08f26a1c4d90028513f" + hash: "958e9074dfa2392db05fb3f532573519" } Frame { msec: 7280 - hash: "8636af4591c61c4b4a548f3a38749413" + hash: "4d90460d3b6c46075ffda426bc6ceaa6" } Frame { msec: 7296 - hash: "63b26ecde2a2a9ce36884191304352ed" + hash: "d82de8b7c5a144b20085f447cf041350" } Frame { msec: 7312 - hash: "843f7263f63442f0041bf2c1a6fae400" + hash: "4d5d1c8470df16097c51517e750ef6be" } Frame { msec: 7328 - hash: "ff1a053c0af99c51353503002515843d" + hash: "3170c18b8dd74429b0f366ec07f4870b" } Frame { msec: 7344 - hash: "47aea3ac4ea935d43f731a258287c2e8" + hash: "35b4e282089b4f7e8cc60aaf6635a0f7" } Frame { msec: 7360 - hash: "eee4fa336149528dfb16565b856ca692" + hash: "bb67acd602414cf59e27b5ff19f69169" } Frame { msec: 7376 - hash: "bb94493c25c56c41e81ef1e390adf63d" + hash: "0135220633c5aebe964b596f3c1bae27" } Frame { msec: 7392 - hash: "2915f455a5e1e8c6b8cc78309c5e84d9" + hash: "b4a996bdc1ccae96f84e285b212a19a3" } Frame { msec: 7408 - hash: "94701ffaa4f45924ad89f92a30157c7d" + hash: "7fe6c7bd1bc9e46d3e520178a2309e87" } Frame { msec: 7424 - hash: "92fae8cf4b8d8404b26a31f995860b95" + hash: "b803764915a58bd59aed1223bd7c67d7" } Frame { msec: 7440 - hash: "6b979e1a4bc7226a89ffb97be2f08147" + hash: "49c71089343b963fd8b3587eb1d5d457" } Frame { msec: 7456 - hash: "dd94beeb0b4933a9ac2236a9abe630ff" + hash: "d2e577eecdf6fc9ecadf500896e0ff46" } Mouse { type: 2 @@ -3310,11 +3310,11 @@ VisualTest { } Frame { msec: 7472 - hash: "dd94beeb0b4933a9ac2236a9abe630ff" + hash: "d2e577eecdf6fc9ecadf500896e0ff46" } Frame { msec: 7488 - hash: "dd94beeb0b4933a9ac2236a9abe630ff" + hash: "d2e577eecdf6fc9ecadf500896e0ff46" } Mouse { type: 5 @@ -3334,7 +3334,7 @@ VisualTest { } Frame { msec: 7504 - hash: "dd94beeb0b4933a9ac2236a9abe630ff" + hash: "d2e577eecdf6fc9ecadf500896e0ff46" } Mouse { type: 5 @@ -3354,7 +3354,7 @@ VisualTest { } Frame { msec: 7520 - hash: "34c7ed1c072d84626a8a64f7db02f71d" + hash: "21bf0affeaf1033e59a99bed9efeb80d" } Mouse { type: 5 @@ -3374,7 +3374,7 @@ VisualTest { } Frame { msec: 7536 - hash: "e723da5ecaffe31f03b1d5ca6765229b" + hash: "c4506098417f905871a43d183cd5904d" } Mouse { type: 5 @@ -3394,7 +3394,7 @@ VisualTest { } Frame { msec: 7552 - hash: "a85128cae494abeb5d45ab8df0d127a6" + hash: "fdf8dfa53431f930b01e667b3b86c7a1" } Mouse { type: 5 @@ -3414,7 +3414,7 @@ VisualTest { } Frame { msec: 7568 - hash: "3599a92966c27321e9f702f3428b9b00" + hash: "a94e05f80f0f8d3af13678318fd91416" } Mouse { type: 5 @@ -3434,31 +3434,31 @@ VisualTest { } Frame { msec: 7584 - hash: "067a1bef3df5d1c40842f28885d60250" + hash: "bd8c0a924552cb4dfc5ddc1451931b01" } Frame { msec: 7600 - hash: "82f818ed44a191fb51e637b8068786dc" + hash: "ed5bab2126fb459989b7ea0e44da6776" } Frame { msec: 7616 - hash: "f408f59707195549ba61f030a3f020cd" + hash: "756fc80a88e6f5d28f9c6bba771355c5" } Frame { msec: 7632 - hash: "66e79c8b2f8e3a57c3bc14935c5df7d1" + hash: "640c092db0d2a523ce0cdc961e64124a" } Frame { msec: 7648 - hash: "4341c6b7b0d2e8021b51cb1abab85e10" + hash: "097582f1b42c16d41f4413755ac15c3e" } Frame { msec: 7664 - hash: "5ec8ee5ccecac1787b2f5e99268e810d" + hash: "67ef5e3297fe5605bd41a72681899f48" } Frame { msec: 7680 - hash: "1fae7b735ff6e88abfb1423f8960da4f" + hash: "91452c52c309b7d90c7ccca3fc9ae8b2" } Frame { msec: 7696 @@ -3466,182 +3466,182 @@ VisualTest { } Frame { msec: 7712 - hash: "dce74ff07eb37c82a38b3e515f9a43f2" + hash: "ebef3c7095abadf45855fe75cbf3d358" } Frame { msec: 7728 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7744 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7760 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7776 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7792 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7808 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7824 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7840 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7856 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7872 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7888 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7904 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7920 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7936 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7952 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7968 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 7984 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8000 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8016 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8032 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8048 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8064 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8080 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8096 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8112 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8128 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8144 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8160 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8176 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8192 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8208 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8224 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8240 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8256 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8272 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8288 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8304 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8320 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8336 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8352 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8368 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8384 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8400 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } Frame { msec: 8416 - hash: "ba2c06129f17fde474427859d66ecd23" + hash: "97b167a5a76d6b71713d25508ed360f0" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml new file mode 100644 index 0000000..9335b9e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml @@ -0,0 +1,50 @@ +import QtQuick 1.0 + +Item { + width: 640 + height: 400 + + Flickable { + objectName: "flick 1" + anchors.fill: parent + contentWidth: width + 100 + contentHeight: height + 100 + + Rectangle { + width: 300 + height: 300 + color: "blue" + + Flickable { + objectName: "flick 2" + width: 300 + height: 300 + clip: true + contentWidth: 400 + contentHeight: 400 + + Rectangle { + width: 100 + height: 100 + anchors.centerIn: parent + color: "yellow" + + Flickable { + objectName: "flick 3" + anchors.fill: parent + clip: true + contentWidth: 150 + contentHeight: 150 + Rectangle { + x: 80 + y: 80 + width: 50 + height: 50 + color: "green" + } + } + } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png Binary files differindex 699f83e..347e773 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png Binary files differindex a742a6a..370ca80 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png Binary files differindex 71abae2..97e3906 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png Binary files differindex a6e6b3e..5fa3c67 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png Binary files differindex 9f125c4..ce11c09 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png Binary files differindex 41d0cd5..d155742 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml index b75d140..304d5c7 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml @@ -222,7 +222,7 @@ VisualTest { } Frame { msec: 752 - hash: "e21cac055208e47e267ac906c7c2ca9c" + hash: "d2dda5bec262721d653e88ec3eaeca57" } Mouse { type: 5 @@ -234,7 +234,7 @@ VisualTest { } Frame { msec: 768 - hash: "131e094a79edbeea9a1b981592e55abf" + hash: "d61d21ab4d83b8578494720d9bfe6fa8" } Mouse { type: 5 @@ -254,7 +254,7 @@ VisualTest { } Frame { msec: 784 - hash: "73faabf52bd2af8d8b9d28ce21e5e77b" + hash: "0a178235529d721529e8dc3b439a64c9" } Mouse { type: 5 @@ -266,7 +266,7 @@ VisualTest { } Frame { msec: 800 - hash: "359554a95362db1734f606cf677001fc" + hash: "c800609ffea814ba7cc2441790157245" } Mouse { type: 5 @@ -286,43 +286,43 @@ VisualTest { } Frame { msec: 816 - hash: "8ef4ecc5c5ba578f0279dc57a6c17ccd" + hash: "afcb452d41c6e895309bb921a1ad1d31" } Frame { msec: 832 - hash: "69c3d9d2700dd395b656b0b09fa63511" + hash: "02d8f91c33f62aaf366bcfd03d232269" } Frame { msec: 848 - hash: "2bbcc36d72c3e9a4b672a46f2aae5076" + hash: "1ba9bc8c2b941fd0ec82f211eb559682" } Frame { msec: 864 - hash: "125a5f0c8efdf97676edbe379660dcce" + hash: "ee8680df3c58a48f3fff4a8fc221e38c" } Frame { msec: 880 - hash: "4347a02227207fbf870b6aed76131619" + hash: "36c04a2bd58124877a332bb6a262a7e5" } Frame { msec: 896 - hash: "e08b494c818669bfc48273598574d22e" + hash: "e6ea836d68c54a8308e10f33d4eb8b98" } Frame { msec: 912 - hash: "186cb5465f45c0df8082ec8cad6ee8b1" + hash: "f2400819feb116ae3b327284bbb292ff" } Frame { msec: 928 - hash: "91d04d4469492c3bb2a1ed415dcd904c" + hash: "5d9a3458cb59ede36e7b51bac869785a" } Frame { msec: 944 - hash: "8cc8ef251d68af926a8f300b8666ecfd" + hash: "b859b690c633a9fec87941e7c89f5d19" } Frame { msec: 960 - hash: "42f64722245f8519386e75ce7e3c0cd9" + hash: "ef0b66e789a8e88389e16bfa36b9f6e2" } Frame { msec: 976 @@ -330,195 +330,195 @@ VisualTest { } Frame { msec: 992 - hash: "058311da9dcf73a4b4928038334b04b5" + hash: "493e3c7b0de4a7b4b46678fe4ce9a763" } Frame { msec: 1008 - hash: "ea662934ee0c3c8d4dbde3ad49448922" + hash: "b7056d635c69b8e5bf98872f4c07ed43" } Frame { msec: 1024 - hash: "01991a871819e7bdbf817580f720ead6" + hash: "68aa8bd6709e1b49cfefc4594c236c46" } Frame { msec: 1040 - hash: "69a7fe47ae589bcc2607cc42fcea7451" + hash: "4b28ebf737b8c4228771122d844b8166" } Frame { msec: 1056 - hash: "8240d087b767311e00b7dd4b8726246c" + hash: "b04155316770a1265e5dc431e1b9a9a1" } Frame { msec: 1072 - hash: "cc70c8e79d68f09e6db0dd43b99906b7" + hash: "d540453541aba394b0958cdc48f91d48" } Frame { msec: 1088 - hash: "2bfabef74bc6e1dbf72111838a0e7557" + hash: "b3e7cbc83c65ec61c768757798b17c58" } Frame { msec: 1104 - hash: "66616f01553364c5bd589b781e22163a" + hash: "b12b31d4959a697fcc8e54f1c846eef9" } Frame { msec: 1120 - hash: "58b9de84ebdaabee3917608f2af3bbdb" + hash: "77c3bbb94471cfbfd23cc3914d796dfc" } Frame { msec: 1136 - hash: "964d96b9b783efb1053501f8a6931248" + hash: "41975592e60f08a0296a8babe1da2df3" } Frame { msec: 1152 - hash: "055b77b921a2bac71b6780ab3179f19f" + hash: "0a5eea8a11b15ee8583f187f336f56c7" } Frame { msec: 1168 - hash: "074904f31b4f7cf0679f0bf7bba30af2" + hash: "bf9c02945fdee4b06353f8f7f4fca2a3" } Frame { msec: 1184 - hash: "f020a490b6800d5b4402ecb9a8bcd436" + hash: "157c92d133a39a2b1d20a551303d2f6f" } Frame { msec: 1200 - hash: "1615bdedf92f91f089e494d893840c4b" + hash: "213716cad9fa2179a17a512e8c03c8f5" } Frame { msec: 1216 - hash: "b6892f6a5db6d211f0d1bb2bbe5045bf" + hash: "0ec517c50e9e36fef4fb14318e298723" } Frame { msec: 1232 - hash: "5f0d903ba682923ac69454026a359ed9" + hash: "bab010fe0f5d3b57fd556a9b709c285e" } Frame { msec: 1248 - hash: "da5bae496a9ad28585151f4c75ee0c9f" + hash: "b6bdf2f21c4137d4b5f25e0fe728bba5" } Frame { msec: 1264 - hash: "68f553248f7ca116671782d1c357b552" + hash: "c091e46064c8096568224ed7e4c8dc4f" } Frame { msec: 1280 - hash: "5503df04dd7f4c88314f9d309a5b36b4" + hash: "c0a6ede96566533ab35384afa535530f" } Frame { msec: 1296 - hash: "cc48c1f58b553adcb27d60f176e2b910" + hash: "f61f5c7617700b9aad71206cfc9e402e" } Frame { msec: 1312 - hash: "661f546199d8753a7b6f6ccea5928c12" + hash: "c70c106d128051c06da3acdf817f5ffb" } Frame { msec: 1328 - hash: "0fd70052c100f77bddbad177d9e5573d" + hash: "624d7c7fb2f39225d51d1a548aa186ed" } Frame { msec: 1344 - hash: "488e0652c0ed82a014de63a64145c34c" + hash: "f052610f17a7484bf6cb2bd07aa91af6" } Frame { msec: 1360 - hash: "8b6bf2519080a6e4a61fe216f72dfa09" + hash: "44cd80041a1965c8c60fdffd9ae19395" } Frame { msec: 1376 - hash: "4dab1827f6ce9561297fce8e067df1bd" + hash: "7597f86b537fbd70260908c973f9db21" } Frame { msec: 1392 - hash: "b3f4c5cd728eaf2b791612a7fea64e7b" + hash: "30cd60db9aa2df2adc7d01091c905cb4" } Frame { msec: 1408 - hash: "3d01abd0b8a5a62d58a4c09546f212d8" + hash: "8da4613759e9bcb926a0c84556213eb5" } Frame { msec: 1424 - hash: "e76796498cf595c60d4b60cc0e320601" + hash: "1085fcc81f0aed8508817839ca748359" } Frame { msec: 1440 - hash: "1b31e96f2823e78a0c4029e7bc45b9f2" + hash: "b87f002bf6fb0684f0b3cf565507e066" } Frame { msec: 1456 - hash: "f75c182dc24f4fabe1034ee494dba2ad" + hash: "b60916a57aec6ebbd8b69be7c8d66e19" } Frame { msec: 1472 - hash: "646c12edadf350405709860381cfced6" + hash: "a28e1538d18ccb7485d0306b9f7b18a6" } Frame { msec: 1488 - hash: "b6719406da9f2484fe55e3c69184f86c" + hash: "832c857f2e05f2f82308cbf91f7bf401" } Frame { msec: 1504 - hash: "5456857d6d48d064df1cb3f35d8447b5" + hash: "ca3e50cd337a07ef07f063be28fa6dc2" } Frame { msec: 1520 - hash: "8d1809b568345e1532fb6d9428fc9729" + hash: "3ecf7faa733653ef20e4a26eb47d63d1" } Frame { msec: 1536 - hash: "5cffa76fe09a771a9f62a9f0392f0431" + hash: "f17a6be2e183f4c87e31004458e5052c" } Frame { msec: 1552 - hash: "8de59915e874ce829c691a19ac930f28" + hash: "bfa62672ee7fcd9c3a75b63198a4c2bf" } Frame { msec: 1568 - hash: "9027bbf8121f70d26530f70423ec05b7" + hash: "cdaafe7f622c18c2409ac539649de1cd" } Frame { msec: 1584 - hash: "d3d1d8b9f7b4eb74a8b7ae5cf19a8e20" + hash: "c957f5c58e0a9b315b51ac1012709493" } Frame { msec: 1600 - hash: "81ffcc0147e3124a3015deb7c0dbfd90" + hash: "925c55a8564f2318f9de4bd406cb5b13" } Frame { msec: 1616 - hash: "ca0c96e908f05c4ee1af1f80d7b432aa" + hash: "466208a8f6ecf45393be01a6dd7f2b0f" } Frame { msec: 1632 - hash: "2bdb6fbf942623856a6963c335794dd2" + hash: "35cff8c0f4b503ba4948966079484feb" } Frame { msec: 1648 - hash: "18ac264d9ea9b592b0738f1cf732f678" + hash: "47472faf5e9bf4b4e514abe55f1e0b72" } Frame { msec: 1664 - hash: "1ee9adbbae7b97dc050c82b8ed7b0aad" + hash: "b699165e354bcadfd0d914d9ecb3d2aa" } Frame { msec: 1680 - hash: "b502390c452883ade550d2761bb09d3d" + hash: "e255c047ce78f5677ccec8bd9737201a" } Frame { msec: 1696 - hash: "31a6f573fbb3f545ee051e2290938004" + hash: "bd4f08095a9c546a42c85e6df6eaf655" } Frame { msec: 1712 - hash: "3be9788228d9e540313e75671319c5b7" + hash: "ca65869f48b169260c3756d846a12f36" } Frame { msec: 1728 - hash: "23cbd718154f939d8270674e8f7607f0" + hash: "1921889beb8e61c8b959d4affa814465" } Frame { msec: 1744 - hash: "5f7f49b894b80ddd7cdc544a49ec24a2" + hash: "a9dda9ebaa97133c671917473721272c" } Mouse { type: 2 @@ -538,11 +538,11 @@ VisualTest { } Frame { msec: 1760 - hash: "2a1ddee3d3a0c2a4fffab3988e35e274" + hash: "cab96d2118b31d43e85dc902df2ed8ed" } Frame { msec: 1776 - hash: "2a1ddee3d3a0c2a4fffab3988e35e274" + hash: "cab96d2118b31d43e85dc902df2ed8ed" } Mouse { type: 5 @@ -562,7 +562,7 @@ VisualTest { } Frame { msec: 1792 - hash: "5594b9139480ba1c814509a049f9b6c5" + hash: "d21c8af68b314800b86922493db6553e" } Mouse { type: 5 @@ -574,7 +574,7 @@ VisualTest { } Frame { msec: 1808 - hash: "d8729deb404f5b821264743943adb288" + hash: "a80c0f6f679ba5f1354f8e16677c1125" } Mouse { type: 5 @@ -586,7 +586,7 @@ VisualTest { } Frame { msec: 1824 - hash: "6de642baf7698ec65d48ccf0a1e8e7db" + hash: "d8729deb404f5b821264743943adb288" } Mouse { type: 5 @@ -606,7 +606,7 @@ VisualTest { } Frame { msec: 1840 - hash: "f6732999861d1f638484a5aaa9cf0550" + hash: "87d41239eb7e170fa7a1ed523a9af942" } Mouse { type: 5 @@ -618,7 +618,7 @@ VisualTest { } Frame { msec: 1856 - hash: "7cd7c1679838f35556bd4ee4565b7a86" + hash: "1c185649e08a54a6949409ed7ee5dc60" } Mouse { type: 5 @@ -638,7 +638,7 @@ VisualTest { } Frame { msec: 1872 - hash: "4276a4d9350503603b0c9c98552697b3" + hash: "d82969ef0f4baf3c51e112e049cb1334" } Mouse { type: 5 @@ -650,7 +650,7 @@ VisualTest { } Frame { msec: 1888 - hash: "954a47627aee0a1128a78191bf32d984" + hash: "e746a3eb8527036b09afb9cdd3d15648" } Mouse { type: 5 @@ -662,7 +662,7 @@ VisualTest { } Frame { msec: 1904 - hash: "360a47795f7f9389f82f2f55fa1fe83f" + hash: "e1d6c01f6cd66a5bcdb08ca810a07282" } Mouse { type: 5 @@ -674,7 +674,7 @@ VisualTest { } Frame { msec: 1920 - hash: "19d4284791d0031342ba995bd17a7833" + hash: "fd0e9cf835131ee6cc5ecf67c6724d73" } Mouse { type: 5 @@ -706,7 +706,7 @@ VisualTest { } Frame { msec: 1952 - hash: "e9cd8fb810ecf39a90af039ead97aaf1" + hash: "69c17a9c18795b1d8ae63d36d76af626" } Mouse { type: 5 @@ -726,7 +726,7 @@ VisualTest { } Frame { msec: 1968 - hash: "42df1a0fbbe7cce5f2359d9e02696299" + hash: "c7ca4762498af158a2f2da6f5ae560ce" } Mouse { type: 5 @@ -738,7 +738,7 @@ VisualTest { } Frame { msec: 1984 - hash: "cc71434d6bd162386b80cb3b7e387116" + hash: "f500232133ec07a3b833b06425379484" } Mouse { type: 5 @@ -758,7 +758,7 @@ VisualTest { } Frame { msec: 2000 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Mouse { type: 5 @@ -770,7 +770,7 @@ VisualTest { } Frame { msec: 2016 - hash: "5bdb7472e325651e891c115953afdb39" + hash: "1754875ee6a5712ffb8ce1bbae6d4ed1" } Mouse { type: 5 @@ -782,7 +782,7 @@ VisualTest { } Frame { msec: 2032 - hash: "ab3a64b41c67a0b8a6c0830c0e0cb797" + hash: "1e743264f0a312bc0d0a023fbc6db832" } Mouse { type: 5 @@ -794,7 +794,7 @@ VisualTest { } Frame { msec: 2048 - hash: "8eb1f2c8c02c2acf4262e05000045649" + hash: "ab3a64b41c67a0b8a6c0830c0e0cb797" } Mouse { type: 5 @@ -806,7 +806,7 @@ VisualTest { } Frame { msec: 2064 - hash: "514220d357c4a26e4aaf9ed20d3f4f33" + hash: "d05f721f1d7d23d6e0cc67993bf1fa8f" } Mouse { type: 5 @@ -818,7 +818,7 @@ VisualTest { } Frame { msec: 2080 - hash: "e44526ef273048028d5989fc662eb7e6" + hash: "419c09739f855c53be3427a71aa3faf9" } Mouse { type: 5 @@ -838,7 +838,7 @@ VisualTest { } Frame { msec: 2096 - hash: "29ac091428a89cfcb4c52c08e0e10327" + hash: "f0ae80ed5965d7531d6a653c80eed444" } Mouse { type: 5 @@ -858,7 +858,7 @@ VisualTest { } Frame { msec: 2112 - hash: "82beb845af88fc9432dc104ff805a146" + hash: "1419fe55cc28ce9690846d4c03275fe7" } Mouse { type: 5 @@ -870,7 +870,7 @@ VisualTest { } Frame { msec: 2128 - hash: "371392f267b2c1f4e29963506180e246" + hash: "2e22df53697a599b0e44fb2a3986dcd0" } Mouse { type: 5 @@ -882,11 +882,11 @@ VisualTest { } Frame { msec: 2144 - hash: "1da06d036cc0a2d2de34eee37b6981c0" + hash: "96f763c555b523d9b7ed7a0a159db368" } Frame { msec: 2160 - hash: "1da06d036cc0a2d2de34eee37b6981c0" + hash: "96f763c555b523d9b7ed7a0a159db368" } Mouse { type: 5 @@ -898,31 +898,31 @@ VisualTest { } Frame { msec: 2176 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Frame { msec: 2192 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Frame { msec: 2208 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Frame { msec: 2224 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Frame { msec: 2240 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Frame { msec: 2256 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Frame { msec: 2272 - hash: "4980de22342d1085e205401090777d24" + hash: "20f9cf7787c8cfd4843289f5ab2012e7" } Mouse { type: 5 @@ -934,7 +934,7 @@ VisualTest { } Frame { msec: 2288 - hash: "e0a52543b976dc998615704c63b1f3e9" + hash: "1241895174f4d8e4386c3957e3d2e292" } Mouse { type: 5 @@ -946,7 +946,7 @@ VisualTest { } Frame { msec: 2304 - hash: "82beb845af88fc9432dc104ff805a146" + hash: "1419fe55cc28ce9690846d4c03275fe7" } Mouse { type: 5 @@ -958,7 +958,7 @@ VisualTest { } Frame { msec: 2320 - hash: "e44526ef273048028d5989fc662eb7e6" + hash: "419c09739f855c53be3427a71aa3faf9" } Mouse { type: 5 @@ -978,7 +978,7 @@ VisualTest { } Frame { msec: 2336 - hash: "8eb1f2c8c02c2acf4262e05000045649" + hash: "ab3a64b41c67a0b8a6c0830c0e0cb797" } Mouse { type: 5 @@ -990,7 +990,7 @@ VisualTest { } Frame { msec: 2352 - hash: "442958c3a705745204db96ff9902b7fc" + hash: "a130b471b3903f3f1d77f2306da2b92e" } Mouse { type: 5 @@ -1002,31 +1002,31 @@ VisualTest { } Frame { msec: 2368 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Frame { msec: 2384 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Frame { msec: 2400 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Frame { msec: 2416 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Frame { msec: 2432 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Frame { msec: 2448 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Frame { msec: 2464 - hash: "a130b471b3903f3f1d77f2306da2b92e" + hash: "0a0cd0433e206dfc923ec0d3617e04a1" } Mouse { type: 5 @@ -1046,7 +1046,7 @@ VisualTest { } Frame { msec: 2480 - hash: "374dc7c3ea0c93ac93a857a4620bc031" + hash: "47e86b008567366f37ac043ed8802d53" } Mouse { type: 5 @@ -1058,7 +1058,7 @@ VisualTest { } Frame { msec: 2496 - hash: "0b943f48b39053bfc906a4a47a37d68a" + hash: "92e1d5dbc85e777785cc68171a0a3fbf" } Mouse { type: 5 @@ -1070,7 +1070,7 @@ VisualTest { } Frame { msec: 2512 - hash: "099fbdf1560dd79b700914863406c904" + hash: "360a47795f7f9389f82f2f55fa1fe83f" } Mouse { type: 5 @@ -1090,7 +1090,7 @@ VisualTest { } Frame { msec: 2528 - hash: "3aa1614cc49504d19e979ebf190f2970" + hash: "acefb43050e140d689f1d377f50f5c83" } Mouse { type: 5 @@ -1102,7 +1102,7 @@ VisualTest { } Frame { msec: 2544 - hash: "837420c71a5010f25cccd05e5e9b3eec" + hash: "4bc43ae81aac757c872157ac9b41a2d9" } Mouse { type: 5 @@ -1114,7 +1114,7 @@ VisualTest { } Frame { msec: 2560 - hash: "871349fc09f418717231b8f8e20a7fff" + hash: "41421089f087c54ebcd9fa44e95bd96e" } Mouse { type: 5 @@ -1134,7 +1134,7 @@ VisualTest { } Frame { msec: 2576 - hash: "9b6022024aae22ec1f522fd00ed29e9b" + hash: "db0f09393b5c9284142f9eb3cb5952ce" } Mouse { type: 5 @@ -1154,79 +1154,79 @@ VisualTest { } Frame { msec: 2592 - hash: "8d9410909ae259388fa94b3a60342608" + hash: "9491689e51ec46bec07fb8b280daef80" } Frame { msec: 2608 - hash: "0ceb355351ac99458ba75776c11b3039" + hash: "44a30531642ada65c052afe30874d7ba" } Frame { msec: 2624 - hash: "61ca917ecc8ad4c35b7f2a3b828542bf" + hash: "6bf415b82e7cfa68b8321571ab619c3f" } Frame { msec: 2640 - hash: "fd5db933d1d8684b15eb5239d19d8919" + hash: "645e43948279d528020070125b71c33b" } Frame { msec: 2656 - hash: "13f466a82ee22cabf5cbd2463f55b46a" + hash: "495d14df729eede7e560f2e841bae142" } Frame { msec: 2672 - hash: "3b7f7880f5b568a0e45cd0e268822f3a" + hash: "fa3b12e9869bf4254c8cdf6e5b10bb2d" } Frame { msec: 2688 - hash: "cca22501c3b5a2ed4264ba060eeb1a6e" + hash: "482ce41c4b918a71b803c5f521ea494e" } Frame { msec: 2704 - hash: "efe5258ac5962d1d2bfa4286c1621830" + hash: "79d70563c7e139d9f9785565219133c7" } Frame { msec: 2720 - hash: "141998cff765a4e90836b871f229a1ca" + hash: "0dc70772aa50445c1cb7dbd8ee0092b0" } Frame { msec: 2736 - hash: "9d684675fa883d5488194effcb1d8d0a" + hash: "222d638b8fb896563028f029e6fb3c49" } Frame { msec: 2752 - hash: "fa87f781048f264ddf447441a714ee50" + hash: "20b8fc718d9329c9c8901fdfe14557a2" } Frame { msec: 2768 - hash: "61b4992b9c52222345c9ada3148d50f9" + hash: "e3972b3244e4a98c9ee4df2d4b623c12" } Frame { msec: 2784 - hash: "3e255a634d215746cb95f5d765335ea2" + hash: "e3a4b357c00d3d49e4a7d90f6f57054c" } Frame { msec: 2800 - hash: "d64a755e47a502244e7f14f2091f0ca6" + hash: "44ad81d2ad0d502b003e148412871a41" } Frame { msec: 2816 - hash: "582562992b0652f995b439897182e0f8" + hash: "47d757dab5c72cad08cb8026631d67e6" } Frame { msec: 2832 - hash: "2d69b1a274c262faf5ce9ed3191c7d22" + hash: "8522a3b6202b303a9e65a9e136423e27" } Frame { msec: 2848 - hash: "36c04a2bd58124877a332bb6a262a7e5" + hash: "70e3cd650472d0e95f4d6ca9e34a2ce1" } Frame { msec: 2864 - hash: "798711925da8f5034039dad86cc1fad1" + hash: "19a7825cd8c0eaa6f313ec77fff9ec1b" } Frame { msec: 2880 - hash: "31495157a10c3bb4dd70cfd857fd07e6" + hash: "579688ff6ec910570c0c0c60fdf44cf6" } Frame { msec: 2896 @@ -1234,207 +1234,207 @@ VisualTest { } Frame { msec: 2912 - hash: "b81330eb50dbd39f1abcdb8ff1553d08" + hash: "7ab8cf0d0b650e8f994a9beed8be29fb" } Frame { msec: 2928 - hash: "ececcb86b76e9cd2f57585bd87e16bef" + hash: "92e9be6d36844bb475b861ba9c4bc3ff" } Frame { msec: 2944 - hash: "2c37e2c24cf22a334cfcc6f2691ad9fb" + hash: "08b9cce3b2071b328054af6bcb6755c7" } Frame { msec: 2960 - hash: "ad0572020d273dbca046357aa0f8bf3b" + hash: "b505d2f41a6db06d4ca03f5340800aa6" } Frame { msec: 2976 - hash: "51a469e059a5e1a3675db731f55209d3" + hash: "f0267f59e247e24e4cf9c56f8931112b" } Frame { msec: 2992 - hash: "dca7d50a3faab1f049bece34bd16b8c4" + hash: "ddbc73e2df4da11d5122539a00c126de" } Frame { msec: 3008 - hash: "86dc86bafb01fa086caa3b22f9d393d9" + hash: "8dd67df95fae14079ed5b83c421a5b6e" } Frame { msec: 3024 - hash: "05754bd86070a6f01bf90ca2b964f695" + hash: "7b217f7c51087a07e8922b0286b2c1dc" } Frame { msec: 3040 - hash: "911ec290ba303f0cac258cbb893bbf78" + hash: "e464b5121f3204c64cafe2f5e31cf497" } Frame { msec: 3056 - hash: "f27f29249426f46b8fb508372bcbb32d" + hash: "7fc2018f8db17b65fd01b2ddfa44f66d" } Frame { msec: 3072 - hash: "2f452e2d519f33ee03db67ebd7f69e3b" + hash: "a5d1871511eac7224292b3552da466a8" } Frame { msec: 3088 - hash: "35cf7747a75ea3f727c2fe1dae6136c5" + hash: "2f0a55cf3cd30da77fbb73e749b729a3" } Frame { msec: 3104 - hash: "6773187693f52a8f2c0e358e379b4d21" + hash: "9aab649b6664c179878d0ead438dd751" } Frame { msec: 3120 - hash: "abca1f00f7ec60c8c80ba5345898e54b" + hash: "2ad733363d239d9a3ea1c31427a3b3fe" } Frame { msec: 3136 - hash: "9bee1da64534da97de349e1ee973cc9c" + hash: "e73b4fd7cb6285df9a77d666f25ab245" } Frame { msec: 3152 - hash: "087df06ca720918482f2e29653c7fbac" + hash: "53b05d8be52a74c3a24b88779d4927bf" } Frame { msec: 3168 - hash: "5b08911bf0975bd6615bf29294e4b1f5" + hash: "04fc6aac5f090960cd87eefb4273fb0f" } Frame { msec: 3184 - hash: "dead4bb3768b65418f68bae7dd0bf004" + hash: "294c842a71b5e4927146952ce865c8a2" } Frame { msec: 3200 - hash: "6bfe4c866936d8ae509650419ae12455" + hash: "ac6f7afb4a5e67e2edd8300e7dfdff13" } Frame { msec: 3216 - hash: "7428bdd9609a2594be08fdeac6ff1e17" + hash: "8a7ab6dc549b247f3b897e098d784dd8" } Frame { msec: 3232 - hash: "d02f9f693e0ae8c7034bf727064ec28a" + hash: "0a3144254f66a6b005b95a026496cd32" } Frame { msec: 3248 - hash: "b6284efd849547bbfefc22ec77d61062" + hash: "ca457a1c503a980687926e31ac16995b" } Frame { msec: 3264 - hash: "4b78b647be8e918e85edab0c23b6f882" + hash: "c17922ca04f5ce9916e2907a6c28bf8b" } Frame { msec: 3280 - hash: "c4a02c18ce3574d057e6a54b30efadb3" + hash: "b2a071734226b905f6c6f5652f645517" } Frame { msec: 3296 - hash: "d1d190010239d0b02a697d1c63c748ab" + hash: "1f41a314699151771d7d1ca672aaba8f" } Frame { msec: 3312 - hash: "b198689d11aa59d937297e6fcf675c93" + hash: "de94c2ad2e74036d975e8402dd8b06e9" } Frame { msec: 3328 - hash: "218f3371beea895aefd28aa874012dcc" + hash: "9cfe0627852cefe67fc0b44b31085b4a" } Frame { msec: 3344 - hash: "1135de1b9a4ebf1d2829546d3c3f3903" + hash: "de7ab5230efb63264f76fa1f1b61dcfa" } Frame { msec: 3360 - hash: "773a64cc7bb8e99a25078f348986e28f" + hash: "5ad22cf9e1c9a02cfc570beaac55bee0" } Frame { msec: 3376 - hash: "e8ce58aeb18b3f56ebd3d6f61ac94657" + hash: "9e6210d9e6bfda4fe0695b75d03435e2" } Frame { msec: 3392 - hash: "6de92679c32c7f3e9d9b6ba3a47e65eb" + hash: "d3989a9fb7e99d16032fa1842364f2ed" } Frame { msec: 3408 - hash: "339b37207af10ad986269e21ab37ff6d" + hash: "2f3e7040a4966e56858312f6534e9e77" } Frame { msec: 3424 - hash: "ac01f0708800fdfdacec67ac9e80602f" + hash: "16bb17f511519337be2e60d8b9f95149" } Frame { msec: 3440 - hash: "9de89a748b1e18eb6ed94875af6f26de" + hash: "819250fd9899a9457a9300f942f4d8bf" } Frame { msec: 3456 - hash: "d091e4a93c2beafb0ce4b6dff6d5b05f" + hash: "6639a15d4d23540ccf63c9bea0e1689e" } Frame { msec: 3472 - hash: "9532271085864d2fde3aa6e572599588" + hash: "14b553132a86e57577c416e6f6c53433" } Frame { msec: 3488 - hash: "d00804b42ab1c1f082a9f394ff4d666e" + hash: "f7a95239db44b66698d29f0daae826f1" } Frame { msec: 3504 - hash: "2c745f007353e6f8a7195470ba9492c2" + hash: "b5a6abb5294fb9b069ab8a075003cb61" } Frame { msec: 3520 - hash: "b4e952acb734ab1a608297fcb44fbe46" + hash: "391c1c43ce893aeefc42d164e6e8aaac" } Frame { msec: 3536 - hash: "75ceed3c2ddd557866145393fa50a12f" + hash: "271addef36d51d904bc1d68f65b66de3" } Frame { msec: 3552 - hash: "8b83b80554dd4a1266184092d380554c" + hash: "73a23e56edcd64ac6147aff27b785ebb" } Frame { msec: 3568 - hash: "973bddb1b2f9dbadd40c0de3ca7c3510" + hash: "bd43145ae22086348cb5e68765a42ac1" } Frame { msec: 3584 - hash: "5691b5bf54b50d4ff0a717873e001c00" + hash: "4b2706d1215f2b5b08ac87e40ba8c21b" } Frame { msec: 3600 - hash: "8b26b0aa8b06da031354c59d7fb41bf0" + hash: "6420fd46fd8068010d3caaa68eea457e" } Frame { msec: 3616 - hash: "45786c39a10b8e1cf399df98f3fb7ffb" + hash: "188499a79313d984ed1d710329b0237f" } Frame { msec: 3632 - hash: "c6d0be03e167c16566372cc992604dfb" + hash: "12da197320858ea4f8a1437b7ceac95a" } Frame { msec: 3648 - hash: "8d6e057550632d143faf996a62bbd1cd" + hash: "14bdec5663d1a81fa617d3b81e19f8b4" } Frame { msec: 3664 - hash: "7e3a321b95d5f62f0da2b10324b485b6" + hash: "3430047eca214a217aca0bd71814f4db" } Frame { msec: 3680 - hash: "e842f18dfd36947b2fa086a4d0bb2ec5" + hash: "974c431fe7030990389c7fc719655cfd" } Frame { msec: 3696 - hash: "a9359e143dae4113437a43cc00493479" + hash: "d38f3153b3cf39a278dc6948ff9ef71d" } Frame { msec: 3712 - hash: "2eca61c837cca9beb6d1834eafe8c538" + hash: "0c6eec50abcf4afc20311ffa1326d4e8" } Frame { msec: 3728 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png Binary files differindex af0e781..da688c7 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png Binary files differindex 6f1878f..618d238 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png Binary files differindex 97f09f7..0688ed1 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png Binary files differindex 878875a..ec6e330 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png Binary files differindex cdbe606..1692d17 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png Binary files differindex 7b78f7a..d70704d 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png Binary files differindex d7b5943..f8f37c6 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml index bc900c6..3828e76 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml @@ -182,7 +182,7 @@ VisualTest { } Frame { msec: 592 - hash: "731c8547a72c64ac86aec87c0a9a12cb" + hash: "683d9f54c75f5b1ed082edb0b4559bc8" } Mouse { type: 5 @@ -202,7 +202,7 @@ VisualTest { } Frame { msec: 608 - hash: "d9d7dd7ea05499f028964fdd11af0fe6" + hash: "02e5238c0764f370d0f463cc3f477df7" } Mouse { type: 5 @@ -214,7 +214,7 @@ VisualTest { } Frame { msec: 624 - hash: "361879f350c448a484b71a9e7a42b87f" + hash: "02239cd84ce630a89b94dbcf469d9a70" } Mouse { type: 5 @@ -226,7 +226,7 @@ VisualTest { } Frame { msec: 640 - hash: "998da4b3e36ee3e17deb2b5a097661da" + hash: "6cdaa8ffc906ade671fe259711e76f24" } Mouse { type: 5 @@ -246,7 +246,7 @@ VisualTest { } Frame { msec: 656 - hash: "1b3f9758bd9842cc9545b494499f87c4" + hash: "db00a0d69efd43f69c83dafbf38a06a6" } Mouse { type: 5 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 672 - hash: "7e87f7c233dad50549e4bdafe10bb48e" + hash: "76fdf4cb75376ec3a9e084d93765c5cb" } Mouse { type: 5 @@ -286,75 +286,75 @@ VisualTest { } Frame { msec: 688 - hash: "01ceb2fea81f2192ab11d7d6e1df879a" + hash: "b12e86c13e012c5992930b3e559c337c" } Frame { msec: 704 - hash: "9afa862248bd527e07374a5c2f2036a1" + hash: "4056e78a59e8f1e030f3e3a51c436b46" } Frame { msec: 720 - hash: "e06439495148bfbf059cfe2b5df22840" + hash: "c84781b7586943ef889b8911c23e91db" } Frame { msec: 736 - hash: "b206a28d6f3be8cba9595849328b27b8" + hash: "cd952ffa63dbcb772b666ce755c9a2f1" } Frame { msec: 752 - hash: "646e4529bf554dceee0140ec56a02d1c" + hash: "2a31778e3ab7c676ae82278948cef12a" } Frame { msec: 768 - hash: "31bdcf1f178d65e033e23dfbdcb9dc5f" + hash: "ef6319b262fc299b14b40d1521f9c9c3" } Frame { msec: 784 - hash: "b4e897356814ca2dddbc3644b1782f36" + hash: "05ccb24a2025df31188b413c8d837232" } Frame { msec: 800 - hash: "669e5d682aae8727640e0e0f4e855a60" + hash: "df31f9dba1a762397c0364d7e83052ef" } Frame { msec: 816 - hash: "892007b1a379c617412502499df92d01" + hash: "6eec07606ef320072ea23ceedb3f6b29" } Frame { msec: 832 - hash: "f4d66daa2d428aa712a73ded2de7a361" + hash: "e3502cb53c6e17373de3b718a8212f4d" } Frame { msec: 848 - hash: "0c21e69bed6dc2d6b7c23c20714aca67" + hash: "2e01e2e252ca9fb3e7107f04a3ba4031" } Frame { msec: 864 - hash: "189909bdbfeb1f02ad527fbc438d567d" + hash: "547a9f25404c2bf7737526faf67a459d" } Frame { msec: 880 - hash: "b2fcbc0657474e1b6d27e1f2f93be35b" + hash: "aa9c3122e3c2a7ed450a0afffbcf4e6a" } Frame { msec: 896 - hash: "4407d7ad1b6a40b2355145aee136ff15" + hash: "1535dea92038cf87395a616841fd9bf6" } Frame { msec: 912 - hash: "347ada687af0a97f0a862a1f3a1132be" + hash: "1535dea92038cf87395a616841fd9bf6" } Frame { msec: 928 - hash: "db6217ff0194c5a3f9ca9ea7e3b3dfd8" + hash: "1535dea92038cf87395a616841fd9bf6" } Frame { msec: 944 - hash: "8a94ca0ee93daaa1bdcdbfc8a80713c1" + hash: "1535dea92038cf87395a616841fd9bf6" } Frame { msec: 960 - hash: "ab24d0c8545518cbaff876976247be2c" + hash: "1535dea92038cf87395a616841fd9bf6" } Frame { msec: 976 @@ -450,7 +450,7 @@ VisualTest { } Frame { msec: 1216 - hash: "c612bb9906f18786ef7cc6f4e56de218" + hash: "aa9c3122e3c2a7ed450a0afffbcf4e6a" } Mouse { type: 5 @@ -470,7 +470,7 @@ VisualTest { } Frame { msec: 1232 - hash: "ffec210dd863ed32a780506f61b06056" + hash: "b889647c08af7db2e6582d9927cb1cf7" } Mouse { type: 5 @@ -490,7 +490,7 @@ VisualTest { } Frame { msec: 1248 - hash: "9613c658f267d19b84d6e7ef2a676fed" + hash: "ac97616fc3c54711bb067cc72c15d4c5" } Mouse { type: 5 @@ -510,7 +510,7 @@ VisualTest { } Frame { msec: 1264 - hash: "8c5dd8d0f9f434530b20e14a84af9f46" + hash: "b38c46d537e6e622c8a0ecae76dbe506" } Mouse { type: 5 @@ -530,7 +530,7 @@ VisualTest { } Frame { msec: 1280 - hash: "a956e8e9ca8958c387f8f5ce374cdec9" + hash: "6261f2f16bdd89142cfbf1de4ce64a32" } Mouse { type: 5 @@ -550,87 +550,87 @@ VisualTest { } Frame { msec: 1296 - hash: "712e865d894f179cfd9d86b08e60811a" + hash: "d4f8d57bae3d5bc888a4bbe2812b3fdf" } Frame { msec: 1312 - hash: "db5c1f2af2e72ff4edce83cb342b5263" + hash: "4e0a90dda433c1615ea367ec90917409" } Frame { msec: 1328 - hash: "834f0aa26c66234491468c1b27a2d329" + hash: "b20e244f27dae505568fcba25cccb5d8" } Frame { msec: 1344 - hash: "78a2a4b60db730a7367bc77e1dfc1a1b" + hash: "f31d264a002718787ea55a6312c7f9f2" } Frame { msec: 1360 - hash: "a8ff2277b5f7d515bc5a9af1f0e77197" + hash: "0abbf36b5e3f2db9288bde05825dc111" } Frame { msec: 1376 - hash: "e05d730624025000b831860f5b99e8ac" + hash: "64fc0f18174f5e8002cf79a908cc08df" } Frame { msec: 1392 - hash: "54aa124492ea742e4327f1d2b45ab620" + hash: "430d7719ebf3b5835af92683cff10e56" } Frame { msec: 1408 - hash: "bc700bee41ac384a2555723b010e9041" + hash: "411a8fe1ee3a0510574cbf6a69d23456" } Frame { msec: 1424 - hash: "26f66098c505cea4715a89b6a2232759" + hash: "47e431bf01575c44f7c1fa3e20409866" } Frame { msec: 1440 - hash: "00f3255a3ead315410d8c0d338779689" + hash: "d17b62a0b52b4a5220b29b55f764abc6" } Frame { msec: 1456 - hash: "154e7d86d7602ebba38a0d63b211894d" + hash: "9bd0d8dfbee424bd0ccf72703a7c51c2" } Frame { msec: 1472 - hash: "87cf2bff69ebd75af69d0a7c7f668b07" + hash: "8ef880c18ecd8adb66e7e0a2dceb61fc" } Frame { msec: 1488 - hash: "f221b870ecccb1669b6223e5431c31d1" + hash: "fcc1bc7f35342f595448ca2870478b50" } Frame { msec: 1504 - hash: "40a9d4c522d9fd831be2ca698ac10670" + hash: "cf360de1c6649e45beb974ddbe436ea9" } Frame { msec: 1520 - hash: "7ad47479d99fd4d9fde96fef242bdc20" + hash: "b2a6acf1fed92069fd2779b1fa236c95" } Frame { msec: 1536 - hash: "b91912801c790d849399306c693a4d33" + hash: "7128a442b6bb06038477d46ac3da5021" } Frame { msec: 1552 - hash: "e5c8d361abcbc15df0b0b82728cb5b84" + hash: "6a0ab3ccc3749b9a2b9a5b5851b0cf70" } Frame { msec: 1568 - hash: "3f2f82c925e93d4593581cdba16f361f" + hash: "18f6cdad215c55ea8335d06110715aa8" } Frame { msec: 1584 - hash: "7007fd0595c188a9a5b3ff31b0514aa5" + hash: "137420f4b1f51440c3aefd18dbdad71d" } Frame { msec: 1600 - hash: "118661091df765ae35c152c7fe818029" + hash: "faf898388f87948fbacd74589cb18af0" } Frame { msec: 1616 - hash: "0a8edd2a35f7921ced6e3aa7e571bc4b" + hash: "b818181b3fee6f5a35a0da6c0f8e240e" } Mouse { type: 2 @@ -650,7 +650,7 @@ VisualTest { } Frame { msec: 1632 - hash: "ef734ce4d7e1aee19a78b743c9923f90" + hash: "2e74cc22a4e5b20cc231bc08e15e662a" } Mouse { type: 5 @@ -670,7 +670,7 @@ VisualTest { } Frame { msec: 1648 - hash: "09a9925d5ec2fd03cfbf469bc22bf201" + hash: "27be226c985bb0143d1dca3e4be4b10a" } Mouse { type: 5 @@ -690,71 +690,71 @@ VisualTest { } Frame { msec: 1664 - hash: "6babcbf5582d5ed8f0cf52e233867055" + hash: "9384d46806b2a8091b6d16f7636d6ae4" } Frame { msec: 1680 - hash: "94dae9d52f3523e17f3f0e59ca24a069" + hash: "684a17820c3693d893f8199cd7c7076f" } Frame { msec: 1696 - hash: "0d417d25893a0454a729f5c23a2a6c28" + hash: "dc1facc91b6935983bbcd2eada452d4d" } Frame { msec: 1712 - hash: "afd1bbca1dcfea8d1f0a340d86b07fa8" + hash: "6bb08cc431a3ecca1a553ea10669bb0c" } Frame { msec: 1728 - hash: "97e98982742b94dba8b6cb59397bcb66" + hash: "1330640d4ca9ac69dd089cea34b7f61d" } Frame { msec: 1744 - hash: "a0ad8cbbd0daa0afd3831e8a071b9a0e" + hash: "95370207a55b56c41923937b40d5fe6b" } Frame { msec: 1760 - hash: "f71826bcd6ea91d2f64d627a390c379d" + hash: "c36b60f81e7de5c0e5a59655041adff2" } Frame { msec: 1776 - hash: "7699da01cf1ee9a7f404ab053241b530" + hash: "297abbc6b38a1909324fcee6d8b1d908" } Frame { msec: 1792 - hash: "6aba727ecc562d7b5555eae427e6978b" + hash: "0af89e3bab7c517f375897239ea35153" } Frame { msec: 1808 - hash: "ef9c6daa5b04b0be9159594e04524fba" + hash: "05109c3dfac7f65fe00e81d1a145f048" } Frame { msec: 1824 - hash: "6293ede5de83f3b01a3b4d8d87648089" + hash: "57e1e871cbbc627f2fb9bf5583c4f097" } Frame { msec: 1840 - hash: "c3b34d8592f88622cad0f9353d08e739" + hash: "5220aecdd1516d94f0698e79f17fee57" } Frame { msec: 1856 - hash: "880f3cb9d5dbe06cdf17e3a953d4562d" + hash: "f3d8c908e61e5d61bbeeb9c6b5e8a704" } Frame { msec: 1872 - hash: "ed381ce920863a5a6627f383a88ea2fe" + hash: "f27867aeb39ef64ebd50b5d79b69337e" } Frame { msec: 1888 - hash: "b5bc40b8c4abb6458aeb67eda73507b6" + hash: "b807b4e74a0f008df3f4534901debe38" } Frame { msec: 1904 - hash: "482cb61b7fac4b1654483f846b8b6717" + hash: "e19832a0a7fcd57efe46cb0102a8d418" } Frame { msec: 1920 - hash: "e1a4a16d2cf5132a9fbb0869ed6082d9" + hash: "f0dcfd9b22f385fedfde964774480f85" } Frame { msec: 1936 @@ -762,171 +762,171 @@ VisualTest { } Frame { msec: 1952 - hash: "f8874aaab1e65cf9b86d6b5174c3d2c8" + hash: "746c60e03c50dc2e28c62fe52a8dd9d2" } Frame { msec: 1968 - hash: "d8490adeaa793352b812e832f4cb079a" + hash: "27d6da44b605cb38552147fdf451ef45" } Frame { msec: 1984 - hash: "85fdb99926ba34a25fa964df11af9a5a" + hash: "c41d5491c417531ee86ac6ec8571c6a8" } Frame { msec: 2000 - hash: "ad137a75981c181838d97cbe313063ac" + hash: "ac57c578e7e2cbb57e982d6da5fb7268" } Frame { msec: 2016 - hash: "bfa5cecfc0058b56ca66aa816ea098dc" + hash: "db40e242fabf119f0e7187eeb96a34a5" } Frame { msec: 2032 - hash: "53fe3960c2f332eb099fedd8421fcc94" + hash: "0850d4b73a664ee0f1ed6d6e0615ea80" } Frame { msec: 2048 - hash: "61b99ff526560c1589d2fc8737af2af2" + hash: "ae6cb0bfda1cea70b3641251d0dc60c4" } Frame { msec: 2064 - hash: "f9dd63709bed985f5d691d27c0d32484" + hash: "67a28c2188aecfc5dcccedd257789dbc" } Frame { msec: 2080 - hash: "964c20ada9ad9e83edd9b429bf681b83" + hash: "4355f220c8a87ad981088fb23bb15f11" } Frame { msec: 2096 - hash: "997bc44a319c8ce8212387f7564c4005" + hash: "2081c1ffe35f20dd827b3d9f52be90b3" } Frame { msec: 2112 - hash: "892eda6e7446321483ffb1dbf44a0432" + hash: "ba13b0b4790aec7084b5553fe0b0d72b" } Frame { msec: 2128 - hash: "62068dca6da7227882b6c3bc147c6f24" + hash: "7f289e50f1bbd570b6bc2ca1998f8493" } Frame { msec: 2144 - hash: "2cd0c351c53234d4bbf4d2c74d313f59" + hash: "8bb3a37f416032d40cb5f919abb42e30" } Frame { msec: 2160 - hash: "cf812f971bb4f8ab3116cf2b14c325df" + hash: "bcc69f859b3bff759e0c732c7adc23f0" } Frame { msec: 2176 - hash: "be296bd9ab4c38d95e6d7d445d8c7f68" + hash: "d3e8aae08a2518c039d6bda80fc520a4" } Frame { msec: 2192 - hash: "536d0214c8c3f69ce8d4e1585128b2b8" + hash: "955212dc28a6f8fe59c658401284d3a3" } Frame { msec: 2208 - hash: "f71452a0a6ef80758800d67e601a162b" + hash: "8eebcff152288a4ab2a3e64fd7ba6f80" } Frame { msec: 2224 - hash: "e57c099beb70d0a4ca2cbc94a2c3887e" + hash: "85fe363271d480163fb7847a3501472f" } Frame { msec: 2240 - hash: "84cea22f64ff8b8838a7db0b19af1a4e" + hash: "23190380ddcc4e3afce2164a4743d179" } Frame { msec: 2256 - hash: "04aa0d5d089779977f569d0f849b97dd" + hash: "40ca7c3d24883a8d3457de934b247280" } Frame { msec: 2272 - hash: "85b52e125142d52d531132939930dd93" + hash: "299ed19fa4d213e0e9dd127e8799d5fc" } Frame { msec: 2288 - hash: "19bc7b318c21a6ce2be8ebde2e624fc3" + hash: "e39a067860fa7dcb4efba87aee58cc77" } Frame { msec: 2304 - hash: "9cc744249cb031f0400e87893c1642af" + hash: "a709045723c4a9a2e85295fcc360eea9" } Frame { msec: 2320 - hash: "a834706bbf573f37cf9f59c6c6cbbfa5" + hash: "029428301287e4c7cd2f8a1fa6a25381" } Frame { msec: 2336 - hash: "8db3eea9d47a162d8b0ee9cd18e194f3" + hash: "aef25177af3511dc99004a1e37f7f5d3" } Frame { msec: 2352 - hash: "29da9b8da8f572ace93250abb8626a90" + hash: "f9e11fd7023a72366dacaaf19b2eb81c" } Frame { msec: 2368 - hash: "179b74316d885f9ee41066b9c475b57f" + hash: "51f7c896d79c900a2b54a8c756228200" } Frame { msec: 2384 - hash: "35464509ef5a9919af46a30d40c3edc7" + hash: "28c18081813c801c6793873ec23e6c0c" } Frame { msec: 2400 - hash: "aadec42355d38d149421ef6c93783e69" + hash: "39df3050c4100e8a4f6e648b4aa16ba7" } Frame { msec: 2416 - hash: "cb8609791270e8e3c13da4579f85595f" + hash: "752cb6969fa8b76abf4bb229edb2c21f" } Frame { msec: 2432 - hash: "93e81e036a1bc30cc63ce703f8f43a34" + hash: "54d50f6c980cb04a1634622a29a6f0e9" } Frame { msec: 2448 - hash: "d08d18adf9ca92cd6597c2f51ae90383" + hash: "d510db233f025b026f896b760848cc07" } Frame { msec: 2464 - hash: "f54ec103787023647beaa4b992340385" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2480 - hash: "61c9f72d78fce0b966a278abacc97ce6" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2496 - hash: "5b0500ed0562b11280c3424412f74188" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2512 - hash: "b8ee7bc1e94ce35bf946ee71fa03d72c" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2528 - hash: "60ec6aceeaf82fc730c3df55b5c06f90" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2544 - hash: "01cc732bad8b28483e79115c117ee26d" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2560 - hash: "b39c8d373524ba679c8567d16e6c5fe0" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2576 - hash: "2474476dfd021ff485c3a127bd22367e" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2592 - hash: "1342a1a0f6bc02159de1be058cf2411b" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2608 - hash: "a9721b64b9a5526335937245302249ae" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Mouse { type: 2 @@ -938,15 +938,15 @@ VisualTest { } Frame { msec: 2624 - hash: "109dc503ee86e731f52d25908daf5d36" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2640 - hash: "94998dbab6792c518ca1f37f060f1d4b" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Frame { msec: 2656 - hash: "3146ba4e63fa74279939b8de935f067c" + hash: "e5c8d361abcbc15df0b0b82728cb5b84" } Mouse { type: 5 @@ -966,7 +966,7 @@ VisualTest { } Frame { msec: 2672 - hash: "1aaea4143076bf8ba8190d94fcc89e64" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -986,7 +986,7 @@ VisualTest { } Frame { msec: 2688 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1006,7 +1006,7 @@ VisualTest { } Frame { msec: 2704 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1026,7 +1026,7 @@ VisualTest { } Frame { msec: 2720 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1046,7 +1046,7 @@ VisualTest { } Frame { msec: 2736 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1066,39 +1066,39 @@ VisualTest { } Frame { msec: 2752 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2768 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2784 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2800 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2816 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2832 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2848 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2864 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2880 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2896 @@ -1106,51 +1106,51 @@ VisualTest { } Frame { msec: 2912 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2928 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2944 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2960 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2976 - hash: "a0d8bb20189c3c65e5e72671788d9493" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 2992 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3008 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3024 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3040 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3056 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3072 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3088 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 2 @@ -1162,23 +1162,23 @@ VisualTest { } Frame { msec: 3104 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3120 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3136 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3152 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3168 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1190,11 +1190,11 @@ VisualTest { } Frame { msec: 3184 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Frame { msec: 3200 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1214,7 +1214,7 @@ VisualTest { } Frame { msec: 3216 - hash: "1236a317e60f7ae3d3fb2fb521bad2a2" + hash: "f728208b0fc2f230313c86378cf7f419" } Mouse { type: 5 @@ -1234,7 +1234,7 @@ VisualTest { } Frame { msec: 3232 - hash: "1b604ea70459a768fb37a6333000174b" + hash: "7d43010a9951054df82571936a04cc50" } Mouse { type: 5 @@ -1254,7 +1254,7 @@ VisualTest { } Frame { msec: 3248 - hash: "25e0aabe364085a61b4572ef015dac2c" + hash: "ab1980970c82238d2c37d61db4fc5153" } Mouse { type: 5 @@ -1274,7 +1274,7 @@ VisualTest { } Frame { msec: 3264 - hash: "ee6fc5c1de08e6f13f23b26829d2cba2" + hash: "849ffa1fdd718a48e9570b88987f9203" } Mouse { type: 5 @@ -1294,7 +1294,7 @@ VisualTest { } Frame { msec: 3280 - hash: "b077c59359d047738d9ba739f591393b" + hash: "d497eff3c8879d30619630e7ffcbf5c9" } Mouse { type: 5 @@ -1314,7 +1314,7 @@ VisualTest { } Frame { msec: 3296 - hash: "2cc0b8d7bd088f2277f5e939c234114c" + hash: "b0679dfe2f631e41f5cc269bd16d742c" } Mouse { type: 5 @@ -1334,7 +1334,7 @@ VisualTest { } Frame { msec: 3312 - hash: "64703db84cd5bda3109546293783804d" + hash: "ab2d88a4cd58d0064c32660272ff1dbd" } Mouse { type: 5 @@ -1354,7 +1354,7 @@ VisualTest { } Frame { msec: 3328 - hash: "137cd88932ad1fdbfdbf1a80cccf7b3f" + hash: "ea3cff28ff3be273332b19a2b8acb95e" } Mouse { type: 5 @@ -1374,7 +1374,7 @@ VisualTest { } Frame { msec: 3344 - hash: "ff9011d861c64bcad214b52cb4245583" + hash: "458decd62af57d333a07459c89e62393" } Mouse { type: 5 @@ -1394,7 +1394,7 @@ VisualTest { } Frame { msec: 3360 - hash: "c3f0132e472d29ddee95c7349243d33e" + hash: "1347a26241ed98d4913e1cb6cda58286" } Mouse { type: 5 @@ -1414,87 +1414,87 @@ VisualTest { } Frame { msec: 3376 - hash: "42ae9c21dce6a7cd59de228dac775dd5" + hash: "2efe07858c0c4de7fd3e339d7a24d5f5" } Frame { msec: 3392 - hash: "3f8631caf6a98d83356b188d6f94e9a6" + hash: "3edbe6755710ce148341faeb6980707a" } Frame { msec: 3408 - hash: "b2788cd1939a6dd42f12d8fd1282a122" + hash: "0f53231de64ac5b0503e92ad10155dea" } Frame { msec: 3424 - hash: "0d1ab6e9f2780be0c392d20f4b3b9619" + hash: "f2be693c23ea0885d6e8180c3062ba76" } Frame { msec: 3440 - hash: "03fdd91b352798b1ff958c23c0bc5f35" + hash: "207003ce6908f9707e9193a6c82a40c0" } Frame { msec: 3456 - hash: "028fee3630fdb3cf862213c0466a56fe" + hash: "ba86efade16e8965f59f6257ae90d131" } Frame { msec: 3472 - hash: "3ab76009ca029723e5cf0bf9bc154102" + hash: "1fdaaa68c4ed484536c207a0eacf6e72" } Frame { msec: 3488 - hash: "866c59b7dd545364b70ddbf21a8ee874" + hash: "d1223c8254f9e7e37c4e09628f38bce2" } Frame { msec: 3504 - hash: "9b4ff972b1055db38900fc0c5007e7b0" + hash: "c822447614f47b5e15ffad967964a061" } Frame { msec: 3520 - hash: "cbe0073c84617e23f0679a08c1a78492" + hash: "5eb2e64f11847cc9360291e14e866611" } Frame { msec: 3536 - hash: "374a5e6070dd628ed031e80d44be1f3f" + hash: "545dcc2645b50d78c84c658880d0500c" } Frame { msec: 3552 - hash: "4d16c81f877585a82549cfc4f68c574d" + hash: "9d984e07b99137b3cb57dd4df16b8237" } Frame { msec: 3568 - hash: "64b2b4c374a730b138b3573095f45d2c" + hash: "da27085e7a3cccde7cc3db2d9c6cc2cd" } Frame { msec: 3584 - hash: "26c59f4131fdb01ac4771231341c75c3" + hash: "8d8c117ca102cb93e752904fe3aee7bc" } Frame { msec: 3600 - hash: "bf6a3fdb7c516ca9cfc09f1059cc8cdf" + hash: "bfb5ed7b65f36d80e3156560a0ec58b7" } Frame { msec: 3616 - hash: "1bfb86796087cd293c68205cce6ac294" + hash: "bbd5f2b95325fde3b8759f2ef713c6bd" } Frame { msec: 3632 - hash: "e0f76f8fc7bd7756a4e004655f97f782" + hash: "1c36be8deb2079ed81f1718c92e44803" } Frame { msec: 3648 - hash: "61d3aa5f827452482d8a4a903fe64acc" + hash: "5a424e7e66d87d278483c43070920d56" } Frame { msec: 3664 - hash: "c8e42d3a5df195eaa091e50fc9dcd51e" + hash: "ae28bc20e20e022e1ac9bc2ddac0e134" } Frame { msec: 3680 - hash: "bb684dccf4c0a74dc091fb78c1be4f2b" + hash: "1551c4aae06a258bdadc9ef356724871" } Frame { msec: 3696 - hash: "54341e5a76fb4657021c41e6e3f3d496" + hash: "526aec43f710e524d247f8a4b08c261c" } Mouse { type: 2 @@ -1514,7 +1514,7 @@ VisualTest { } Frame { msec: 3712 - hash: "435ee710e108df42f659250ad7dbdb5e" + hash: "b50ef7198c1831623ed2210e651ac618" } Mouse { type: 5 @@ -1526,7 +1526,7 @@ VisualTest { } Frame { msec: 3728 - hash: "0c7078ec0d4a1dea84e0fba06323c533" + hash: "913269856c18d4f478eed1aa1d5ae293" } Mouse { type: 5 @@ -1546,7 +1546,7 @@ VisualTest { } Frame { msec: 3744 - hash: "854103790c02ca86fa011ef1b0f2be0a" + hash: "2c6a32e167bef4c3de0ca97e5764f31b" } Mouse { type: 5 @@ -1566,7 +1566,7 @@ VisualTest { } Frame { msec: 3760 - hash: "1a5995196e5bb4d1464ca76191af72d5" + hash: "88386cf4d982c5ca4e3fbd3519d9bd9c" } Mouse { type: 5 @@ -1586,7 +1586,7 @@ VisualTest { } Frame { msec: 3776 - hash: "397bbd080cae99790621642fab6ded91" + hash: "ecf04273061af5f881925f3a33015fbb" } Mouse { type: 5 @@ -1606,7 +1606,7 @@ VisualTest { } Frame { msec: 3792 - hash: "66ecad306911060329dcf7695c358e87" + hash: "b09c45ea79cd818bac6fe35e4167d4bd" } Mouse { type: 5 @@ -1626,7 +1626,7 @@ VisualTest { } Frame { msec: 3808 - hash: "c06da5f40f3f59f576a1d540d0b3244f" + hash: "4a1dbbac65a3caac16b38c45be61003c" } Mouse { type: 5 @@ -1646,7 +1646,7 @@ VisualTest { } Frame { msec: 3824 - hash: "a88d97691539dce19af4c14baf610275" + hash: "f4a805fc5c12cc3b2a22ef01050bf3aa" } Mouse { type: 5 @@ -1666,7 +1666,7 @@ VisualTest { } Frame { msec: 3840 - hash: "a07dca2c0014609ca5241612550992f5" + hash: "aa7805e4d806c4c56ded804145c44464" } Mouse { type: 5 @@ -1706,7 +1706,7 @@ VisualTest { } Frame { msec: 3872 - hash: "e5a4e76dd607ba1bae97aaf184ee009a" + hash: "fd2eab6b3a65713f057da22a412512c7" } Mouse { type: 5 @@ -1726,7 +1726,7 @@ VisualTest { } Frame { msec: 3888 - hash: "bb1d2614e590562479fc8d301bc7402f" + hash: "0dda191a66162db6365c663979b0990d" } Mouse { type: 5 @@ -1746,7 +1746,7 @@ VisualTest { } Frame { msec: 3904 - hash: "5d9fd2238666d3ae04613f1bba0fab05" + hash: "72a57fe4fc34a19040890a9e2a11dae5" } Mouse { type: 5 @@ -1766,7 +1766,7 @@ VisualTest { } Frame { msec: 3920 - hash: "b12a944cb5e593afbb21a10453879b52" + hash: "fd18bd5f8f09c995f122b8b4ecb80279" } Mouse { type: 5 @@ -1786,7 +1786,7 @@ VisualTest { } Frame { msec: 3936 - hash: "2f04c990978627b86fb2ad04579db0db" + hash: "8d33b6fa9d6525902e5611cf8ed2fa1f" } Mouse { type: 5 @@ -1798,7 +1798,7 @@ VisualTest { } Frame { msec: 3952 - hash: "e7ddf142fc36174fcaaa70b9340ef7a8" + hash: "d73a8eba0c43f214946052481f3db98f" } Mouse { type: 5 @@ -1818,7 +1818,7 @@ VisualTest { } Frame { msec: 3968 - hash: "4fce53c6f5347fe03ecf17b07fabe3ac" + hash: "c2f101636963ff5c61be2ad83c6b7ceb" } Mouse { type: 5 @@ -1846,111 +1846,111 @@ VisualTest { } Frame { msec: 3984 - hash: "75a0ec2c0158c55a90147c3f4afaa19c" + hash: "54630f489303c7ec2e94b4c941bd310f" } Frame { msec: 4000 - hash: "e89e98b7c1f36b74c664c77e121dedcb" + hash: "357106c752b13bcca047d55a3c7cd486" } Frame { msec: 4016 - hash: "f4c1e52a7b97a25fba640be2a1430d2d" + hash: "b00b78122721ddcded2c7131cfe40d53" } Frame { msec: 4032 - hash: "be58ca8f63dac8373825231512f483ca" + hash: "7da9e4197cb9be292e561790af1caa27" } Frame { msec: 4048 - hash: "755b16d4be00cb52595d42775d6227ac" + hash: "076fefc33455667af954dcc5a06017d3" } Frame { msec: 4064 - hash: "c62f1ebbb1e4ae4ca22c060078d6240b" + hash: "76edfedd2b9edcc5770dcce87b022427" } Frame { msec: 4080 - hash: "5f1187e9530584f9eb81ce1ce8267da0" + hash: "12e6711077da076b737aef1aaa336d42" } Frame { msec: 4096 - hash: "5dc9921e9ddf15ee0457fcdc834544c5" + hash: "1e19329fb839a00faa3b95d13b7a9015" } Frame { msec: 4112 - hash: "efacedc2782435ef4e269e6956fb3547" + hash: "7469fb57ce0b7ea9a7cc6da14f6a245a" } Frame { msec: 4128 - hash: "5b356dd3082f6b0920bb41d332595ce1" + hash: "17e3aca0838e2ba75cc9b869bb969220" } Frame { msec: 4144 - hash: "5d8afcc1abd890beb2badf85bcf02897" + hash: "32ebb24cee3ba65f9242708538203553" } Frame { msec: 4160 - hash: "03c56ab4fea11cce19fcbb62dccb7683" + hash: "948429b8ded1f688cd7e27e0f056f40c" } Frame { msec: 4176 - hash: "236254ce32a8e06dc42f2fd3c9ac6c7c" + hash: "c6fc2e8519a31bc18eb924ca98cd24be" } Frame { msec: 4192 - hash: "4beb33da77bc2b41eb882a2a5cdeb539" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4208 - hash: "b345470adead1ffb3af4d1091ffbd95c" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4224 - hash: "c2677f1653b08952338a5c26a724ebe7" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4240 - hash: "45b6633acf0ac28c5b5462920cf61282" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4256 - hash: "26a9a6609ce8eee1f744c2bd43494f22" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4272 - hash: "9373a8010a05d05cb5b3c2ec75359493" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4288 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4304 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4320 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4336 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4352 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4368 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4384 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 4400 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Mouse { type: 2 @@ -1962,7 +1962,7 @@ VisualTest { } Frame { msec: 4416 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Mouse { type: 5 @@ -1974,7 +1974,7 @@ VisualTest { } Frame { msec: 4432 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Mouse { type: 5 @@ -1994,7 +1994,7 @@ VisualTest { } Frame { msec: 4448 - hash: "d0c561761825512a02a9e3640139cadc" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Mouse { type: 5 @@ -2014,7 +2014,7 @@ VisualTest { } Frame { msec: 4464 - hash: "0e7554f077e2d6d8c6cf9496b20ab009" + hash: "d8f9d016318e0bd38d4654b4850da952" } Mouse { type: 5 @@ -2034,7 +2034,7 @@ VisualTest { } Frame { msec: 4480 - hash: "d6e78f43c971abcc1d2aadb96e8b80b0" + hash: "13a2382e08ab10ecb40f9c24c682a797" } Mouse { type: 5 @@ -2054,7 +2054,7 @@ VisualTest { } Frame { msec: 4496 - hash: "10d8e0ee5bd432c639963c9cedd25b85" + hash: "cef145c5d105466f3913bb81bb2b58df" } Mouse { type: 5 @@ -2074,7 +2074,7 @@ VisualTest { } Frame { msec: 4512 - hash: "53e142d6b0112644d75df29f7865fbb4" + hash: "9bc0a21266bebbf8fc3509e5f92dd77f" } Mouse { type: 5 @@ -2086,7 +2086,7 @@ VisualTest { } Frame { msec: 4528 - hash: "9609807e6c2a27a8b9f1d5c878c3dadf" + hash: "e419dbe857667b014e4dd9b57b01bbe4" } Mouse { type: 5 @@ -2098,7 +2098,7 @@ VisualTest { } Frame { msec: 4544 - hash: "a0a1e5fd37e9d8033f182f4f2b20fd26" + hash: "411cb7a7f331161059faba4ae6549229" } Mouse { type: 5 @@ -2110,7 +2110,7 @@ VisualTest { } Frame { msec: 4560 - hash: "b40e553dc373e4018488d5421b9a8914" + hash: "b008d6b2b444881c36521595f6b31539" } Mouse { type: 5 @@ -2122,7 +2122,7 @@ VisualTest { } Frame { msec: 4576 - hash: "22e36512a0af86fac12c09f735dcb1f7" + hash: "77fcc3c74c3832ae6b80aec420cb06e0" } Mouse { type: 5 @@ -2142,59 +2142,59 @@ VisualTest { } Frame { msec: 4592 - hash: "70e9ad0f56e4c37f8684e38f614b889d" + hash: "41d1c54bc76caeae057fb1bdb3b93843" } Frame { msec: 4608 - hash: "0754126f5738e3dcec35fc1ef65fdec3" + hash: "03fdd91b352798b1ff958c23c0bc5f35" } Frame { msec: 4624 - hash: "b3d84ceeecc294d21bc09a3197195c20" + hash: "2098ea8b55b54ca8dd648fb285c43ebf" } Frame { msec: 4640 - hash: "ce00501e194b1056edf1ebd43b954a70" + hash: "9929c509654819fd04da4e4b5c8e22b4" } Frame { msec: 4656 - hash: "793f41ac2568530e6d630446216833dc" + hash: "c470d3a57c6b56f9f56b176823b27d53" } Frame { msec: 4672 - hash: "e8573de724b653439bde85c15e9555ab" + hash: "37474b3a23f90dafee6b9e0043a702fa" } Frame { msec: 4688 - hash: "bfb3f3645c7b2425b686ac23bcef82b8" + hash: "0fbb6a9fded011b010fa6f3a2819630c" } Frame { msec: 4704 - hash: "faa78596e208c2cf4593ea25e31fabde" + hash: "6c5a7dad864999548257e4bf0ddc3687" } Frame { msec: 4720 - hash: "f1b0931bffce37abfe5a6d635f1f8454" + hash: "339bc42e559c66d07f37af5e06feacef" } Frame { msec: 4736 - hash: "0975630a55bfd56eb3e39426c1c3f1e5" + hash: "513dc773dc93275e32fa9ac61e6dcb46" } Frame { msec: 4752 - hash: "98f1d79153a8009123abc94141375779" + hash: "b725c84435b1f387dc3f375280e39de6" } Frame { msec: 4768 - hash: "d864817f877a9eeb44c665518ea19687" + hash: "f3d04b513df286aacb9ebdb107d7a0b4" } Frame { msec: 4784 - hash: "79745c267d14e7790e1bb3a7e76f20b4" + hash: "c22839005ed0cb6b2fa9c958d17fd948" } Frame { msec: 4800 - hash: "ec038d4cec64b847711fa221f808bead" + hash: "2fb9a2d5d22a6d0ed567328ffaa512f0" } Frame { msec: 4816 @@ -2202,239 +2202,239 @@ VisualTest { } Frame { msec: 4832 - hash: "ef7b3f93abbf210f8f0d38a58380dc8f" + hash: "ba13b0b4790aec7084b5553fe0b0d72b" } Frame { msec: 4848 - hash: "f0eea63127df25f7f818596fc034fef8" + hash: "2bc983733d4004cc67a56d77e9f48e5d" } Frame { msec: 4864 - hash: "8000dee3ea54522a8193a7f9f2e86023" + hash: "0f729cbe41b155b6eef20a4be207b853" } Frame { msec: 4880 - hash: "111485ebaf93aae4f5e0a83da898bbac" + hash: "c2ca47a7d70ef827029b32c11a052b83" } Frame { msec: 4896 - hash: "4b2dee1fd88dcaeabc8235f6a0e5c090" + hash: "803aefca7f1cbd494d2d2f7e7eea9a3f" } Frame { msec: 4912 - hash: "5e560c777d0294dfa8f249232bfcf3a2" + hash: "2641683e1fa9ed418ac89631be7922f1" } Frame { msec: 4928 - hash: "d8b490092ca5ce3ef9b078f4768c382a" + hash: "3d9370305ca147625828f7ee3b34ca33" } Frame { msec: 4944 - hash: "28b2bbc3fd19786dd9c0ab718141c525" + hash: "5cdfdd22a0dc1ed78035ae4b5e2e26a7" } Frame { msec: 4960 - hash: "d1a61000ebc5a475c0223dde649c8054" + hash: "2af663981b43dbe699849eff4731829a" } Frame { msec: 4976 - hash: "d3e8aae08a2518c039d6bda80fc520a4" + hash: "b159d3a09666327bd2d860bf56920734" } Frame { msec: 4992 - hash: "9f3bd8654adb9af0457dd50ff71fcd43" + hash: "a1ed6f686f4cda9aa59bfd49deb8a075" } Frame { msec: 5008 - hash: "befe00fef613b7616e2dc668a5ed59c7" + hash: "c5f1862e7cbb1dcd6b303e58c525ab5c" } Frame { msec: 5024 - hash: "24e84e6998389aa119d7d9e0ac2206ac" + hash: "3cc5e5d87067978961eee6e7b33ada06" } Frame { msec: 5040 - hash: "2d3d2b66bf016c8e499f527dbf8923db" + hash: "74f3b0eae443bd9f171020fd973ca960" } Frame { msec: 5056 - hash: "52d24673729dbd53d3227675b7001b24" + hash: "432037812ab1a09e0d0b32dfaf0f876e" } Frame { msec: 5072 - hash: "4e5c807682d7b6b7839c047a7fb4ad93" + hash: "0eec7146b8df3b4892e89abd13b8bc9d" } Frame { msec: 5088 - hash: "319affea47c4a0b0e2c3db51b85430bc" + hash: "a01dc5f4b4307aa66068d21159dd64d5" } Frame { msec: 5104 - hash: "344962f0b88c7e8a33df71b4708fd1c0" + hash: "11eefdf5b1be8493a6ed9aaf519c7e17" } Frame { msec: 5120 - hash: "ac099ba8a5639b9c83b6f58f2b5bcf93" + hash: "55ed797b82f5bca2ac2b5954c44c041e" } Frame { msec: 5136 - hash: "2f8e57c93289dcdc758281531300e949" + hash: "498d4ca9faabf8b59e2359b60dc1aff2" } Frame { msec: 5152 - hash: "e4cc3bdf6068064bcfdd0014cc301e65" + hash: "78895368b141ab6d3a16f65f4389b2d5" } Frame { msec: 5168 - hash: "598c8a33e2bbf47b21df8b0636e0f0bc" + hash: "c73b27167bad79f3f3c5ebb64fa579c2" } Frame { msec: 5184 - hash: "6aea67c85370eee8447a22e2b9e8c44c" + hash: "fb05312d65155f0300f456d727698b80" } Frame { msec: 5200 - hash: "39e27a3376f4aba8510f7b0d90ca0e33" + hash: "6e974736a0ecea6a71c1a7052a14fa20" } Frame { msec: 5216 - hash: "0ff93a16a07af43bd5e22a2b00fd2588" + hash: "f5daf5bec03d3e56c877e9b2dc5701b6" } Frame { msec: 5232 - hash: "8b6004368b9b0a766f6b519820fe1ff6" + hash: "29793d2147563feb9ed0ebff18b303cd" } Frame { msec: 5248 - hash: "5d92c0a12ff138d1b2c75bd042be4ea2" + hash: "5b63dfa3cb7ac0847f2e63f9d2a0b2b6" } Frame { msec: 5264 - hash: "4386b0abe49106a0174154c726c301f6" + hash: "cf2f42dd9830d80f50df30e93a0b1ad2" } Frame { msec: 5280 - hash: "832da8d2a86caa3ca96f33d2cd49178e" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5296 - hash: "efee6ab1ba4a1112f2129aad12825667" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5312 - hash: "f20a7e67a4789c559b0b0a7656bd89b1" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5328 - hash: "350cc8c0085a8f79c9ea8880737a0b75" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5344 - hash: "b19715b4029ea489debf7c5a269aca98" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5360 - hash: "f383fcaf603af41650c5622bfaf136b3" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5376 - hash: "0c62a442367fc0bac5117da1327ed39a" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5392 - hash: "323ba45d158d983f359211f1a87b7ebd" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5408 - hash: "aeed1a31b8b77dac2c2858969ff2d86c" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5424 - hash: "27a9357730a97846ffeddd18492df04d" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5440 - hash: "42f78593e64585b33c8854e8ea92710e" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5456 - hash: "064f5cec99b9a351bebe2088019f46d1" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5472 - hash: "d3669826f94aa2afc1069ab967f677a3" + hash: "8abb0aa8951612338c3bb87c7a0d2509" } Frame { msec: 5488 - hash: "a118cf8892d29e6b70b4e65e42380c15" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5504 - hash: "f254260f01ff4697e9e3146cc106140d" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5520 - hash: "ec062b2bb87444115c2e8744b7f80bde" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5536 - hash: "4d45522a4e4253c810cac9cbf24c9b76" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5552 - hash: "532c3d3ead73836948a1036e8e69cadf" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5568 - hash: "4debea14aeac85ff4e64387938d8b010" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5584 - hash: "d8940cf6e39a1bd5e7216a83ce87a676" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5600 - hash: "fba6485f8a60a38ce2f3110137b1f2df" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5616 - hash: "8a8909b114332dd932b784a2640e9ff4" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5632 - hash: "fd901422400333c137240ef5f91928a3" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5648 - hash: "97b84a957515d5823e381fdd86d31fb8" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5664 - hash: "f3547ea694b88dd7d2fb8b04d6bf76a9" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5680 - hash: "9eb0da29d0c323b45e62d31bee97ce8c" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5696 - hash: "9d814096d27e9fbcffdf7e29866e0059" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5712 - hash: "6087185e1e8bf17545a7372be2990ab2" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5728 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5744 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5760 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5776 @@ -2442,126 +2442,126 @@ VisualTest { } Frame { msec: 5792 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5808 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5824 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5840 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5856 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5872 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5888 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5904 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5920 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5936 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5952 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5968 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 5984 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6000 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6016 - hash: "82e534c416dfe884e5abc2f91d902484" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6032 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6048 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6064 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6080 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6096 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6112 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6128 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6144 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6160 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6176 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6192 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6208 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6224 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6240 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6256 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } Frame { msec: 6272 - hash: "6839b467f32eaa79d4c1ce4905145350" + hash: "a29d4b3fa16829823e63bf83e7b62aff" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml index 4374b84..08499e7 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml @@ -35,6 +35,8 @@ Rectangle { id: photoPathView; model: rssModel; delegate: photoDelegate anchors.fill: parent; z: 1 anchors.topMargin:40 + highlightMoveDuration: 200 + flickDeceleration: 200 path: Path { startX: -50; startY: 40; diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.png Binary files differnew file mode 100644 index 0000000..6525dbb --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.png Binary files differnew file mode 100644 index 0000000..5b8d209 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.png Binary files differnew file mode 100644 index 0000000..cf012ba --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.png Binary files differnew file mode 100644 index 0000000..57e77a4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.png Binary files differnew file mode 100644 index 0000000..24d26bd --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.png Binary files differnew file mode 100644 index 0000000..a540734 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.png Binary files differnew file mode 100644 index 0000000..17da643 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.png Binary files differnew file mode 100644 index 0000000..e03cfe4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml new file mode 100644 index 0000000..98cd12c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml @@ -0,0 +1,1763 @@ +import Qt.VisualTest 4.7 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + image: "follow.0.png" + } + Frame { + msec: 32 + hash: "2ddcb50f5d285eb80a8136f0cf4cf85a" + } + Frame { + msec: 48 + hash: "519d93a844e05f8215139d91c9aef58b" + } + Frame { + msec: 64 + hash: "9f075a5547e4dc67cbe2ace2766395bb" + } + Frame { + msec: 80 + hash: "8fc48f74a51d45b4ea1fb7bd1d48002f" + } + Frame { + msec: 96 + hash: "a28fc4be5a5bb9ff36f796d9b071f02c" + } + Frame { + msec: 112 + hash: "ebc14c2905f3596ec451dd96409e6001" + } + Frame { + msec: 128 + hash: "4f270bdcff44006a56055edb1cda522a" + } + Frame { + msec: 144 + hash: "571f347e764bf38985768c85c2a13ba1" + } + Frame { + msec: 160 + hash: "b1aa23268167b7e2a1190288926f52c0" + } + Frame { + msec: 176 + hash: "06d548aef9a678edbf3ab4d3ce62a647" + } + Frame { + msec: 192 + hash: "daf6af0ae78f39566913c656450a66e5" + } + Frame { + msec: 208 + hash: "f101cd0c026ee0ed6ccef7a4aed302a0" + } + Frame { + msec: 224 + hash: "b3caa673f072c53d31d71109c9b33357" + } + Frame { + msec: 240 + hash: "8596f1d305d6b8f97b9feda9e69bdefe" + } + Frame { + msec: 256 + hash: "23c23df2c130aafb2092fe47a958a4cd" + } + Frame { + msec: 272 + hash: "66a4f2d8213264437a5f4d6cf10cd442" + } + Frame { + msec: 288 + hash: "6392490111813bad0a9467cc0c1746ed" + } + Frame { + msec: 304 + hash: "c115a47e0ecab63b881e2ec492d24e68" + } + Frame { + msec: 320 + hash: "c2a2b57e6f9ea2975c0846124d2dbc66" + } + Frame { + msec: 336 + hash: "8286c315dfda4241607b2de1154f869d" + } + Frame { + msec: 352 + hash: "3f0f7cae80357176892ff7628ec3153a" + } + Frame { + msec: 368 + hash: "d13bde4a5b5ed8202f92ae33913166c9" + } + Frame { + msec: 384 + hash: "b70cc32134b1b0d31a5e7f145af09495" + } + Frame { + msec: 400 + hash: "03ebc2ff317ac840f4508e8701d66955" + } + Frame { + msec: 416 + hash: "8dff08e72365e8e2fee8088c386dedca" + } + Frame { + msec: 432 + hash: "720f3bbaf3fa3e3a064747d5689e47a0" + } + Frame { + msec: 448 + hash: "350e3ebfcfef96969ef5b8d5944f7e62" + } + Frame { + msec: 464 + hash: "1e4e6e68b3a8eac0c5cd039164eec166" + } + Frame { + msec: 480 + hash: "62a10c4250ad025139a3f9e72109e8e1" + } + Frame { + msec: 496 + hash: "23cfd643adfc98f6a06c7e7b15dac954" + } + Frame { + msec: 512 + hash: "3a78930d5b86b886723fad85e77dd075" + } + Frame { + msec: 528 + hash: "64dc878e2f527e80403c766e61fe14a6" + } + Frame { + msec: 544 + hash: "d79160989d2584044042271e79a88e69" + } + Frame { + msec: 560 + hash: "22cbaea4affc88433834c7d0dc1f1644" + } + Frame { + msec: 576 + hash: "77cb616902257e1f239a0e6bfaabb33c" + } + Frame { + msec: 592 + hash: "a2fe73dced03b23c4acb9aae9b774b41" + } + Frame { + msec: 608 + hash: "230e21d3a9ed0e185593677233af1275" + } + Frame { + msec: 624 + hash: "4e10ecffac4e06d624855d3f8917f76c" + } + Frame { + msec: 640 + hash: "84f49d56baace4a02e50d3eafaea04ec" + } + Frame { + msec: 656 + hash: "e3cd0b334551a9f91723eb2c876d335a" + } + Frame { + msec: 672 + hash: "259330f3ec390c9926d9c2ddc2d77319" + } + Frame { + msec: 688 + hash: "cc659623bfa385d282d608684d7cdc2b" + } + Frame { + msec: 704 + hash: "47ed75d077143a6bfa0e10158550c542" + } + Frame { + msec: 720 + hash: "0de93bbd9f9ee63e97968089321003e1" + } + Frame { + msec: 736 + hash: "b33d867d4399879256a01344ce0b81f2" + } + Frame { + msec: 752 + hash: "97c31fce937d11f62bebc6169b464a42" + } + Frame { + msec: 768 + hash: "ea4166b8a4001bca3f27af30f251267f" + } + Frame { + msec: 784 + hash: "b56d270b7893565f8d7ed2a0bfe10d60" + } + Frame { + msec: 800 + hash: "88a42559fe22b45cff379258dd40ced9" + } + Frame { + msec: 816 + hash: "4ee1a711cb8d26087e1b75a3166ca5f0" + } + Frame { + msec: 832 + hash: "9b88a00d041092e79b4a08bccbaca0e1" + } + Frame { + msec: 848 + hash: "afea397b3d740dc42f0313624fc10efd" + } + Frame { + msec: 864 + hash: "39fd8e4cefbd9fed283d62a7aecded22" + } + Frame { + msec: 880 + hash: "916b783d2379ac054c749e7b6eae7ddf" + } + Frame { + msec: 896 + hash: "fccd44740ff7ffb0f2adccf00a7588bd" + } + Frame { + msec: 912 + hash: "c064f20703a13543e8273d251fd645fe" + } + Frame { + msec: 928 + hash: "1b9b0755101841e3d1cbe208d81575d5" + } + Frame { + msec: 944 + hash: "1eb5e4a301b565012bc8f6af8e879eb9" + } + Frame { + msec: 960 + hash: "032db65eb5c405e433f88df3975c322b" + } + Frame { + msec: 976 + image: "follow.1.png" + } + Frame { + msec: 992 + hash: "fdb67e11d7cc767b2389a8bbef752c7e" + } + Frame { + msec: 1008 + hash: "ed89cb161336c61b13e3514fdf816023" + } + Frame { + msec: 1024 + hash: "331b873c5367e0aaa62af85cb54a6a96" + } + Frame { + msec: 1040 + hash: "cde4503f02f0c3732e310a7d0418cd1e" + } + Frame { + msec: 1056 + hash: "f8c028c591fc1495d5bec8763da6f011" + } + Frame { + msec: 1072 + hash: "9dc68483218335afe41aa3cd052a98b5" + } + Frame { + msec: 1088 + hash: "31105c455418a3284700cf9c88571507" + } + Frame { + msec: 1104 + hash: "72724947167a1ac600aaa1d7f331f7ec" + } + Frame { + msec: 1120 + hash: "a4a1243326de6b9e93948fcb22fecac4" + } + Frame { + msec: 1136 + hash: "c3e26e62f12dd658f21a0330fefb0533" + } + Frame { + msec: 1152 + hash: "15d85b4a9ad761a911bbaa3e0c4b2b61" + } + Frame { + msec: 1168 + hash: "bce1400b437cc43b8ff57b1a5fbc9551" + } + Frame { + msec: 1184 + hash: "5d05848afcd8f697c1b3762f00a759f6" + } + Frame { + msec: 1200 + hash: "6c83f68ea72cd54793149f4c9e759d44" + } + Frame { + msec: 1216 + hash: "5206b93666e51cee3e25a7a85e27b5b8" + } + Frame { + msec: 1232 + hash: "a3ef5c76efece4455e5ad12bcc8bd8f5" + } + Frame { + msec: 1248 + hash: "c36c6ee7b6c8074f5dc1af7446fad1ad" + } + Frame { + msec: 1264 + hash: "bb0887f1f10548bb53f0dc1ffeec25ee" + } + Frame { + msec: 1280 + hash: "ebffe547a7c3528e5deddc590510506d" + } + Frame { + msec: 1296 + hash: "18962faef1a1a1207a3c6783116154a2" + } + Frame { + msec: 1312 + hash: "8aaa876e4a6c4de04e557f35ddd4fb61" + } + Frame { + msec: 1328 + hash: "c66123bb4e01ce267629f5b50d147db1" + } + Frame { + msec: 1344 + hash: "334e5acf84d90e70ca3085b9d5e057a7" + } + Frame { + msec: 1360 + hash: "9bb49ddcc775307c3c1159908323e010" + } + Frame { + msec: 1376 + hash: "1b3cfb8b6b6c39a34ea86a66ea1cc6b1" + } + Frame { + msec: 1392 + hash: "d2a68c6eb2b05390ab1049137f96f227" + } + Frame { + msec: 1408 + hash: "91e254fd2376ba35a283b18b947ca1a8" + } + Frame { + msec: 1424 + hash: "fe94e2e8b4978390e9e8cbfe77dfc241" + } + Frame { + msec: 1440 + hash: "e3d32b73c5c50e7aa59f4e4725de170e" + } + Frame { + msec: 1456 + hash: "a73b90254d7da5557cc3941db0017a65" + } + Frame { + msec: 1472 + hash: "9aa49cce5d63f8dd6409995ac6d91d63" + } + Frame { + msec: 1488 + hash: "0ba674df46accec28a3c1b81e656adc7" + } + Frame { + msec: 1504 + hash: "025a45417b8c75d47b5dac6c5ef913e9" + } + Frame { + msec: 1520 + hash: "742527b97c7f580b0b7ff9d6aa105d31" + } + Frame { + msec: 1536 + hash: "965ec8315d45894e704fcc5a3efc8c55" + } + Frame { + msec: 1552 + hash: "6abdd59e6bd2c31124eab254418a5322" + } + Frame { + msec: 1568 + hash: "9f6d06b176c55fa292e7f0ef4b5cd1cb" + } + Frame { + msec: 1584 + hash: "05eba8c6e02c0d4af49e59b3346c9e68" + } + Frame { + msec: 1600 + hash: "3c4215f6253aba836516cd51368bc471" + } + Frame { + msec: 1616 + hash: "c6339a290007c0106cb18ecef5b7392b" + } + Frame { + msec: 1632 + hash: "39a4bcd2ce84035f9db70f196ca00971" + } + Frame { + msec: 1648 + hash: "b75a4be472583c3b893fc894ebe7d4d8" + } + Frame { + msec: 1664 + hash: "d1efebbe748c43b3c1241753612e100d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 195; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "f6f3ad64fb71ffb68a5ea0375cc94bae" + } + Frame { + msec: 1696 + hash: "778ecbafb5d235edde1683cabe3c3cfe" + } + Frame { + msec: 1712 + hash: "5a41b9196fe4a97e6ba2400806299bd8" + } + Frame { + msec: 1728 + hash: "1c8ddbc5910e35be389a1cb34fab9dec" + } + Frame { + msec: 1744 + hash: "5e8b236c00087a067d366afde67184f3" + } + Frame { + msec: 1760 + hash: "b7308837c5d7950dc81abec1340b4582" + } + Frame { + msec: 1776 + hash: "bbe9f0b030efa716f34a05f0af929c66" + } + Frame { + msec: 1792 + hash: "cd393fc19a30d896bfe62aa0000308f8" + } + Frame { + msec: 1808 + hash: "c390f5b1bcff54de203490d8f2616fcd" + } + Frame { + msec: 1824 + hash: "b5da2ea467c334dd13c75b811b94efb1" + } + Frame { + msec: 1840 + hash: "49887c9312c3a4dfc2d9719f47c83a15" + } + Frame { + msec: 1856 + hash: "7f077703e49f154d01c12a44f53469c5" + } + Frame { + msec: 1872 + hash: "7be4130ed767f0e0bf41c3bebf050cac" + } + Frame { + msec: 1888 + hash: "cc1590486c172000557b76c6eadb51e0" + } + Frame { + msec: 1904 + hash: "7ccd05236d9c1f8af0e9645404326122" + } + Frame { + msec: 1920 + hash: "2da165bf7e868b53b85bb630649ddc3e" + } + Frame { + msec: 1936 + image: "follow.2.png" + } + Frame { + msec: 1952 + hash: "2b6a24b6ceeaa956527c872af70fb5f9" + } + Frame { + msec: 1968 + hash: "8c882de21f4ed0fb68433c19b114c3f8" + } + Frame { + msec: 1984 + hash: "f75226c58726a687079d0d24e865ee6f" + } + Frame { + msec: 2000 + hash: "2fa9b69fe85b4e1361ba260545c10e06" + } + Frame { + msec: 2016 + hash: "6d513bc03f2798fbce1a0790969da6b5" + } + Frame { + msec: 2032 + hash: "7e359e605483493e9a865f6eb912c394" + } + Frame { + msec: 2048 + hash: "497c7c82c24408dcaff5ec981d3d4f35" + } + Frame { + msec: 2064 + hash: "8738b024cf75ef970ffe20166e85141c" + } + Frame { + msec: 2080 + hash: "014b805eb1ecf2ea1cd61727bfd1ca08" + } + Frame { + msec: 2096 + hash: "a81cde60979300f397054ea017382114" + } + Frame { + msec: 2112 + hash: "c46183b5224e762335eea98d9da65465" + } + Frame { + msec: 2128 + hash: "11afbb88994f298a1fed6575fae3d7fd" + } + Frame { + msec: 2144 + hash: "0195fa503143561d9ae3ffe68739ca3f" + } + Frame { + msec: 2160 + hash: "6d298df37d2116eb9a62b58853cb3344" + } + Frame { + msec: 2176 + hash: "1660865f00ea9adf94c8e56c7a8a73b2" + } + Frame { + msec: 2192 + hash: "9835b5527b84e8e8a8fea2bdf9653a99" + } + Frame { + msec: 2208 + hash: "ec1158b83daa9e98437abc9ce90b70f0" + } + Frame { + msec: 2224 + hash: "11ce5e37747e05ff5f5071b13324ce9e" + } + Frame { + msec: 2240 + hash: "6d7d427d5a15a31fd395f26c94ea455e" + } + Frame { + msec: 2256 + hash: "828949e0fbdb7c79719fb533febb5b35" + } + Frame { + msec: 2272 + hash: "7ef7f73ef6a59c9210cfa37df3894cb1" + } + Frame { + msec: 2288 + hash: "e74bec397b32ba2934ffdde23a3d60c6" + } + Frame { + msec: 2304 + hash: "09c2ca9c22e9b77bc166b4567b29bca7" + } + Frame { + msec: 2320 + hash: "44d87983f33c4e03f4be70b406bb9bd9" + } + Frame { + msec: 2336 + hash: "92844b36c2f30e618f04bfbc5cfbcad6" + } + Frame { + msec: 2352 + hash: "0245f39a8966c4addb3f8dbcee93cd3f" + } + Frame { + msec: 2368 + hash: "eb1e81cfa29295d4b1522c69d4501f51" + } + Frame { + msec: 2384 + hash: "2af9c3bea11b25c0f6c2b780d533a968" + } + Frame { + msec: 2400 + hash: "5062e9ab29c4a7a9657a4d29249ca822" + } + Frame { + msec: 2416 + hash: "d7652ddc85d3be3bb3a2fc268ae9bc29" + } + Frame { + msec: 2432 + hash: "7c924bf2ad6167db439723679b373a3a" + } + Frame { + msec: 2448 + hash: "a93b61dd26a2ca72100b747ac3ed81b6" + } + Frame { + msec: 2464 + hash: "5fedc849d3d21e0acf0ab4a4815a1285" + } + Frame { + msec: 2480 + hash: "4313d2458f4bede8d3b02ac60135e728" + } + Frame { + msec: 2496 + hash: "0f09e81d89262b569c56a9c876f3898d" + } + Frame { + msec: 2512 + hash: "ea932789ded14fc5c8bae565b67d004c" + } + Frame { + msec: 2528 + hash: "fd1f7b9b51f1284fee4d777ef83bba3f" + } + Frame { + msec: 2544 + hash: "e98b884a1ec8ce4b4dc20749b85b571e" + } + Frame { + msec: 2560 + hash: "d144072bb87bb88750b9df9cd92f7a4b" + } + Frame { + msec: 2576 + hash: "9d8ad80d3367292d7e89d67cf49862b8" + } + Frame { + msec: 2592 + hash: "c09b89e71e862da15d2b9edb0e00aa7b" + } + Frame { + msec: 2608 + hash: "551277add3f8f09951d9c8f55ccd40f7" + } + Frame { + msec: 2624 + hash: "1d0be0e7108516869374a9b985fd7543" + } + Frame { + msec: 2640 + hash: "12e7cfb6c4a26af54c4b35182294a7b7" + } + Frame { + msec: 2656 + hash: "a666a5a59d5854973668798eb8d508ba" + } + Frame { + msec: 2672 + hash: "420d2e21461dc45f134b7dfa11d04d25" + } + Frame { + msec: 2688 + hash: "95f848874899fb58a81c62b5921cf857" + } + Frame { + msec: 2704 + hash: "fa3ea7a0f90ca549cc9a857f0647b061" + } + Frame { + msec: 2720 + hash: "cbc5338de6157cd5dad511b246f5093b" + } + Frame { + msec: 2736 + hash: "e26b43c83197abab3746830bbfacc0f4" + } + Frame { + msec: 2752 + hash: "5225e854ff2763e562dee2810331d560" + } + Frame { + msec: 2768 + hash: "a1d114ea67233ac4c6351e18e3afa64e" + } + Frame { + msec: 2784 + hash: "bc9f12af2d0816bb84fd5040ed29bdad" + } + Frame { + msec: 2800 + hash: "d9337da38caa4ad3385249602a830df3" + } + Frame { + msec: 2816 + hash: "6ce20e0c89181b0f11e609b248da71d7" + } + Frame { + msec: 2832 + hash: "bbc8337950a78c7bfa48aab2635120a8" + } + Frame { + msec: 2848 + hash: "0e28ade7f52f3c27e1dbdd6e98be8c7d" + } + Frame { + msec: 2864 + hash: "0e28ade7f52f3c27e1dbdd6e98be8c7d" + } + Frame { + msec: 2880 + hash: "b496af17513d60d4028bd7402fbfba93" + } + Frame { + msec: 2896 + image: "follow.3.png" + } + Frame { + msec: 2912 + hash: "29aa7ce0fb1aa350753d3ec6da05bdf9" + } + Frame { + msec: 2928 + hash: "fde474797d8105d9d004a7020e010fa4" + } + Frame { + msec: 2944 + hash: "5a553d9a4bd2ef5d86f5eb37a863d28f" + } + Frame { + msec: 2960 + hash: "2dcbf6c84abd49529f0b5d85bfb74808" + } + Frame { + msec: 2976 + hash: "e96ec3b7d37bbf4c9ca297ad5afde31c" + } + Frame { + msec: 2992 + hash: "9d824068affe32c143226b0b530206fc" + } + Frame { + msec: 3008 + hash: "3e85f0ace68cffed47f4c9b00145f0f0" + } + Frame { + msec: 3024 + hash: "540b8e1e2bee7d2ba5e29fd3b1086cd1" + } + Frame { + msec: 3040 + hash: "0786585d11934c5e4a7e965eaac9a152" + } + Frame { + msec: 3056 + hash: "8271705df2ca697f4343007a7810d4ac" + } + Frame { + msec: 3072 + hash: "b98e1cd20ab2e4239f35d04df5e5175a" + } + Frame { + msec: 3088 + hash: "ab1a7eaa5c5d919ee76cba405d0dd4cd" + } + Frame { + msec: 3104 + hash: "52682386448379a395dc6c541224b7d4" + } + Frame { + msec: 3120 + hash: "31dffcb9da94dfc085ab8c561404c248" + } + Frame { + msec: 3136 + hash: "f3703eed8ebf9ece776ebe51e4c60ae6" + } + Frame { + msec: 3152 + hash: "1126b90345bb42691cd17f37ecec6bdb" + } + Frame { + msec: 3168 + hash: "7a63ab96d1c8d4992c03a6f59bba4e7e" + } + Frame { + msec: 3184 + hash: "91f4a00c9a7ea6164b334aa4b90da862" + } + Frame { + msec: 3200 + hash: "485471140f6a5336837377612e7a85bf" + } + Frame { + msec: 3216 + hash: "96881b4021aff05020e0a9342fbae75d" + } + Frame { + msec: 3232 + hash: "9891326646c3da4ff250aab69c862f96" + } + Frame { + msec: 3248 + hash: "f00f36bbb5a828824c596ee6f85bec2f" + } + Frame { + msec: 3264 + hash: "f00f36bbb5a828824c596ee6f85bec2f" + } + Frame { + msec: 3280 + hash: "f00f36bbb5a828824c596ee6f85bec2f" + } + Frame { + msec: 3296 + hash: "f00f36bbb5a828824c596ee6f85bec2f" + } + Frame { + msec: 3312 + hash: "9891326646c3da4ff250aab69c862f96" + } + Frame { + msec: 3328 + hash: "c766238db55f4704c2f29a6be6ee6907" + } + Frame { + msec: 3344 + hash: "0254665427dcbd1c155bc954cc7aa7cd" + } + Frame { + msec: 3360 + hash: "33ae1012816b997ef5c61c03ccfcc590" + } + Frame { + msec: 3376 + hash: "4c7857bbbcb9aa812fc2503af2b395cf" + } + Frame { + msec: 3392 + hash: "3a570e4af992d35e55923cea23c3c11b" + } + Frame { + msec: 3408 + hash: "533ef554538005512ce37c73c6def722" + } + Frame { + msec: 3424 + hash: "f863fa215d0642708bfa82780c766dc4" + } + Frame { + msec: 3440 + hash: "fcca3ec34521c4b9087a102ba1e47293" + } + Frame { + msec: 3456 + hash: "47d67cd74cb96b12801842b288a8b9ff" + } + Frame { + msec: 3472 + hash: "34c5ea76f297ec68cba70521caa468e4" + } + Frame { + msec: 3488 + hash: "7be247cc7a4032ff0478fca1a2aace8a" + } + Frame { + msec: 3504 + hash: "3ade2a1a48edef15f522b9fc016e137e" + } + Frame { + msec: 3520 + hash: "8b37b9d123504931d82bb06f6981bade" + } + Frame { + msec: 3536 + hash: "5eb39825003f405f353f629e236b3395" + } + Frame { + msec: 3552 + hash: "c4550722260c4a30ab1176c7e5cb62bf" + } + Frame { + msec: 3568 + hash: "bd33e3ecd4b59cd659588c0298b61095" + } + Frame { + msec: 3584 + hash: "4b3a62bff0019df7412aa2e1c07c0a23" + } + Frame { + msec: 3600 + hash: "a9b98adcc3350febbb89dbf725b81436" + } + Frame { + msec: 3616 + hash: "66eb8c84e75141d1575caf7d3cbc1ceb" + } + Frame { + msec: 3632 + hash: "238f2b1dc5bf5b65e827c860f9ee76b5" + } + Frame { + msec: 3648 + hash: "6d1fed0697370b2a2163c369fe559739" + } + Frame { + msec: 3664 + hash: "04ea478c785586d900bbe3472371bbc7" + } + Frame { + msec: 3680 + hash: "ba429e711c9363eebfb20e641fa44c84" + } + Frame { + msec: 3696 + hash: "0129dfba166ffcbaa15087467c864068" + } + Frame { + msec: 3712 + hash: "3fb340c874eee94e8baa1453b37c3fb5" + } + Frame { + msec: 3728 + hash: "068c51d99c458f3edefe3371f46de260" + } + Frame { + msec: 3744 + hash: "dd1e04ed3d610c2712158d73ee2c5b9d" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 195; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3760 + hash: "840154afb9e7e0c859c66667bb6944b6" + } + Frame { + msec: 3776 + hash: "239c2e33800e386b468a95341d0e23f4" + } + Frame { + msec: 3792 + hash: "0a00515f2d297362862c1a5cf6519845" + } + Frame { + msec: 3808 + hash: "f855df3495e44291aed8f085163c804b" + } + Frame { + msec: 3824 + hash: "b4eb31e48c65550bb78d175b48e0e9fb" + } + Frame { + msec: 3840 + hash: "70243664f9db83614e5972fc18ee81a1" + } + Frame { + msec: 3856 + image: "follow.4.png" + } + Frame { + msec: 3872 + hash: "c48ce2a4cf28ab706b9c097bddc74c27" + } + Frame { + msec: 3888 + hash: "754a957e0df02839dd2fe33fefb7a721" + } + Frame { + msec: 3904 + hash: "ec3ebe7b941af9bf2163634d7f15e8aa" + } + Frame { + msec: 3920 + hash: "a76423ff2184cd9dac47abf7ae52ce5a" + } + Frame { + msec: 3936 + hash: "559bec54f51c36c6e90004ca5e77c23c" + } + Frame { + msec: 3952 + hash: "dc6fdd6a867a675afcb58f7052605614" + } + Frame { + msec: 3968 + hash: "b2fb0dbbec01490243f37fe5f80ab6c7" + } + Frame { + msec: 3984 + hash: "2bc1df7a913b1948ee7bb77eeaa55aa2" + } + Frame { + msec: 4000 + hash: "82c6430d85c6a94c4b55a9529d2bc78f" + } + Frame { + msec: 4016 + hash: "463e70dc9a9bdabdc158199bdcd7d2fa" + } + Frame { + msec: 4032 + hash: "c1e9553327f060b70caa713bf3015342" + } + Frame { + msec: 4048 + hash: "42f7f505d4e5ef316240e4f287a039bf" + } + Frame { + msec: 4064 + hash: "200500f600ffe43c5ad4d057bcfc0831" + } + Frame { + msec: 4080 + hash: "22e78edb813f7830776b2603b0aaae5c" + } + Frame { + msec: 4096 + hash: "32ebf3490832fd0693b1b922b4501251" + } + Frame { + msec: 4112 + hash: "1be622caa5ef94f87e2ec8297b6e1caa" + } + Frame { + msec: 4128 + hash: "d1480529e0cb94c51c412109663e5fab" + } + Frame { + msec: 4144 + hash: "e55e627d6d13b647f35233f18f0cbe89" + } + Frame { + msec: 4160 + hash: "87d7b349cd2898de7686e5f1a14f6338" + } + Frame { + msec: 4176 + hash: "2ac974836ee5e6092b55fcda20d7c35d" + } + Frame { + msec: 4192 + hash: "53867256c1dac4de2f02af1ae000b49f" + } + Frame { + msec: 4208 + hash: "08623509e9e5089fdaa1af2bf9a77eb1" + } + Frame { + msec: 4224 + hash: "e4692f42c12593ee865048aef00cbeb2" + } + Frame { + msec: 4240 + hash: "981ad6459e3e7483bb323ab4bc514630" + } + Frame { + msec: 4256 + hash: "79e8adfcdc9d6dae0d2b6a69e8e322fa" + } + Frame { + msec: 4272 + hash: "58f967a607972faa9daa13402eeb9912" + } + Frame { + msec: 4288 + hash: "1fd5b002b049132565b6a963fb7b3bb6" + } + Frame { + msec: 4304 + hash: "a16c96598f47404ec5f4ef55e87a1e70" + } + Frame { + msec: 4320 + hash: "3c632899804812c93c7edd3e3f3d2bac" + } + Frame { + msec: 4336 + hash: "af0eb810e0273f9bacb082d9f90612df" + } + Frame { + msec: 4352 + hash: "728d7ac4a5410482c7d86d03c2d8a996" + } + Frame { + msec: 4368 + hash: "416e76064f2be71a03eddddf61a33cb0" + } + Frame { + msec: 4384 + hash: "c41f20b4ac9a7b34eefd066f77ea351a" + } + Frame { + msec: 4400 + hash: "821d51db415a210b09ebdf8d861aadf2" + } + Frame { + msec: 4416 + hash: "9394266815a52f1779858bb088d557dc" + } + Frame { + msec: 4432 + hash: "cc475d1589665414e5aef051ec237ef4" + } + Frame { + msec: 4448 + hash: "a95f3b8128faa7820f36391fa9bd579f" + } + Frame { + msec: 4464 + hash: "d52687293a11891c364de52525039203" + } + Frame { + msec: 4480 + hash: "5333dc4f65b2f1e066edcd23f7621bd7" + } + Frame { + msec: 4496 + hash: "797bb5e27b2fe2b733a54402433901b4" + } + Frame { + msec: 4512 + hash: "84c610cdff7f8b04a34977216e37847d" + } + Frame { + msec: 4528 + hash: "0317f0406a566b2851c8bda62900e40c" + } + Frame { + msec: 4544 + hash: "6538ecd7abd35234c5cc5c2a17249fc1" + } + Frame { + msec: 4560 + hash: "f9019150a132eb5f5cfafcd5337aff7a" + } + Frame { + msec: 4576 + hash: "0f0136fffbc65c02cee249ece4c8c0ef" + } + Frame { + msec: 4592 + hash: "0027e0d236b8b33a451a0cc35e81b4ce" + } + Frame { + msec: 4608 + hash: "ac2f86b2d4f29f223fb78440d67ccd31" + } + Frame { + msec: 4624 + hash: "a6eb112a10c849e337f816ee408f22a6" + } + Frame { + msec: 4640 + hash: "dafbb01f2615a2513310478ebe484a05" + } + Frame { + msec: 4656 + hash: "17c400c4c29652dc278980ab578b75b3" + } + Frame { + msec: 4672 + hash: "48696c02a2a4839b893a4c0b431b78a3" + } + Frame { + msec: 4688 + hash: "04e05c7e722e53299d24cd0f1b7d17ee" + } + Frame { + msec: 4704 + hash: "55d158f13ffc7ccde5ee368656d2830b" + } + Frame { + msec: 4720 + hash: "fa478e1575acedae023322a520171a5b" + } + Frame { + msec: 4736 + hash: "e2147ddd6e19fde80bb76da24011400c" + } + Frame { + msec: 4752 + hash: "44ee0144db4c55aa90d2a931d83a895e" + } + Frame { + msec: 4768 + hash: "552e87bbce4ad48006c899052a2c8cad" + } + Frame { + msec: 4784 + hash: "3b6efe225303566f751c3f884ac8c069" + } + Frame { + msec: 4800 + hash: "3a7175916d1dc103506061607b910550" + } + Frame { + msec: 4816 + image: "follow.5.png" + } + Frame { + msec: 4832 + hash: "b2e5d5c14b02a13bca62673f87e85627" + } + Frame { + msec: 4848 + hash: "bd89a911d6fb13e4e841f8ee5b8b42af" + } + Frame { + msec: 4864 + hash: "89795784185e83d0299e656f2eec73c8" + } + Frame { + msec: 4880 + hash: "5b6d6fe78f341bdf0eb4bedfe3d975d0" + } + Frame { + msec: 4896 + hash: "e246bc451ee48e16ef6dee20d6256e9c" + } + Frame { + msec: 4912 + hash: "8c1bc37b1b268743aa314247ea949ef5" + } + Frame { + msec: 4928 + hash: "04f34203c34dc87efc708bfb232663df" + } + Frame { + msec: 4944 + hash: "d37a48545e81970d16951e3388f0ff8c" + } + Frame { + msec: 4960 + hash: "9411e846c9f59cc915288efb59d4c9de" + } + Frame { + msec: 4976 + hash: "6ee179741ac74837708afb55943f15bd" + } + Frame { + msec: 4992 + hash: "f626fc3166bd5b01171271ae9bfa9b22" + } + Frame { + msec: 5008 + hash: "e22898b2c0c566bbf531223234f98327" + } + Frame { + msec: 5024 + hash: "1343d90c5eae70713cd49110fe61237b" + } + Frame { + msec: 5040 + hash: "493d9322da6d01979a3f1a120c265f8c" + } + Frame { + msec: 5056 + hash: "defccc76caf3a7c7c67e8abf5ccc2def" + } + Frame { + msec: 5072 + hash: "fe3cad9227fcfa7ba2238465078f2ac7" + } + Frame { + msec: 5088 + hash: "66ebfeee3a63323c7d8b949db9aafd7e" + } + Frame { + msec: 5104 + hash: "805820b382d005894f9a615004b97b0d" + } + Frame { + msec: 5120 + hash: "eee1620f47bb071de8a9c788d1fd258e" + } + Frame { + msec: 5136 + hash: "f5a7d9a81fcfc8cfb9e7cc8ead0f1ff8" + } + Frame { + msec: 5152 + hash: "249903ee123090b27019350f120c8b79" + } + Frame { + msec: 5168 + hash: "019793a363c905809af32bf34ef52ec0" + } + Frame { + msec: 5184 + hash: "4f5ad5a3ebb6eca73dd7567199d07b08" + } + Frame { + msec: 5200 + hash: "fdc1b42d50c7a5c45458498788ff0abd" + } + Frame { + msec: 5216 + hash: "cc091469598cad28d0a00690f1acb412" + } + Frame { + msec: 5232 + hash: "5c8757e1f8f34a31d8b3717b64b84c07" + } + Frame { + msec: 5248 + hash: "5da75559f60eac1b9f518ed55a174e5b" + } + Frame { + msec: 5264 + hash: "1214c08daec4dcfb27690fdc18f2ac28" + } + Frame { + msec: 5280 + hash: "87d92c1ba694d0cf187d8616b0f622f0" + } + Frame { + msec: 5296 + hash: "d4af63638fe69b6c4f087a935351057e" + } + Frame { + msec: 5312 + hash: "0573c41f34c2c117cada987e4ee813a5" + } + Frame { + msec: 5328 + hash: "f179ef4b7bf0f915e25ffd8168a9126f" + } + Frame { + msec: 5344 + hash: "1618bf7c94e7898392eb5ffbf44b8aff" + } + Frame { + msec: 5360 + hash: "5af24b902e3729d544f70c77e189b8a7" + } + Frame { + msec: 5376 + hash: "4e5789404e58113cc2d8aa737a03ab58" + } + Frame { + msec: 5392 + hash: "e4bf91a249e47597e959bbaf25f0724d" + } + Frame { + msec: 5408 + hash: "39a3e3d6269522ed57a0e37319ab94d5" + } + Frame { + msec: 5424 + hash: "f2e2e47922e7e058e14537a0455cd77f" + } + Frame { + msec: 5440 + hash: "64abb3f2c9e05fd1dd7490d11c74f06a" + } + Frame { + msec: 5456 + hash: "a9bf45c29536ca34c42aa916747b485b" + } + Frame { + msec: 5472 + hash: "da21839b6635e5c4e0a589d163e62752" + } + Frame { + msec: 5488 + hash: "f31e49258bcbb2a144daa320e4567df1" + } + Frame { + msec: 5504 + hash: "f96c5b39f94bf2ac1e3f4de96767d720" + } + Frame { + msec: 5520 + hash: "281b90d1056803093cc37f30465f0e73" + } + Frame { + msec: 5536 + hash: "d63a2424e1947328957ad8f5f0bec043" + } + Frame { + msec: 5552 + hash: "bd510a0de7df02b1b5741824b6f90944" + } + Frame { + msec: 5568 + hash: "47dc4e5ff91cb84c89dd0fc0459f75f2" + } + Frame { + msec: 5584 + hash: "4bc46b5e116dd30e1db4d4bb650ed6ed" + } + Frame { + msec: 5600 + hash: "c6964b89f1962f120028057d1c588694" + } + Frame { + msec: 5616 + hash: "39a77544a1c88b68cb63da9a8910a35e" + } + Frame { + msec: 5632 + hash: "bd8ac21d7a507a8e195437ccac254ecc" + } + Frame { + msec: 5648 + hash: "7b39b2667a8f8efae20ec8696e35dbc4" + } + Frame { + msec: 5664 + hash: "7b39b2667a8f8efae20ec8696e35dbc4" + } + Frame { + msec: 5680 + hash: "8628f4f24670d17965fec40a02e0196f" + } + Frame { + msec: 5696 + hash: "515903d9896a853cb18cc7b7c45c1cce" + } + Frame { + msec: 5712 + hash: "b7a3f70bedcb3f90a2e294b447e05f70" + } + Frame { + msec: 5728 + hash: "8e8b104ef82b1e219021aa38276f8b45" + } + Frame { + msec: 5744 + hash: "70abe79da860bebd2d17a8c7abb20b4e" + } + Frame { + msec: 5760 + hash: "d99af176fb6cf9d9cbcf7cf4286a165c" + } + Frame { + msec: 5776 + image: "follow.6.png" + } + Frame { + msec: 5792 + hash: "67809c7daad6716d0a664c52de9906ce" + } + Frame { + msec: 5808 + hash: "29a27fd59b7316ce305803482686ea58" + } + Frame { + msec: 5824 + hash: "25b9ca40d1d6208d026e5c965923f8fb" + } + Frame { + msec: 5840 + hash: "126b1542415aea11dbb35492be4f66aa" + } + Frame { + msec: 5856 + hash: "26ca7034536e0e690236797df740f19a" + } + Frame { + msec: 5872 + hash: "fec9db60af63a4712b0da037cf1d89cd" + } + Frame { + msec: 5888 + hash: "d9b7e2729c75ca0c0f33b542525c4880" + } + Frame { + msec: 5904 + hash: "89149d16b893ea432b6d0fb05ead48cb" + } + Frame { + msec: 5920 + hash: "8e389d2ca706277ce06e1da557e2e6c1" + } + Frame { + msec: 5936 + hash: "fc5c74473410da1ddd451c5901572172" + } + Frame { + msec: 5952 + hash: "54514970eadff9362d31499a737e4c95" + } + Frame { + msec: 5968 + hash: "d5953bc29532ec49c20ee552c8756ba1" + } + Frame { + msec: 5984 + hash: "5f03be3ed5824e6a6f8f371ce6a47997" + } + Frame { + msec: 6000 + hash: "0431e2ec4765167d0099c59df400f3fd" + } + Frame { + msec: 6016 + hash: "0431e2ec4765167d0099c59df400f3fd" + } + Frame { + msec: 6032 + hash: "403e1f235770f2b7c8b1b2e86aea69a5" + } + Frame { + msec: 6048 + hash: "403e1f235770f2b7c8b1b2e86aea69a5" + } + Frame { + msec: 6064 + hash: "32ff9f959598972f5a264418587dca1f" + } + Frame { + msec: 6080 + hash: "b4c7c07e52a684f7ce21e47a4d66356a" + } + Frame { + msec: 6096 + hash: "e0f214bed2c3a31f473952929b8f3ea9" + } + Frame { + msec: 6112 + hash: "15328b8a205965f3f29fc63a6a8ac8ed" + } + Frame { + msec: 6128 + hash: "72c46ed63633e6879373f4783df25d8b" + } + Frame { + msec: 6144 + hash: "3f2570289df823446f85bbd8d620db4d" + } + Frame { + msec: 6160 + hash: "df9451c6634d72e6f794e962b3591086" + } + Frame { + msec: 6176 + hash: "773e10bbd133e64457e7ddbc73a10fc2" + } + Frame { + msec: 6192 + hash: "c79abb97eb86761b69053d77156dffd4" + } + Frame { + msec: 6208 + hash: "d927934b19ffd55ea7cea1916983351a" + } + Frame { + msec: 6224 + hash: "ae5058d935c1e44d103be66921b19e77" + } + Frame { + msec: 6240 + hash: "b6a1446b6be054d5785ba52ac23f8aa8" + } + Frame { + msec: 6256 + hash: "3dffbffded44249fdbe58aecd24ab97f" + } + Frame { + msec: 6272 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6288 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6304 + hash: "257ce16f529b99f28beb2e57625f52ee" + } + Frame { + msec: 6320 + hash: "257ce16f529b99f28beb2e57625f52ee" + } + Frame { + msec: 6336 + hash: "257ce16f529b99f28beb2e57625f52ee" + } + Frame { + msec: 6352 + hash: "257ce16f529b99f28beb2e57625f52ee" + } + Frame { + msec: 6368 + hash: "257ce16f529b99f28beb2e57625f52ee" + } + Frame { + msec: 6384 + hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e" + } + Frame { + msec: 6400 + hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e" + } + Frame { + msec: 6416 + hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e" + } + Frame { + msec: 6432 + hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e" + } + Frame { + msec: 6448 + hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e" + } + Frame { + msec: 6464 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6480 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6496 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6512 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6528 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6544 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6560 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6576 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6592 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6608 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6624 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6640 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6656 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6672 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6688 + hash: "fa87436d5e51122022a005d815f97c32" + } + Frame { + msec: 6704 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6720 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6736 + image: "follow.7.png" + } + Frame { + msec: 6752 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6768 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6784 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6800 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6816 + hash: "da52e87ccd157c0330c07e480b8b0c06" + } + Frame { + msec: 6832 + hash: "257ce16f529b99f28beb2e57625f52ee" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6848 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6864 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6880 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6896 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6912 + hash: "56445ab8554a23a786b70e4fd9f40451" + } + Frame { + msec: 6928 + hash: "56445ab8554a23a786b70e4fd9f40451" + } +} diff --git a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png Binary files differindex 1dc9372..3556dce 100644 --- a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png +++ b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png diff --git a/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml b/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml index 70ee988..ccadea0 100644 --- a/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml +++ b/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml @@ -196,6 +196,14 @@ VisualTest { Frame { msec: 1024 } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 53; y: 47 + modifiers: 0 + sendToViewport: true + } Frame { msec: 1040 } @@ -214,6 +222,14 @@ VisualTest { Frame { msec: 1120 } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 53; y: 47 + modifiers: 0 + sendToViewport: true + } Frame { msec: 1136 } @@ -259,14 +275,6 @@ VisualTest { Frame { msec: 1360 } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 77; y: 7 - modifiers: 0 - sendToViewport: true - } Frame { msec: 1376 } @@ -282,14 +290,6 @@ VisualTest { Frame { msec: 1440 } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 77; y: 7 - modifiers: 0 - sendToViewport: true - } Frame { msec: 1456 } @@ -353,118 +353,4 @@ VisualTest { Frame { msec: 1776 } - Frame { - msec: 1792 - } - Frame { - msec: 1808 - } - Frame { - msec: 1824 - } - Frame { - msec: 1840 - } - Frame { - msec: 1856 - } - Frame { - msec: 1872 - } - Frame { - msec: 1888 - } - Frame { - msec: 1904 - } - Frame { - msec: 1920 - } - Frame { - msec: 1936 - } - Frame { - msec: 1952 - } - Frame { - msec: 1968 - } - Frame { - msec: 1984 - } - Frame { - msec: 2000 - } - Frame { - msec: 2016 - } - Frame { - msec: 2032 - } - Frame { - msec: 2048 - } - Frame { - msec: 2064 - } - Frame { - msec: 2080 - } - Frame { - msec: 2096 - } - Frame { - msec: 2112 - } - Frame { - msec: 2128 - } - Frame { - msec: 2144 - } - Frame { - msec: 2160 - } - Frame { - msec: 2176 - } - Frame { - msec: 2192 - } - Frame { - msec: 2208 - } - Frame { - msec: 2224 - } - Frame { - msec: 2240 - } - Frame { - msec: 2256 - } - Frame { - msec: 2272 - } - Frame { - msec: 2288 - } - Frame { - msec: 2304 - } - Frame { - msec: 2320 - } - Frame { - msec: 2336 - } - Frame { - msec: 2352 - } - Frame { - msec: 2368 - } - Frame { - msec: 2384 - } } diff --git a/tests/auto/networkselftest/tst_networkselftest.cpp b/tests/auto/networkselftest/tst_networkselftest.cpp index ecbc08c..9486671 100644 --- a/tests/auto/networkselftest/tst_networkselftest.cpp +++ b/tests/auto/networkselftest/tst_networkselftest.cpp @@ -345,7 +345,7 @@ QHostAddress tst_NetworkSelfTest::serverIpAddress() // need resolving QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::serverName()); if(resolved.error() != QHostInfo::NoError || - !resolved.addresses().isEmpty()) { + resolved.addresses().isEmpty()) { qWarning("QHostInfo::fromName failed (%d).", resolved.error()); return QHostAddress(QHostAddress::Null); } diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp index 650c328..62e64be 100644 --- a/tests/auto/qcompleter/tst_qcompleter.cpp +++ b/tests/auto/qcompleter/tst_qcompleter.cpp @@ -49,6 +49,7 @@ #include <QPointer> #include "../../shared/util.h" +#include "../../shared/filesystem.h" //TESTED_CLASS= //TESTED_FILES= @@ -1455,24 +1456,16 @@ void tst_QCompleter::task247560_keyboardNavigation() void tst_QCompleter::QTBUG_14292_filesystem() { - QDir tmpDir = QDir::temp(); + FileSystem fs; + QDir tmpDir = QDir::currentPath(); + qsrand(QTime::currentTime().msec()); QString d = "tst_QCompleter_" + QString::number(qrand()); - QVERIFY(tmpDir.mkdir(d)); - -#if 0 - struct Cleanup { - QString dir; - ~Cleanup() { - qDebug() << dir << - QFile::remove(dir); } - } cleanup; - cleanup.dir = tmpDir.absolutePath()+"/" +d; -#endif + QVERIFY(fs.createDirectory(tmpDir.filePath(d))); QVERIFY(tmpDir.cd(d)); - QVERIFY(tmpDir.mkdir("hello")); - QVERIFY(tmpDir.mkdir("holla")); + QVERIFY(fs.createDirectory(tmpDir.filePath("hello"))); + QVERIFY(fs.createDirectory(tmpDir.filePath("holla"))); QLineEdit edit; QCompleter comp; @@ -1500,12 +1493,12 @@ void tst_QCompleter::QTBUG_14292_filesystem() QCOMPARE(comp.popup()->model()->rowCount(), 1); QTest::keyClick(&edit, 'r'); QTRY_VERIFY(!comp.popup()->isVisible()); - QVERIFY(tmpDir.mkdir("hero")); + QVERIFY(fs.createDirectory(tmpDir.filePath("hero"))); QTRY_VERIFY(comp.popup()->isVisible()); QCOMPARE(comp.popup()->model()->rowCount(), 1); QTest::keyClick(comp.popup(), Qt::Key_Escape); QTRY_VERIFY(!comp.popup()->isVisible()); - QVERIFY(tmpDir.mkdir("nothingThere")); + QVERIFY(fs.createDirectory(tmpDir.filePath("nothingThere"))); //there is no reason creating a file should open a popup, it did in Qt 4.7.0 QTest::qWait(60); QVERIFY(!comp.popup()->isVisible()); @@ -1522,7 +1515,7 @@ void tst_QCompleter::QTBUG_14292_filesystem() QTest::qWaitForWindowShown(&w); QTRY_VERIFY(!edit.hasFocus() && !comp.popup()->hasFocus()); - QVERIFY(tmpDir.mkdir("hemo")); + QVERIFY(fs.createDirectory(tmpDir.filePath("hemo"))); //there is no reason creating a file should open a popup, it did in Qt 4.7.0 QTest::qWait(60); QVERIFY(!comp.popup()->isVisible()); diff --git a/tests/auto/qdatastream/tst_qdatastream.cpp b/tests/auto/qdatastream/tst_qdatastream.cpp index c03bc71..898fb84 100644 --- a/tests/auto/qdatastream/tst_qdatastream.cpp +++ b/tests/auto/qdatastream/tst_qdatastream.cpp @@ -168,6 +168,8 @@ private slots: void stream_atEnd_data(); void stream_atEnd(); + void stream_writeError(); + void stream_QByteArray2(); void setVersion_data(); @@ -2345,6 +2347,55 @@ void tst_QDataStream::stream_atEnd() } } +class FakeBuffer : public QBuffer +{ +protected: + qint64 writeData(const char *c, qint64 i) { return m_lock ? 0 : QBuffer::writeData(c, i); } +public: + FakeBuffer(bool locked = false) : m_lock(locked) {} + void setLocked(bool locked) { m_lock = locked; } +private: + bool m_lock; +}; + +#define TEST_WRITE_ERROR(op) \ + { \ + FakeBuffer fb(false); \ + QVERIFY(fb.open(QBuffer::ReadWrite)); \ + QDataStream fs(&fb); \ + fs.writeRawData("hello", 5); \ + /* first write some initial content */ \ + QCOMPARE(fs.status(), QDataStream::Ok); \ + QCOMPARE(fb.data(), QByteArray("hello")); \ + /* then test that writing can cause an error */ \ + fb.setLocked(true); \ + fs op; \ + QCOMPARE(fs.status(), QDataStream::WriteFailed); \ + QCOMPARE(fb.data(), QByteArray("hello")); \ + /* finally test that writing after an error doesn't change the stream any more */ \ + fb.setLocked(false); \ + fs op; \ + QCOMPARE(fs.status(), QDataStream::WriteFailed); \ + QCOMPARE(fb.data(), QByteArray("hello")); \ + } + +void tst_QDataStream::stream_writeError() +{ + TEST_WRITE_ERROR(<< true) + TEST_WRITE_ERROR(<< (qint8)1) + TEST_WRITE_ERROR(<< (quint8)1) + TEST_WRITE_ERROR(<< (qint16)1) + TEST_WRITE_ERROR(<< (quint16)1) + TEST_WRITE_ERROR(<< (qint32)1) + TEST_WRITE_ERROR(<< (quint32)1) + TEST_WRITE_ERROR(<< (qint64)1) + TEST_WRITE_ERROR(<< (quint64)1) + TEST_WRITE_ERROR(<< "hello") + TEST_WRITE_ERROR(<< (float)1.0) + TEST_WRITE_ERROR(<< (double)1.0) + TEST_WRITE_ERROR(.writeRawData("test", 4)) +} + void tst_QDataStream::stream_QByteArray2() { QByteArray ba; diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp index 87df57d..bc61f52 100644 --- a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -122,11 +122,13 @@ void tst_QElapsedTimer::basics() quint64 value1 = t1.msecsSinceReference(); qDebug() << value1 << t1; + qint64 nsecs = t1.nsecsElapsed(); qint64 elapsed = t1.restart(); QVERIFY(elapsed < minResolution); + QVERIFY(nsecs / 1000000 < minResolution); quint64 value2 = t1.msecsSinceReference(); - qDebug() << value2 << t1 << elapsed; + qDebug() << value2 << t1 << elapsed << nsecs; // in theory, elapsed == value2 - value1 // However, since QElapsedTimer keeps internally the full resolution, @@ -150,7 +152,10 @@ void tst_QElapsedTimer::elapsed() // don't check: t1.secsTo(t2) // QVERIFY(t1 - t2 < 0); + QVERIFY(t1.nsecsElapsed() > 0); QVERIFY(t1.elapsed() > 0); + // the number of elapsed nanoseconds and milliseconds should match + QVERIFY(t1.nsecsElapsed() - t1.elapsed() * 1000000 < 1000000); QVERIFY(t1.hasExpired(minResolution)); QVERIFY(!t1.hasExpired(8*minResolution)); QVERIFY(!t2.hasExpired(minResolution)); diff --git a/tests/auto/qfile/test/test.pro b/tests/auto/qfile/test/test.pro index 673eacc..c0049b0 100644 --- a/tests/auto/qfile/test/test.pro +++ b/tests/auto/qfile/test/test.pro @@ -37,4 +37,6 @@ win32 { LIBS+=-lole32 -luuid } - +symbian { + LIBS+=-lefsrv +} diff --git a/tests/auto/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp index c19079f..c7d6fab 100644 --- a/tests/auto/qfile/tst_qfile.cpp +++ b/tests/auto/qfile/tst_qfile.cpp @@ -70,9 +70,12 @@ #elif defined(Q_OS_WINCE) # include <qplatformdefs.h> # include <private/qfsfileengine_p.h> +#elif defined(Q_OS_SYMBIAN) +# include <f32file.h> #endif #include <stdio.h> +#include <errno.h> #include "../network-settings.h" #if defined(Q_OS_SYMBIAN) @@ -221,6 +224,8 @@ private slots: #endif void caseSensitivity(); + void autocloseHandle(); + // --- Task related tests below this line void task167217(); @@ -233,12 +238,20 @@ public: void invalidFile(); private: - enum FileType { OpenQFile, OpenFd, OpenStream }; + enum FileType { + OpenQFile, + OpenFd, + OpenStream, +#ifdef Q_OS_SYMBIAN + OpenRFile, +#endif + NumberOfFileTypes + }; void openStandardStreamsFileDescriptors(); void openStandardStreamsBufferedStreams(); - bool openFd(QFile &file, QIODevice::OpenMode mode) + bool openFd(QFile &file, QIODevice::OpenMode mode, QFile::FileHandleFlags handleFlags) { int fdMode = QT_OPEN_LARGEFILE | QT_OPEN_BINARY; @@ -250,10 +263,10 @@ private: fd_ = QT_OPEN(qPrintable(file.fileName()), fdMode); - return (-1 != fd_) && file.open(fd_, mode); + return (-1 != fd_) && file.open(fd_, mode, handleFlags); } - bool openStream(QFile &file, QIODevice::OpenMode mode) + bool openStream(QFile &file, QIODevice::OpenMode mode, QFile::FileHandleFlags handleFlags) { char const *streamMode = ""; @@ -265,10 +278,37 @@ private: stream_ = QT_FOPEN(qPrintable(file.fileName()), streamMode); - return stream_ && file.open(stream_, mode); + return stream_ && file.open(stream_, mode, handleFlags); + } + +#ifdef Q_OS_SYMBIAN + bool openRFile(QFile &file, QIODevice::OpenMode mode, QFile::FileHandleFlags handleFlags) + { + //connect file server first time + if (!rfs_.Handle() && rfs_.Connect() != KErrNone) + return false; + //symbian does not like ./ in filenames, so open by absolute path + QString fileName(QDir::toNativeSeparators(QFileInfo(file).absoluteFilePath())); + TPtrC fn(fileName.utf16(), fileName.length()); + TInt smode = 0; + if (mode & QIODevice::WriteOnly) + smode |= EFileWrite; + if (mode & QIODevice::ReadOnly) + smode |= EFileRead; + TInt r; + if ((mode & QIODevice::Truncate) || (!(mode & QIODevice::ReadOnly) && !(mode & QIODevice::Append))) { + r = rfile_.Replace(rfs_, fn, smode); + } else { + r = rfile_.Open(rfs_, fn, smode); + if (r == KErrNotFound && (mode & QIODevice::WriteOnly)) { + r = rfile_.Create(rfs_, fn, smode); + } + } + return (r == KErrNone) && file.open(rfile_, mode, handleFlags); } +#endif - bool openFile(QFile &file, QIODevice::OpenMode mode, FileType type = OpenQFile) + bool openFile(QFile &file, QIODevice::OpenMode mode, FileType type = OpenQFile, QFile::FileHandleFlags handleFlags = QFile::DontCloseHandle) { if (mode & QIODevice::WriteOnly && !file.exists()) { @@ -285,10 +325,14 @@ private: return file.open(mode); case OpenFd: - return openFd(file, mode); + return openFd(file, mode, handleFlags); case OpenStream: - return openStream(file, mode); + return openStream(file, mode, handleFlags); +#ifdef Q_OS_SYMBIAN + case OpenRFile: + return openRFile(file, mode, handleFlags); +#endif } return false; @@ -302,6 +346,10 @@ private: QT_CLOSE(fd_); if (stream_) ::fclose(stream_); +#ifdef Q_OS_SYMBIAN + if (rfile_.SubSessionHandle()) + rfile_.Close(); +#endif fd_ = -1; stream_ = 0; @@ -309,6 +357,10 @@ private: int fd_; FILE *stream_; +#ifdef Q_OS_SYMBIAN + RFs rfs_; + RFile rfile_; +#endif }; tst_QFile::tst_QFile() @@ -2214,6 +2266,9 @@ void tst_QFile::writeLargeDataBlock_data() QTest::newRow("localfile-QFile") << "./largeblockfile.txt" << (int)OpenQFile; QTest::newRow("localfile-Fd") << "./largeblockfile.txt" << (int)OpenFd; QTest::newRow("localfile-Stream") << "./largeblockfile.txt" << (int)OpenStream; +#ifdef Q_OS_SYMBIAN + QTest::newRow("localfile-RFile") << "./largeblockfile.txt" << (int)OpenRFile; +#endif #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) // Some semi-randomness to avoid collisions. @@ -3100,7 +3155,7 @@ void tst_QFile::openStandardStreams() void tst_QFile::writeNothing() { - for (int i = 0; i < 3; ++i) { + for (int i = 0; i < NumberOfFileTypes; ++i) { QFile file("file.txt"); QVERIFY( openFile(file, QIODevice::WriteOnly | QIODevice::Unbuffered, FileType(i)) ); QVERIFY( 0 == file.write((char *)0, 0) ); @@ -3116,6 +3171,9 @@ void tst_QFile::resize_data() QTest::newRow("native") << int(OpenQFile); QTest::newRow("fileno") << int(OpenFd); QTest::newRow("stream") << int(OpenStream); +#ifdef Q_OS_SYMBIAN + QTest::newRow("rfile") << int(OpenRFile); +#endif } void tst_QFile::resize() @@ -3227,5 +3285,115 @@ void tst_QFile::caseSensitivity() } } +//MSVCRT asserts when any function is called with a closed file handle. +//This replaces the default crashing error handler with one that ignores the error (allowing EBADF to be returned) +class AutoIgnoreInvalidParameter +{ +public: +#if defined(Q_OS_WIN) && defined (Q_CC_MSVC) + static void ignore_invalid_parameter(const wchar_t*, const wchar_t*, const wchar_t*, unsigned int, uintptr_t) {} + AutoIgnoreInvalidParameter() + { + old = _set_invalid_parameter_handler(ignore_invalid_parameter); + } + ~AutoIgnoreInvalidParameter() + { + _set_invalid_parameter_handler(old); + } + _invalid_parameter_handler old; +#endif +}; + +void tst_QFile::autocloseHandle() +{ +#ifdef Q_OS_SYMBIAN + // these tests are a bit different, because using a closed file handle results in a panic rather than error + { + QFile file("readonlyfile"); + QFile file2("readonlyfile"); + QVERIFY(openFile(file, QIODevice::ReadOnly, OpenRFile, QFile::AutoCloseHandle)); + // file is opened with mandatory lock, so opening again should fail + QVERIFY(!file2.open(QIODevice::ReadOnly)); + + file.close(); + // opening again should now succeed (because handle is closed) + QVERIFY(file2.open(QIODevice::ReadOnly)); + } + + { + QFile file("readonlyfile"); + QFile file2("readonlyfile"); + QVERIFY(openFile(file, QIODevice::ReadOnly, OpenRFile, QFile::DontCloseHandle)); + // file is opened with mandatory lock, so opening again should fail + QVERIFY(!file2.open(QIODevice::ReadOnly)); + + file.close(); + // opening again should still fail (because handle is not auto closed) + QVERIFY(!file2.open(QIODevice::ReadOnly)); + + rfile_.Close(); + // now it should succeed + QVERIFY(file2.open(QIODevice::ReadOnly)); + } +#endif + + { + QFile file("readonlyfile"); + QVERIFY(openFile(file, QIODevice::ReadOnly, OpenFd, QFile::AutoCloseHandle)); + int fd = fd_; + QCOMPARE(file.handle(), fd); + file.close(); + fd_ = -1; + QCOMPARE(file.handle(), -1); + AutoIgnoreInvalidParameter a; + Q_UNUSED(a); + //file is closed, read should fail + char buf; + QCOMPARE((int)QT_READ(fd, &buf, 1), -1); + QVERIFY(errno = EBADF); + } + + { + QFile file("readonlyfile"); + QVERIFY(openFile(file, QIODevice::ReadOnly, OpenFd, QFile::DontCloseHandle)); + QCOMPARE(file.handle(), fd_); + file.close(); + QCOMPARE(file.handle(), -1); + //file is not closed, read should succeed + char buf; + QCOMPARE((int)QT_READ(fd_, &buf, 1), 1); + ::close(fd_); + fd_ = -1; + } + + { + QFile file("readonlyfile"); + QVERIFY(openFile(file, QIODevice::ReadOnly, OpenStream, QFile::AutoCloseHandle)); + int fd = fileno(stream_); + QCOMPARE(file.handle(), fd); + file.close(); + stream_ = 0; + QCOMPARE(file.handle(), -1); + AutoIgnoreInvalidParameter a; + Q_UNUSED(a); + //file is closed, read should fail + char buf; + QCOMPARE((int)QT_READ(fd, &buf, 1), -1); //not using fread because the FILE* was freed by fclose + } + + { + QFile file("readonlyfile"); + QVERIFY(openFile(file, QIODevice::ReadOnly, OpenStream, QFile::DontCloseHandle)); + QCOMPARE(file.handle(), fileno(stream_)); + file.close(); + QCOMPARE(file.handle(), -1); + //file is not closed, read should succeed + char buf; + QCOMPARE(int(::fread(&buf, 1, 1, stream_)), 1); + ::fclose(stream_); + stream_ = 0; + } +} + QTEST_MAIN(tst_QFile) #include "tst_qfile.moc" diff --git a/tests/auto/qmessagebox/tst_qmessagebox.cpp b/tests/auto/qmessagebox/tst_qmessagebox.cpp index f6ee764..4bc1a28 100644 --- a/tests/auto/qmessagebox/tst_qmessagebox.cpp +++ b/tests/auto/qmessagebox/tst_qmessagebox.cpp @@ -55,6 +55,8 @@ #include <QCleanlooksStyle> #endif +#include "../../shared/util.h" + //TESTED_CLASS= //TESTED_FILES= @@ -107,7 +109,7 @@ class tst_QMessageBox : public QObject public: tst_QMessageBox(); int exec(QMessageBox *msgBox, int key = -1); - int sendReturn(); + void sendKeySoon(); public slots: void sendKey(); @@ -136,8 +138,12 @@ private slots: void setInformativeText(); void iconPixmap(); + void init(); + void initTestCase(); + private: int keyToSend; + QTimer keySendTimer; }; tst_QMessageBox::tst_QMessageBox() : keyToSend(-1) @@ -152,22 +158,16 @@ int tst_QMessageBox::exec(QMessageBox *msgBox, int key) QTimer::singleShot(1000, msgBox, SLOT(close())); } else { keyToSend = key; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); } return msgBox->exec(); } -int tst_QMessageBox::sendReturn() -{ - keyToSend = Qt::Key_Return; - QTimer::singleShot(1000, this, SLOT(sendKey())); - return 0; -} - void tst_QMessageBox::sendKey() { if (keyToSend == -2) { QApplication::activeModalWidget()->close(); + keyToSend = -1; return; } if (keyToSend == -1) @@ -177,6 +177,24 @@ void tst_QMessageBox::sendKey() keyToSend = -1; } +void tst_QMessageBox::sendKeySoon() +{ + keySendTimer.start(); +} + +void tst_QMessageBox::init() +{ + // if there is any pending key send from the last test, cancel it. + keySendTimer.stop(); +} + +void tst_QMessageBox::initTestCase() +{ + keySendTimer.setInterval(1000); + keySendTimer.setSingleShot(true); + QVERIFY(QObject::connect(&keySendTimer, SIGNAL(timeout()), this, SLOT(sendKey()))); +} + void tst_QMessageBox::sanityTest() { QMessageBox msgBox; @@ -317,32 +335,36 @@ void tst_QMessageBox::statics() for (int i = 0; i < 4; i++) { keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); QMessageBox::StandardButton sb = (*statics[i])(0, "caption", "text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help | QMessageBox::Cancel, QMessageBox::NoButton); QCOMPARE(sb, QMessageBox::Cancel); + QCOMPARE(keyToSend, -1); keyToSend = -2; // close() - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); sb = (*statics[i])(0, "caption", "text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help | QMessageBox::Cancel, QMessageBox::NoButton); QCOMPARE(sb, QMessageBox::Cancel); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); sb = (*statics[i])(0, "caption", "text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help, QMessageBox::Yes); QCOMPARE(sb, QMessageBox::Yes); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); sb = (*statics[i])(0, "caption", "text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help, QMessageBox::No); QCOMPARE(sb, QMessageBox::No); + QCOMPARE(keyToSend, -1); } } @@ -361,16 +383,28 @@ void tst_QMessageBox::shortcut() void tst_QMessageBox::about() { keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); QMessageBox::about(0, "Caption", "This is an auto test"); + // On Mac, about and aboutQt are not modal, so we need to + // explicitly run the event loop +#ifdef Q_WS_MAC + QTRY_COMPARE(keyToSend, -1); +#else + QCOMPARE(keyToSend, -1); +#endif #if !defined(Q_OS_WINCE) keyToSend = Qt::Key_Enter; #else keyToSend = Qt::Key_Escape; #endif - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); QMessageBox::aboutQt(0, "Caption"); +#ifdef Q_WS_MAC + QTRY_COMPARE(keyToSend, -1); +#else + QCOMPARE(keyToSend, -1); +#endif } // Old message box enums @@ -392,7 +426,7 @@ void tst_QMessageBox::staticSourceCompat() // source compat tests for < 4.2 keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes, QMessageBox::No); int expectedButton = int(QMessageBox::Yes); #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) @@ -403,43 +437,51 @@ void tst_QMessageBox::staticSourceCompat() expectedButton = int(QMessageBox::No); #endif QCOMPARE(ret, expectedButton); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No); QCOMPARE(ret, int(QMessageBox::Yes)); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes, QMessageBox::No | QMessageBox::Default); QCOMPARE(ret, int(QMessageBox::No)); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape); QCOMPARE(ret, int(QMessageBox::Yes)); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes | QMessageBox::Escape, QMessageBox::No | QMessageBox::Default); QCOMPARE(ret, int(QMessageBox::No)); + QCOMPARE(keyToSend, -1); // the button text versions keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", "Yes", "No", QString(), 1); QCOMPARE(ret, 1); + QCOMPARE(keyToSend, -1); if (0) { // dont run these tests since the dialog wont close! keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", "Yes", "No", QString(), 1); QCOMPARE(ret, -1); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", "Yes", "No", QString(), 0, 1); QCOMPARE(ret, 1); + QCOMPARE(keyToSend, -1); } } @@ -472,7 +514,7 @@ void tst_QMessageBox::staticBinaryCompat() // binary compat tests for < 4.2 keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", Old_Yes, Old_No, 0); int expectedButton = int(Old_Yes); #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) @@ -483,33 +525,39 @@ void tst_QMessageBox::staticBinaryCompat() expectedButton = int(Old_No); #endif QCOMPARE(ret, expectedButton); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", Old_Yes | Old_Escape, Old_No, 0); QCOMPARE(ret, int(Old_Yes)); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Enter; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", Old_Yes | Old_Default, Old_No, 0); QCOMPARE(ret, int(Old_Yes)); + QCOMPARE(keyToSend, -1); #if 0 keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", Old_Yes, Old_No | Old_Default, 0); QCOMPARE(ret, -1); + QCOMPARE(keyToSend, -1); #endif keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", Old_Yes | Old_Escape, Old_No | Old_Default, 0); QCOMPARE(ret, Old_Yes); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); ret = QMessageBox::information(0, "title", "text", Old_Yes | Old_Default, Old_No | Old_Escape, 0); QCOMPARE(ret, Old_No); + QCOMPARE(keyToSend, -1); } @@ -678,8 +726,7 @@ void tst_QMessageBox::detailsButtonText() foreach(btn, list) { if (btn && (btn->inherits("QPushButton"))) { if (btn->text() != QMessageBox::tr("OK") && btn->text() != QMessageBox::tr("Show Details...")) { - qDebug() << btn->text(); - QFAIL("Incorrect messagebox button text!"); + QFAIL(qPrintable(QString("Unexpected messagebox button text: %1").arg(btn->text()))); } } } @@ -688,22 +735,25 @@ void tst_QMessageBox::detailsButtonText() void tst_QMessageBox::incorrectDefaultButton() { keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); //Do not crash here QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added"); QMessageBox::question( 0, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save ); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added"); QMessageBox::question( 0, "", "I've been hit!",QFlag(QMessageBox::Ok | QMessageBox::Cancel),QMessageBox::Save ); + QCOMPARE(keyToSend, -1); keyToSend = Qt::Key_Escape; - QTimer::singleShot(1000, this, SLOT(sendKey())); + sendKeySoon(); QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added"); QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added"); //do not crash here -> call old function of QMessageBox in this case QMessageBox::question( 0, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save | QMessageBox::Cancel,QMessageBox::Ok); + QCOMPARE(keyToSend, -1); } void tst_QMessageBox::updateSize() diff --git a/tests/auto/qpainterpath/tst_qpainterpath.cpp b/tests/auto/qpainterpath/tst_qpainterpath.cpp index 19b3156..b701438 100644 --- a/tests/auto/qpainterpath/tst_qpainterpath.cpp +++ b/tests/auto/qpainterpath/tst_qpainterpath.cpp @@ -109,6 +109,7 @@ private slots: void operators(); void connectPathDuplicatePoint(); + void connectPathMoveTo(); void translate(); }; @@ -1182,6 +1183,31 @@ void tst_QPainterPath::connectPathDuplicatePoint() QCOMPARE(c, a); } +void tst_QPainterPath::connectPathMoveTo() +{ + QPainterPath path1; + QPainterPath path2; + QPainterPath path3; + QPainterPath path4; + + path1.moveTo(1,1); + + path2.moveTo(4,4); + path2.lineTo(5,6); + path2.lineTo(6,7); + + path3.connectPath(path2); + + path4.lineTo(5,5); + + path1.connectPath(path2); + + QVERIFY(path1.elementAt(0).type == QPainterPath::MoveToElement); + QVERIFY(path2.elementAt(0).type == QPainterPath::MoveToElement); + QVERIFY(path3.elementAt(0).type == QPainterPath::MoveToElement); + QVERIFY(path4.elementAt(0).type == QPainterPath::MoveToElement); +} + void tst_QPainterPath::translate() { QPainterPath path; diff --git a/tests/auto/qprogressbar/tst_qprogressbar.cpp b/tests/auto/qprogressbar/tst_qprogressbar.cpp index 7d94e3c..e042fb8 100644 --- a/tests/auto/qprogressbar/tst_qprogressbar.cpp +++ b/tests/auto/qprogressbar/tst_qprogressbar.cpp @@ -179,10 +179,15 @@ void tst_QProgressBar::format() bar.repainted = false; bar.setFormat("%v of %m (%p%)"); qApp->processEvents(); + #ifndef Q_WS_MAC - // The Mac scroll bar is animated, which means we get paint events all the time. + // Animated scroll bars get paint events all the time +#ifdef Q_OS_WIN + if (QSysInfo::WindowsVersion < QSysInfo::WV_VISTA) +#endif QVERIFY(!bar.repainted); #endif + QCOMPARE(bar.text(), QString("1 of 10 (10%)")); bar.setRange(5, 5); bar.setValue(5); diff --git a/tests/auto/qscriptclass/tst_qscriptclass.cpp b/tests/auto/qscriptclass/tst_qscriptclass.cpp index 20d62b4..12ee178 100644 --- a/tests/auto/qscriptclass/tst_qscriptclass.cpp +++ b/tests/auto/qscriptclass/tst_qscriptclass.cpp @@ -69,6 +69,10 @@ private slots: void getProperty_invalidValue(); void enumerate(); void extension(); + void originalProperties1(); + void originalProperties2(); + void originalProperties3(); + void originalProperties4(); void defaultImplementations(); }; @@ -1050,6 +1054,248 @@ void tst_QScriptClass::extension() } } +// tests made to match Qt 4.7 (JSC) behaviour +void tst_QScriptClass::originalProperties1() +{ + QScriptEngine eng; + + QScriptString orig1 = eng.toStringHandle("orig1"); + QScriptString orig2 = eng.toStringHandle("orig2"); + QScriptString orig3 = eng.toStringHandle("orig3"); + QScriptString new1 = eng.toStringHandle("new1"); + QScriptString new2 = eng.toStringHandle("new2"); + + { + TestClass cls1(&eng); + cls1.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 89); + cls1.addCustomProperty(new1, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "hello"); + + TestClass cls2(&eng); + cls2.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 59); + cls2.addCustomProperty(new2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "world"); + + QScriptValue obj1 = eng.newObject(); + obj1.setProperty(orig1 , 42); + obj1.setProperty(orig2 , "foo"); + obj1.prototype().setProperty(orig3, "bar"); + + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("bar")); + QVERIFY(!obj1.property(new1).isValid()); + QVERIFY(!obj1.property(new2).isValid()); + + eng.globalObject().setProperty("obj" , obj1); + + obj1.setScriptClass(&cls1); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("bar")); + QCOMPARE(obj1.property(new1).toString(), QString::fromLatin1("hello")); + QVERIFY(!obj1.property(new2).isValid()); + + QScriptValue obj2 = eng.evaluate("obj"); + QCOMPARE(obj2.scriptClass(), &cls1); + QCOMPARE(obj2.property(orig1).toInt32(), 42); + QCOMPARE(obj2.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj2.property(orig3).toString(), QString::fromLatin1("bar")); + QCOMPARE(obj2.property(new1).toString(), QString::fromLatin1("hello")); + QVERIFY(!obj2.property(new2).isValid()); + + obj1.setScriptClass(&cls2); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("bar")); + QVERIFY(!obj1.property(new1).isValid()); + QCOMPARE(obj1.property(new2).toString(), QString::fromLatin1("world")); + + QCOMPARE(obj2.scriptClass(), &cls2); + QCOMPARE(obj2.property(orig1).toInt32(), 42); + QCOMPARE(obj2.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj2.property(orig3).toString(), QString::fromLatin1("bar")); + QVERIFY(!obj2.property(new1).isValid()); + QCOMPARE(obj2.property(new2).toString(), QString::fromLatin1("world")); + + obj1.setScriptClass(0); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("bar")); + QVERIFY(!obj1.property(new1).isValid()); + QVERIFY(!obj1.property(new2).isValid()); + } +} + +void tst_QScriptClass::originalProperties2() +{ + QScriptEngine eng; + + QScriptString orig1 = eng.toStringHandle("orig1"); + QScriptString orig2 = eng.toStringHandle("orig2"); + QScriptString orig3 = eng.toStringHandle("orig3"); + QScriptString new1 = eng.toStringHandle("new1"); + QScriptString new2 = eng.toStringHandle("new2"); + + { + TestClass cls1(&eng); + cls1.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 89); + cls1.addCustomProperty(new1, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "hello"); + + TestClass cls2(&eng); + cls2.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 59); + cls2.addCustomProperty(new2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "world"); + + QScriptValue obj1 = eng.newObject(); + obj1.setProperty(orig1 , 42); + obj1.setProperty(orig2 , "foo"); + obj1.prototype().setProperty(orig3, "bar"); + + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("bar")); + QVERIFY(!obj1.property(new1).isValid()); + QVERIFY(!obj1.property(new2).isValid()); + + obj1.setScriptClass(&cls1); + obj1.setProperty(orig1 , QScriptValue(&eng, 852)); + obj1.setProperty(orig2 , "oli"); + obj1.setProperty(orig3 , "fu*c"); + obj1.setProperty(new1 , "moo"); + obj1.setProperty(new2 , "allo?"); + QCOMPARE(obj1.property(orig1).toInt32(), 852); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("fu*c")); + QCOMPARE(obj1.property(new1).toString(), QString::fromLatin1("moo")); + QCOMPARE(obj1.property(new2).toString(), QString::fromLatin1("allo?")); + + obj1.setScriptClass(&cls2); + QCOMPARE(obj1.property(orig1).toInt32(), 852); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("fu*c")); + QVERIFY(!obj1.property(new1).isValid()); + QCOMPARE(obj1.property(new2).toString(), QString::fromLatin1("allo?")); + + obj1.setScriptClass(0); + QCOMPARE(obj1.property(orig1).toInt32(), 852); + QCOMPARE(obj1.property(orig2).toString(), QString::fromLatin1("foo")); + QCOMPARE(obj1.property(orig3).toString(), QString::fromLatin1("fu*c")); + QVERIFY(!obj1.property(new1).isValid()); + QCOMPARE(obj1.property(new2).toString(), QString::fromLatin1("allo?")); + } +} + +void tst_QScriptClass::originalProperties3() +{ + QScriptEngine eng; + + QScriptString orig1 = eng.toStringHandle("orig1"); + QScriptString orig2 = eng.toStringHandle("orig2"); + QScriptString orig3 = eng.toStringHandle("orig3"); + QScriptString new1 = eng.toStringHandle("new1"); + QScriptString new2 = eng.toStringHandle("new2"); + + { + TestClass cls1(&eng); + cls1.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 89); + cls1.addCustomProperty(new1, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "hello"); + + TestClass cls2(&eng); + cls2.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 59); + cls2.addCustomProperty(new2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "world"); + + QScriptValue obj1 = eng.newObject(&cls1); + QVERIFY(!obj1.property(orig1).isValid()); + QCOMPARE(obj1.property(orig2).toInt32(), 89); + QCOMPARE(obj1.property(new1).toString(), QString::fromLatin1("hello")); + QVERIFY(!obj1.property(new2).isValid()); + obj1.setProperty(orig1, 42); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + + eng.globalObject().setProperty("obj" , obj1); + obj1.setScriptClass(&cls2); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toInt32(), 59); + QVERIFY(!obj1.property(new1).isValid()); + QCOMPARE(obj1.property(new2).toString(), QString::fromLatin1("world")); + + QScriptValue obj2 = eng.evaluate("obj"); + QCOMPARE(obj2.scriptClass(), &cls2); + QCOMPARE(obj2.property(orig1).toInt32(), 42); + QCOMPARE(obj2.property(orig2).toInt32(), 59); + QVERIFY(!obj2.property(new1).isValid()); + QCOMPARE(obj2.property(new2).toString(), QString::fromLatin1("world")); + + obj1.setScriptClass(0); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QVERIFY(!obj1.property(orig2).isValid()); + QVERIFY(!obj1.property(new1).isValid()); + QVERIFY(!obj1.property(new2).isValid()); + + QCOMPARE(obj2.scriptClass(), (QScriptClass *)0); + QCOMPARE(obj2.property(orig1).toInt32(), 42); + QVERIFY(!obj2.property(orig2).isValid()); + QVERIFY(!obj2.property(new1).isValid()); + QVERIFY(!obj2.property(new2).isValid()); + } +} + +void tst_QScriptClass::originalProperties4() +{ + QScriptEngine eng; + + QScriptString orig1 = eng.toStringHandle("orig1"); + QScriptString orig2 = eng.toStringHandle("orig2"); + QScriptString orig3 = eng.toStringHandle("orig3"); + QScriptString new1 = eng.toStringHandle("new1"); + QScriptString new2 = eng.toStringHandle("new2"); + + { + TestClass cls1(&eng); + cls1.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 89); + cls1.addCustomProperty(new1, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "hello"); + + TestClass cls2(&eng); + cls2.addCustomProperty(orig2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, 59); + cls2.addCustomProperty(new2, QScriptClass::HandlesReadAccess | QScriptClass::HandlesWriteAccess, 1, 0, "world"); + + QScriptValue obj1 = eng.newObject(&cls1); + QVERIFY(!obj1.property(orig1).isValid()); + QCOMPARE(obj1.property(orig2).toInt32(), 89); + QCOMPARE(obj1.property(new1).toString(), QString::fromLatin1("hello")); + QVERIFY(!obj1.property(new2).isValid()); + + eng.globalObject().setProperty("obj" , obj1); + + obj1.setScriptClass(0); + QVERIFY(obj1.isObject()); + QVERIFY(!obj1.property(orig1).isValid()); + QVERIFY(!obj1.property(orig2).isValid()); + QVERIFY(!obj1.property(new1).isValid()); + QVERIFY(!obj1.property(new2).isValid()); + obj1.setProperty(orig1, 42); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + + QScriptValue obj2 = eng.evaluate("obj"); + QCOMPARE(obj2.scriptClass(), (QScriptClass *)0); + QVERIFY(obj2.isObject()); + QCOMPARE(obj2.property(orig1).toInt32(), 42); + QVERIFY(!obj2.property(orig2).isValid()); + QVERIFY(!obj2.property(new1).isValid()); + QVERIFY(!obj2.property(new2).isValid()); + + obj1.setScriptClass(&cls2); + QCOMPARE(obj1.property(orig1).toInt32(), 42); + QCOMPARE(obj1.property(orig2).toInt32(), 59); + QVERIFY(!obj1.property(new1).isValid()); + QCOMPARE(obj1.property(new2).toString(), QString::fromLatin1("world")); + + QCOMPARE(obj2.scriptClass(), (QScriptClass *)(&cls2)); + QCOMPARE(obj2.property(orig1).toInt32(), 42); + QCOMPARE(obj2.property(orig2).toInt32(), 59); + QVERIFY(!obj2.property(new1).isValid()); + QCOMPARE(obj2.property(new2).toString(), QString::fromLatin1("world")); + } +} + void tst_QScriptClass::defaultImplementations() { QScriptEngine eng; diff --git a/tests/auto/qsqldatabase/tst_databases.h b/tests/auto/qsqldatabase/tst_databases.h index 80535df..82ee41a 100644 --- a/tests/auto/qsqldatabase/tst_databases.h +++ b/tests/auto/qsqldatabase/tst_databases.h @@ -235,6 +235,8 @@ public: // addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "postgres74-nokia.trolltech.com.au" ); // Version 7.4.19-1.el4_6.1 // addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "bq-pgsql81.apac.nokia.com" ); // Version 8.1.11-1.el5_1.1 // addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "bq-pgsql84.apac.nokia.com" ); // Version 8.4.1-2.1.i586 +// addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "bq-pgsql90.apac.nokia.com" ); // Version 9.0.0 + // addDb( "QDB2", "testdb", "troll", "trond", "silence.nokia.troll.no" ); // DB2 v9.1 on silence diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp index ba24225..9c754d2 100644 --- a/tests/auto/qstyle/tst_qstyle.cpp +++ b/tests/auto/qstyle/tst_qstyle.cpp @@ -413,6 +413,13 @@ void tst_QStyle::testWindowsStyle() QWindowsStyle wstyle; testAllFunctions(&wstyle); lineUpLayoutTest(&wstyle); + + // Tests drawing indeterminate progress with 0 size: QTBUG-15973 + QStyleOptionProgressBar pb; + pb.rect = QRect(0,0,-9,0); + QPixmap surface(QSize(200, 200)); + QPainter painter(&surface); + wstyle.drawControl(QStyle::CE_ProgressBar, &pb, &painter, 0); } void tst_QStyle::testWindowsXPStyle() diff --git a/tests/auto/qtextstream/tst_qtextstream.cpp b/tests/auto/qtextstream/tst_qtextstream.cpp index 4c78ef0..005f686 100644 --- a/tests/auto/qtextstream/tst_qtextstream.cpp +++ b/tests/auto/qtextstream/tst_qtextstream.cpp @@ -228,6 +228,7 @@ private slots: void status_real_read(); void status_integer_read(); void status_word_read(); + void status_write_error(); // use case tests void useCase1(); @@ -4176,6 +4177,42 @@ void tst_QTextStream::status_word_read() QCOMPARE(s.status(), QTextStream::ReadPastEnd); } +class FakeBuffer : public QBuffer +{ +protected: + qint64 writeData(const char *c, qint64 i) { return m_lock ? 0 : QBuffer::writeData(c, i); } +public: + FakeBuffer(bool locked = false) : m_lock(locked) {} + void setLocked(bool locked) { m_lock = locked; } +private: + bool m_lock; +}; + +void tst_QTextStream::status_write_error() +{ + FakeBuffer fb(false); + QVERIFY(fb.open(QBuffer::ReadWrite)); + QTextStream fs(&fb); + fs.setCodec(QTextCodec::codecForName("latin1")); + /* first write some initial content */ + fs << "hello"; + fs.flush(); + QCOMPARE(fs.status(), QTextStream::Ok); + QCOMPARE(fb.data(), QByteArray("hello")); + /* then test that writing can cause an error */ + fb.setLocked(true); + fs << "error"; + fs.flush(); + QCOMPARE(fs.status(), QTextStream::WriteFailed); + QCOMPARE(fb.data(), QByteArray("hello")); + /* finally test that writing after an error doesn't change the stream any more */ + fb.setLocked(false); + fs << "can't do that"; + fs.flush(); + QCOMPARE(fs.status(), QTextStream::WriteFailed); + QCOMPARE(fb.data(), QByteArray("hello")); +} + void tst_QTextStream::task180679_alignAccountingStyle() { { diff --git a/tests/auto/qxmlstream/tst_qxmlstream.cpp b/tests/auto/qxmlstream/tst_qxmlstream.cpp index 19e4b90..9e4f3ec 100644 --- a/tests/auto/qxmlstream/tst_qxmlstream.cpp +++ b/tests/auto/qxmlstream/tst_qxmlstream.cpp @@ -574,6 +574,7 @@ private slots: void checkCommentIndentation() const; void checkCommentIndentation_data() const; void qtbug9196_crash() const; + void hasError() const; private: static QByteArray readFile(const QString &filename); @@ -1560,5 +1561,86 @@ void tst_QXmlStream::qtbug9196_crash() const } } +class FakeBuffer : public QBuffer +{ +protected: + qint64 writeData(const char *c, qint64 i) + { + qint64 ai = qMin(m_capacity, i); + m_capacity -= ai; + return ai ? QBuffer::writeData(c, ai) : 0; + } +public: + void setCapacity(int capacity) { m_capacity = capacity; } +private: + qint64 m_capacity; +}; + +void tst_QXmlStream::hasError() const +{ + { + FakeBuffer fb; + QVERIFY(fb.open(QBuffer::ReadWrite)); + fb.setCapacity(1000); + QXmlStreamWriter writer(&fb); + writer.writeStartDocument(); + writer.writeEndDocument(); + QVERIFY(!writer.hasError()); + QCOMPARE(fb.data(), QByteArray("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")); + } + + { + // Failure caused by write(QString) + FakeBuffer fb; + QVERIFY(fb.open(QBuffer::ReadWrite)); + fb.setCapacity(strlen("<?xml version=\"")); + QXmlStreamWriter writer(&fb); + writer.writeStartDocument(); + QVERIFY(writer.hasError()); + QCOMPARE(fb.data(), QByteArray("<?xml version=\"")); + } + + { + // Failure caused by write(char *) + FakeBuffer fb; + QVERIFY(fb.open(QBuffer::ReadWrite)); + fb.setCapacity(strlen("<?xml version=\"1.0")); + QXmlStreamWriter writer(&fb); + writer.writeStartDocument(); + QVERIFY(writer.hasError()); + QCOMPARE(fb.data(), QByteArray("<?xml version=\"1.0")); + } + + { + // Failure caused by write(QStringRef) + FakeBuffer fb; + QVERIFY(fb.open(QBuffer::ReadWrite)); + fb.setCapacity(strlen("<?xml version=\"1.0\" encoding=\"UTF-8\"?><test xmlns:")); + QXmlStreamWriter writer(&fb); + writer.writeStartDocument(); + writer.writeStartElement("test"); + writer.writeNamespace("http://foo.bar", "foo"); + QVERIFY(writer.hasError()); + QCOMPARE(fb.data(), QByteArray("<?xml version=\"1.0\" encoding=\"UTF-8\"?><test xmlns:")); + } + + { + // Refusal to write after 1st failure + FakeBuffer fb; + QVERIFY(fb.open(QBuffer::ReadWrite)); + fb.setCapacity(10); + QXmlStreamWriter writer(&fb); + writer.writeStartDocument(); + QVERIFY(writer.hasError()); + QCOMPARE(fb.data(), QByteArray("<?xml vers")); + fb.setCapacity(1000); + writer.writeStartElement("test"); // literal & qstring + writer.writeNamespace("http://foo.bar", "foo"); // literal & qstringref + QVERIFY(writer.hasError()); + QCOMPARE(fb.data(), QByteArray("<?xml vers")); + } + +} + #include "tst_qxmlstream.moc" // vim: et:ts=4:sw=4:sts=4 diff --git a/tests/benchmarks/corelib/thread/qmutex/qmutex.pro b/tests/benchmarks/corelib/thread/qmutex/qmutex.pro index eda2f11..8fda5fa 100644 --- a/tests/benchmarks/corelib/thread/qmutex/qmutex.pro +++ b/tests/benchmarks/corelib/thread/qmutex/qmutex.pro @@ -1,6 +1,6 @@ load(qttest_p4) TEMPLATE = app TARGET = tst_bench_qmutex - +QT -= gui SOURCES += tst_qmutex.cpp diff --git a/tests/benchmarks/corelib/thread/qmutex/tst_qmutex.cpp b/tests/benchmarks/corelib/thread/qmutex/tst_qmutex.cpp index fded508..b0c5702 100644 --- a/tests/benchmarks/corelib/thread/qmutex/tst_qmutex.cpp +++ b/tests/benchmarks/corelib/thread/qmutex/tst_qmutex.cpp @@ -39,34 +39,93 @@ ** ****************************************************************************/ -#include <qtest.h> -#include <QtCore> +#include <QtCore/QtCore> +#include <QtTest/QtTest> #include <math.h> -//TESTED_FILES= +#ifdef Q_OS_UNIX +# include <pthread.h> +# include <errno.h> +typedef pthread_mutex_t NativeMutexType; +void NativeMutexInitialize(NativeMutexType *mutex) +{ + pthread_mutex_init(mutex, NULL); +} +void NativeMutexDestroy(NativeMutexType *mutex) +{ + pthread_mutex_destroy(mutex); +} +void NativeMutexLock(NativeMutexType *mutex) +{ + pthread_mutex_lock(mutex); +} +void NativeMutexUnlock(NativeMutexType *mutex) +{ + pthread_mutex_unlock(mutex); +} +#elif defined(Q_OS_WIN) +# define _WIN32_WINNT 0x0400 +# include <windows.h> +typedef CRITICAL_SECTION NativeMutexType; +void NativeMutexInitialize(NativeMutexType *mutex) +{ + InitializeCriticalSection(mutex); +} +void NativeMutexDestroy(NativeMutexType *mutex) +{ + DeleteCriticalSection(mutex); +} +void NativeMutexLock(NativeMutexType *mutex) +{ + EnterCriticalSection(mutex); +} +void NativeMutexUnlock(NativeMutexType *mutex) +{ + LeaveCriticalSection(mutex); +} +#endif +//TESTED_FILES= class tst_QMutex : public QObject { Q_OBJECT + int threadCount; + public: - tst_QMutex(); - virtual ~tst_QMutex(); + // barriers for the contended tests + static QSemaphore semaphore1, semaphore2, semaphore3, semaphore4; + + tst_QMutex() + { + // at least 2 threads, even on single cpu/core machines + threadCount = qMax(2, QThread::idealThreadCount()); + qDebug("thread count: %d", threadCount); + } private slots: void noThread_data(); void noThread(); -}; -tst_QMutex::tst_QMutex() -{ -} + void uncontendedNative(); + void uncontendedQMutex(); + void uncontendedQMutexLocker(); -tst_QMutex::~tst_QMutex() -{ -} + void contendedNative_data(); + void contendedQMutex_data() { contendedNative_data(); } + void contendedQMutexLocker_data() { contendedNative_data(); } + + void contendedNative(); + void contendedQMutex(); + void contendedQMutexLocker(); +}; + +QSemaphore tst_QMutex::semaphore1; +QSemaphore tst_QMutex::semaphore2; +QSemaphore tst_QMutex::semaphore3; +QSemaphore tst_QMutex::semaphore4; void tst_QMutex::noThread_data() { @@ -127,5 +186,248 @@ void tst_QMutex::noThread() QCOMPARE(int(count), N); } +void tst_QMutex::uncontendedNative() +{ + NativeMutexType mutex; + NativeMutexInitialize(&mutex); + QBENCHMARK { + NativeMutexLock(&mutex); + NativeMutexUnlock(&mutex); + } + NativeMutexDestroy(&mutex); +} + +void tst_QMutex::uncontendedQMutex() +{ + QMutex mutex; + QBENCHMARK { + mutex.lock(); + mutex.unlock(); + } +} + +void tst_QMutex::uncontendedQMutexLocker() +{ + QMutex mutex; + QBENCHMARK { + QMutexLocker locker(&mutex); + } +} + +void tst_QMutex::contendedNative_data() +{ + QTest::addColumn<int>("iterations"); + QTest::addColumn<int>("msleepDuration"); + QTest::addColumn<bool>("use2mutexes"); + + QTest::newRow("baseline") << 0 << -1 << false; + + QTest::newRow("no msleep, 1 mutex") << 1000 << -1 << false; + QTest::newRow("no msleep, 2 mutexes") << 1000 << -1 << true; + QTest::newRow("msleep(0), 1 mutex") << 1000 << 0 << false; + QTest::newRow("msleep(0), 2 mutexes") << 1000 << 0 << true; + QTest::newRow("msleep(1), 1 mutex") << 10 << 1 << false; + QTest::newRow("msleep(1), 2 mutexes") << 10 << 1 << true; + QTest::newRow("msleep(2), 1 mutex") << 10 << 2 << false; + QTest::newRow("msleep(2), 2 mutexes") << 10 << 2 << true; + QTest::newRow("msleep(10), 1 mutex") << 10 << 10 << false; + QTest::newRow("msleep(10), 2 mutexes") << 10 << 10 << true; +} + +class NativeMutexThread : public QThread +{ + NativeMutexType *mutex1, *mutex2; + int iterations, msleepDuration; + bool use2mutexes; +public: + bool done; + NativeMutexThread(NativeMutexType *mutex1, NativeMutexType *mutex2, int iterations, int msleepDuration, bool use2mutexes) + : mutex1(mutex1), mutex2(mutex2), iterations(iterations), msleepDuration(msleepDuration), use2mutexes(use2mutexes), done(false) + { } + void run() { + forever { + tst_QMutex::semaphore1.release(); + tst_QMutex::semaphore2.acquire(); + if (done) + break; + for (int i = 0; i < iterations; ++i) { + NativeMutexLock(mutex1); + if (use2mutexes) + NativeMutexLock(mutex2); + if (msleepDuration >= 0) + msleep(msleepDuration); + if (use2mutexes) + NativeMutexUnlock(mutex2); + NativeMutexUnlock(mutex1); + + QThread::yieldCurrentThread(); + } + tst_QMutex::semaphore3.release(); + tst_QMutex::semaphore4.acquire(); + } + } +}; + +void tst_QMutex::contendedNative() +{ + QFETCH(int, iterations); + QFETCH(int, msleepDuration); + QFETCH(bool, use2mutexes); + + NativeMutexType mutex1, mutex2; + NativeMutexInitialize(&mutex1); + NativeMutexInitialize(&mutex2); + + QVector<NativeMutexThread *> threads(threadCount); + for (int i = 0; i < threads.count(); ++i) { + threads[i] = new NativeMutexThread(&mutex1, &mutex2, iterations, msleepDuration, use2mutexes); + threads[i]->start(); + } + + QBENCHMARK { + semaphore1.acquire(threadCount); + semaphore2.release(threadCount); + semaphore3.acquire(threadCount); + semaphore4.release(threadCount); + } + + for (int i = 0; i < threads.count(); ++i) + threads[i]->done = true; + semaphore1.acquire(threadCount); + semaphore2.release(threadCount); + for (int i = 0; i < threads.count(); ++i) + threads[i]->wait(); + qDeleteAll(threads); + + NativeMutexDestroy(&mutex1); + NativeMutexDestroy(&mutex2); +} + +class QMutexThread : public QThread +{ + QMutex *mutex1, *mutex2; + int iterations, msleepDuration; + bool use2mutexes; +public: + bool done; + QMutexThread(QMutex *mutex1, QMutex *mutex2, int iterations, int msleepDuration, bool use2mutexes) + : mutex1(mutex1), mutex2(mutex2), iterations(iterations), msleepDuration(msleepDuration), use2mutexes(use2mutexes), done(false) + { } + void run() { + forever { + tst_QMutex::semaphore1.release(); + tst_QMutex::semaphore2.acquire(); + if (done) + break; + for (int i = 0; i < iterations; ++i) { + mutex1->lock(); + if (use2mutexes) + mutex2->lock(); + if (msleepDuration >= 0) + msleep(msleepDuration); + if (use2mutexes) + mutex2->unlock(); + mutex1->unlock(); + + QThread::yieldCurrentThread(); + } + tst_QMutex::semaphore3.release(); + tst_QMutex::semaphore4.acquire(); + } + } +}; + +void tst_QMutex::contendedQMutex() +{ + QFETCH(int, iterations); + QFETCH(int, msleepDuration); + QFETCH(bool, use2mutexes); + + QMutex mutex1, mutex2; + + QVector<QMutexThread *> threads(threadCount); + for (int i = 0; i < threads.count(); ++i) { + threads[i] = new QMutexThread(&mutex1, &mutex2, iterations, msleepDuration, use2mutexes); + threads[i]->start(); + } + + QBENCHMARK { + semaphore1.acquire(threadCount); + semaphore2.release(threadCount); + semaphore3.acquire(threadCount); + semaphore4.release(threadCount); + } + + for (int i = 0; i < threads.count(); ++i) + threads[i]->done = true; + semaphore1.acquire(threadCount); + semaphore2.release(threadCount); + for (int i = 0; i < threads.count(); ++i) + threads[i]->wait(); + qDeleteAll(threads); +} + +class QMutexLockerThread : public QThread +{ + QMutex *mutex1, *mutex2; + int iterations, msleepDuration; + bool use2mutexes; +public: + bool done; + QMutexLockerThread(QMutex *mutex1, QMutex *mutex2, int iterations, int msleepDuration, bool use2mutexes) + : mutex1(mutex1), mutex2(mutex2), iterations(iterations), msleepDuration(msleepDuration), use2mutexes(use2mutexes), done(false) + { } + void run() { + forever { + tst_QMutex::semaphore1.release(); + tst_QMutex::semaphore2.acquire(); + if (done) + break; + for (int i = 0; i < iterations; ++i) { + { + QMutexLocker locker1(mutex1); + QMutexLocker locker2(use2mutexes ? mutex2 : 0); + if (msleepDuration >= 0) + msleep(msleepDuration); + } + + QThread::yieldCurrentThread(); + } + tst_QMutex::semaphore3.release(); + tst_QMutex::semaphore4.acquire(); + } + } +}; + +void tst_QMutex::contendedQMutexLocker() +{ + QFETCH(int, iterations); + QFETCH(int, msleepDuration); + QFETCH(bool, use2mutexes); + + QMutex mutex1, mutex2; + + QVector<QMutexLockerThread *> threads(threadCount); + for (int i = 0; i < threads.count(); ++i) { + threads[i] = new QMutexLockerThread(&mutex1, &mutex2, iterations, msleepDuration, use2mutexes); + threads[i]->start(); + } + + QBENCHMARK { + semaphore1.acquire(threadCount); + semaphore2.release(threadCount); + semaphore3.acquire(threadCount); + semaphore4.release(threadCount); + } + + for (int i = 0; i < threads.count(); ++i) + threads[i]->done = true; + semaphore1.acquire(threadCount); + semaphore2.release(threadCount); + for (int i = 0; i < threads.count(); ++i) + threads[i]->wait(); + qDeleteAll(threads); +} + QTEST_MAIN(tst_QMutex) #include "tst_qmutex.moc" diff --git a/tests/shared/filesystem.h b/tests/shared/filesystem.h index 8274346..4775671 100644 --- a/tests/shared/filesystem.h +++ b/tests/shared/filesystem.h @@ -55,6 +55,9 @@ #define IO_REPARSE_TAG_MOUNT_POINT (0xA0000003L) #endif #define REPARSE_MOUNTPOINT_HEADER_SIZE 8 +#ifndef FSCTL_SET_REPARSE_POINT +#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#endif #endif struct FileSystem |