summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xconfigure.exebin2170880 -> 1204224 bytes
-rw-r--r--demos/declarative/minehunt/main.cpp2
-rw-r--r--doc/src/declarative/modules.qdoc12
-rw-r--r--examples/declarative/extending/adding/person.cpp2
-rw-r--r--examples/declarative/extending/attached/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/attached/person.cpp4
-rw-r--r--examples/declarative/extending/binding/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/binding/happybirthday.cpp2
-rw-r--r--examples/declarative/extending/binding/person.cpp4
-rw-r--r--examples/declarative/extending/coercion/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/coercion/person.cpp4
-rw-r--r--examples/declarative/extending/default/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/default/person.cpp4
-rw-r--r--examples/declarative/extending/extended/lineedit.cpp2
-rw-r--r--examples/declarative/extending/grouped/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/grouped/person.cpp4
-rw-r--r--examples/declarative/extending/properties/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/properties/person.cpp2
-rw-r--r--examples/declarative/extending/signal/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/signal/person.cpp4
-rw-r--r--examples/declarative/extending/valuesource/birthdayparty.cpp2
-rw-r--r--examples/declarative/extending/valuesource/happybirthday.cpp2
-rw-r--r--examples/declarative/extending/valuesource/person.cpp4
-rw-r--r--examples/declarative/loader/qmlfolderlistmodel.cpp2
-rw-r--r--src/declarative/extra/extra.pri2
-rw-r--r--src/declarative/extra/qmlbehavior.cpp2
-rw-r--r--src/declarative/extra/qmldatetimeformatter.cpp2
-rw-r--r--src/declarative/extra/qmlfontloader.cpp2
-rw-r--r--src/declarative/extra/qmlgraphicsanimatedimageitem.cpp21
-rw-r--r--src/declarative/extra/qmlgraphicsanimatedimageitem_p.h1
-rw-r--r--src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h3
-rw-r--r--src/declarative/extra/qmlgraphicsintegermodel.cpp126
-rw-r--r--src/declarative/extra/qmlnumberformatter.cpp2
-rw-r--r--src/declarative/extra/qmlxmllistmodel.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanchors.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsborderimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicseffects.cpp8
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflipable.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsgridview.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimagebase_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem.cpp10
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslistview.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsloader.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsparticles.cpp10
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspath.cpp12
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspathview.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspositioners.cpp6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrectangle.cpp8
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrepeater.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstext.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextedit.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextinput.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicswebview.cpp2
-rw-r--r--src/declarative/qml/qml.h22
-rw-r--r--src/declarative/qml/qmlcompiler.cpp33
-rw-r--r--src/declarative/qml/qmlcomponent.cpp2
-rw-r--r--src/declarative/qml/qmlcustomparser_p.h8
-rw-r--r--src/declarative/qml/qmlengine.cpp15
-rw-r--r--src/declarative/qml/qmlmetaproperty.cpp112
-rw-r--r--src/declarative/qml/qmlmetaproperty.h6
-rw-r--r--src/declarative/qml/qmlmetaproperty_p.h5
-rw-r--r--src/declarative/qml/qmlmetatype.cpp26
-rw-r--r--src/declarative/qml/qmlmetatype.h21
-rw-r--r--src/declarative/qml/qmlprivate.h2
-rw-r--r--src/declarative/qml/qmlvme.cpp6
-rw-r--r--src/declarative/util/qmlanimation.cpp18
-rw-r--r--src/declarative/util/qmlbind.cpp2
-rw-r--r--src/declarative/util/qmlconnection.cpp2
-rw-r--r--src/declarative/util/qmleasefollow.cpp2
-rw-r--r--src/declarative/util/qmllistmodel.cpp4
-rw-r--r--src/declarative/util/qmlpackage.cpp2
-rw-r--r--src/declarative/util/qmlpropertychanges.cpp2
-rw-r--r--src/declarative/util/qmlspringfollow.cpp2
-rw-r--r--src/declarative/util/qmlstate.cpp2
-rw-r--r--src/declarative/util/qmlstategroup.cpp2
-rw-r--r--src/declarative/util/qmlstateoperations.cpp6
-rw-r--r--src/declarative/util/qmlsystempalette.cpp2
-rw-r--r--src/declarative/util/qmltimer.cpp2
-rw-r--r--src/declarative/util/qmltransition.cpp2
-rw-r--r--src/declarative/widgets/graphicslayouts.cpp6
-rw-r--r--src/declarative/widgets/graphicswidgets.cpp6
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp3
-rw-r--r--tests/auto/declarative/animatedimage/tst_animatedimage.cpp6
-rw-r--r--tests/auto/declarative/declarative.pro70
-rw-r--r--tests/auto/declarative/examples/data/dummytest.qml1
-rw-r--r--tests/auto/declarative/examples/data/webbrowser/webbrowser.qml2
-rw-r--r--tests/auto/declarative/examples/tst_examples.cpp5
-rw-r--r--tests/auto/declarative/qfxloader/SetSourceComponent.qml4
-rw-r--r--tests/auto/declarative/qfxloader/tst_qfxloader.cpp68
-rw-r--r--tests/auto/declarative/qmlecmascript/testtypes.cpp12
-rw-r--r--tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp6
-rw-r--r--tests/auto/declarative/qmlgraphicsborderimage/data/invalid.sci7
-rw-r--r--tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp91
-rw-r--r--tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp13
-rw-r--r--tests/auto/declarative/qmllanguage/data/NestedErrorsType.qml5
-rw-r--r--tests/auto/declarative/qmllanguage/data/assignBasicTypes.qml2
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.1.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.1.qml4
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.2.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.2.qml9
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.3.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.3.qml9
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.4.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.4.qml6
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.5.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.5.qml6
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.6.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/component.6.qml6
-rw-r--r--tests/auto/declarative/qmllanguage/data/defaultGrouped.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/defaultGrouped.qml10
-rw-r--r--tests/auto/declarative/qmllanguage/data/doubleSignal.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/doubleSignal.qml7
-rw-r--r--tests/auto/declarative/qmllanguage/data/emptySignal.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/emptySignal.qml6
-rw-r--r--tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir4
-rw-r--r--tests/auto/declarative/qmllanguage/data/nestedErrors.errors.txt2
-rw-r--r--tests/auto/declarative/qmllanguage/data/nestedErrors.qml6
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.1.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.1.qml4
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.10.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.10.qml9
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.11.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.11.qml7
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.2.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.2.qml7
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.3.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.3.qml7
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.4.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.4.qml8
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.5.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.5.qml9
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.6.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.6.qml11
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.7.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.7.qml11
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.8.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.8.qml9
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.9.errors.txt1
-rw-r--r--tests/auto/declarative/qmllanguage/data/script.9.qml7
-rw-r--r--tests/auto/declarative/qmllanguage/data/test.js0
-rw-r--r--tests/auto/declarative/qmllanguage/data/test2.js0
-rw-r--r--tests/auto/declarative/qmllanguage/qmllanguage.pro1
-rw-r--r--tests/auto/declarative/qmllanguage/testtypes.cpp12
-rw-r--r--tests/auto/declarative/qmllanguage/testtypes.h19
-rw-r--r--tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp69
-rw-r--r--tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp824
-rw-r--r--tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp12
-rw-r--r--tests/auto/declarative/qmlxmllistmodel/data/model2.qml11
-rw-r--r--tests/auto/declarative/states/tst_states.cpp2
-rw-r--r--tests/auto/declarative/valuetypes/data/font_read.qml18
-rw-r--r--tests/auto/declarative/valuetypes/data/font_write.2.qml6
-rw-r--r--tests/auto/declarative/valuetypes/data/font_write.3.qml7
-rw-r--r--tests/auto/declarative/valuetypes/data/font_write.qml16
-rw-r--r--tests/auto/declarative/valuetypes/data/point_read.qml7
-rw-r--r--tests/auto/declarative/valuetypes/data/point_write.qml6
-rw-r--r--tests/auto/declarative/valuetypes/data/pointf_read.qml8
-rw-r--r--tests/auto/declarative/valuetypes/data/pointf_write.qml6
-rw-r--r--tests/auto/declarative/valuetypes/data/rect_read.qml10
-rw-r--r--tests/auto/declarative/valuetypes/data/rect_write.qml9
-rw-r--r--tests/auto/declarative/valuetypes/data/rectf_read.qml10
-rw-r--r--tests/auto/declarative/valuetypes/data/rectf_write.qml9
-rw-r--r--tests/auto/declarative/valuetypes/data/size_read.qml8
-rw-r--r--tests/auto/declarative/valuetypes/data/size_write.qml7
-rw-r--r--tests/auto/declarative/valuetypes/data/sizef_read.qml9
-rw-r--r--tests/auto/declarative/valuetypes/data/sizef_write.qml6
-rw-r--r--tests/auto/declarative/valuetypes/data/vector3d_read.qml9
-rw-r--r--tests/auto/declarative/valuetypes/data/vector3d_write.qml8
-rw-r--r--tests/auto/declarative/valuetypes/testtypes.cpp (renamed from src/declarative/extra/qmlgraphicsintegermodel_p.h)49
-rw-r--r--tests/auto/declarative/valuetypes/testtypes.h128
-rw-r--r--tests/auto/declarative/valuetypes/tst_valuetypes.cpp330
-rw-r--r--tests/auto/declarative/valuetypes/valuetypes.pro10
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.0.pngbin11521 -> 11501 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.1.pngbin11521 -> 11501 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.2.pngbin11503 -> 11486 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.3.pngbin11518 -> 11500 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.4.pngbin11518 -> 11500 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.5.pngbin11518 -> 11500 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test.qml726
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.0.pngbin10098 -> 10093 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.1.pngbin10056 -> 10051 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.2.pngbin9817 -> 9812 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.3.pngbin9631 -> 9625 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.4.pngbin9464 -> 9458 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.5.pngbin9638 -> 9645 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.6.pngbin9817 -> 9812 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.7.pngbin10056 -> 10051 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.8.pngbin10095 -> 10087 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.9.pngbin10077 -> 10072 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data-X11/test3.qml1286
-rw-r--r--tests/auto/declarative/visual/focusscope/test3.qml2
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.0.pngbin1012 -> 1002 bytes
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.qml132
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.0.pngbin596 -> 596 bytes
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.qml146
-rw-r--r--tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.pngbin0 -> 6886 bytes
-rw-r--r--tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml83
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml55
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml55
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml18
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/content/MyBorderImage.qml38
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.pngbin0 -> 1357 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci7
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci5
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.pngbin0 -> 1655 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.pngbin0 -> 61731 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.pngbin0 -> 98912 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.pngbin0 -> 48780 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.pngbin0 -> 32431 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.pngbin0 -> 35835 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.pngbin0 -> 79428 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.pngbin0 -> 45928 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml1823
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.pngbin0 -> 23684 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.pngbin0 -> 29115 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.pngbin0 -> 27580 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.pngbin0 -> 14822 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.pngbin0 -> 21356 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.pngbin0 -> 31143 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.pngbin0 -> 26468 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.pngbin0 -> 16225 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml2091
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml1359
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.pngbin0 -> 61731 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.pngbin0 -> 98912 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.pngbin0 -> 48780 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.pngbin0 -> 32431 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.pngbin0 -> 35835 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.pngbin0 -> 79428 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.pngbin0 -> 45928 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml1823
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.pngbin0 -> 23684 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.pngbin0 -> 29115 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.pngbin0 -> 27580 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.pngbin0 -> 14822 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.pngbin0 -> 21356 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.pngbin0 -> 31143 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.pngbin0 -> 26468 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.pngbin0 -> 16225 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml2091
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.pngbin0 -> 23029 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml1359
-rw-r--r--tests/auto/declarative/visual/rect/GradientRect.qml6
-rw-r--r--tests/auto/declarative/visual/rect/MyRect.qml6
-rw-r--r--tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.pngbin0 -> 32225 bytes
-rw-r--r--tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml355
-rw-r--r--tests/auto/declarative/visual/rect/data-X11/rect-painting.0.pngbin0 -> 31355 bytes
-rw-r--r--tests/auto/declarative/visual/rect/data-X11/rect-painting.qml355
-rw-r--r--tests/auto/declarative/visual/tst_visual.cpp31
-rw-r--r--tools/qmlviewer/qfxtester.cpp16
-rw-r--r--tools/qmlviewer/qmlviewer.cpp4
268 files changed, 14883 insertions, 1754 deletions
diff --git a/.gitignore b/.gitignore
index 926de5b..f75cc75 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,6 +47,7 @@ Makefile*
*.prl
*.app
*.pro.user
+*.gcov
bin/Qt*.dll
bin/assistant*
bin/designer*
diff --git a/configure.exe b/configure.exe
index dabf10c..30e881e 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/declarative/minehunt/main.cpp b/demos/declarative/minehunt/main.cpp
index f4cd6a5..5e67cc1 100644
--- a/demos/declarative/minehunt/main.cpp
+++ b/demos/declarative/minehunt/main.cpp
@@ -92,7 +92,7 @@ private:
};
QML_DECLARE_TYPE(Tile);
-QML_DEFINE_TYPE(0,0,0,0,Tile,Tile);
+QML_DEFINE_TYPE(0,0,0,Tile,Tile);
class MyWidget : public QWidget
{
diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc
index 2f7cb57..1491fea 100644
--- a/doc/src/declarative/modules.qdoc
+++ b/doc/src/declarative/modules.qdoc
@@ -91,14 +91,16 @@ mapping from all type names to versioned QML files. It is a list of lines of the
\code
# <Comment>
-<TypeName> <VersionRange> <File>
+<TypeName> <InitialVersion> <File>
\endcode
-<TypeName> is the type being made available; <VersionRange> is either a single version
-number like \c 4.0 or a range of minor versions like \c 4.0-2; <File> is the (relative)
+<TypeName> is the type being made available; <InitialVersion> is a version
+number like \c 4.0; <File> is the (relative)
file name of the QML file defining the type.
-The same type can be provided by different files in different versions.
-If a type is in multiple major versions, it should be listed on a separate line.
+
+The same type can be provided by different files in different versions, in which
+case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0),
+since the \e first name-version match is used.
Installed files do not need to import the module of which they are a part, as they can refer
to the other QML files in the module as relative (local) files.
diff --git a/examples/declarative/extending/adding/person.cpp b/examples/declarative/extending/adding/person.cpp
index 0035282..832bcdc 100644
--- a/examples/declarative/extending/adding/person.cpp
+++ b/examples/declarative/extending/adding/person.cpp
@@ -66,5 +66,5 @@ void Person::setShoeSize(int s)
m_shoeSize = s;
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Person, Person);
+QML_DEFINE_TYPE(People, 1,0, Person, Person);
// ![0]
diff --git a/examples/declarative/extending/attached/birthdayparty.cpp b/examples/declarative/extending/attached/birthdayparty.cpp
index 58ea6a0..c1f0fe8 100644
--- a/examples/declarative/extending/attached/birthdayparty.cpp
+++ b/examples/declarative/extending/attached/birthdayparty.cpp
@@ -82,4 +82,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
return new BirthdayPartyAttached(object);
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/attached/person.cpp b/examples/declarative/extending/attached/person.cpp
index a4138c7..8105ee7 100644
--- a/examples/declarative/extending/attached/person.cpp
+++ b/examples/declarative/extending/attached/person.cpp
@@ -113,11 +113,11 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
diff --git a/examples/declarative/extending/binding/birthdayparty.cpp b/examples/declarative/extending/binding/birthdayparty.cpp
index cfa35c1..13d6bc8 100644
--- a/examples/declarative/extending/binding/birthdayparty.cpp
+++ b/examples/declarative/extending/binding/birthdayparty.cpp
@@ -103,4 +103,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
return new BirthdayPartyAttached(object);
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/binding/happybirthday.cpp b/examples/declarative/extending/binding/happybirthday.cpp
index ffd6de4..9ce5a3d 100644
--- a/examples/declarative/extending/binding/happybirthday.cpp
+++ b/examples/declarative/extending/binding/happybirthday.cpp
@@ -84,4 +84,4 @@ void HappyBirthday::advance()
m_target.write(m_lyrics.at(m_line));
}
-QML_DEFINE_TYPE(People, 1, 0, 0, HappyBirthday, HappyBirthday);
+QML_DEFINE_TYPE(People, 1,0, HappyBirthday, HappyBirthday);
diff --git a/examples/declarative/extending/binding/person.cpp b/examples/declarative/extending/binding/person.cpp
index a388452..6ad62e9 100644
--- a/examples/declarative/extending/binding/person.cpp
+++ b/examples/declarative/extending/binding/person.cpp
@@ -133,11 +133,11 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
diff --git a/examples/declarative/extending/coercion/birthdayparty.cpp b/examples/declarative/extending/coercion/birthdayparty.cpp
index 81303aa..f3e0846 100644
--- a/examples/declarative/extending/coercion/birthdayparty.cpp
+++ b/examples/declarative/extending/coercion/birthdayparty.cpp
@@ -60,4 +60,4 @@ QmlList<Person *> *BirthdayParty::guests()
return &m_guests;
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/coercion/person.cpp b/examples/declarative/extending/coercion/person.cpp
index 9009612..a897d8d 100644
--- a/examples/declarative/extending/coercion/person.cpp
+++ b/examples/declarative/extending/coercion/person.cpp
@@ -75,12 +75,12 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
// ![1]
diff --git a/examples/declarative/extending/default/birthdayparty.cpp b/examples/declarative/extending/default/birthdayparty.cpp
index 81303aa..f3e0846 100644
--- a/examples/declarative/extending/default/birthdayparty.cpp
+++ b/examples/declarative/extending/default/birthdayparty.cpp
@@ -60,4 +60,4 @@ QmlList<Person *> *BirthdayParty::guests()
return &m_guests;
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/default/person.cpp b/examples/declarative/extending/default/person.cpp
index 2c93f5b..a5eafc4 100644
--- a/examples/declarative/extending/default/person.cpp
+++ b/examples/declarative/extending/default/person.cpp
@@ -72,11 +72,11 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
diff --git a/examples/declarative/extending/extended/lineedit.cpp b/examples/declarative/extending/extended/lineedit.cpp
index c6015ff..8a31004 100644
--- a/examples/declarative/extending/extended/lineedit.cpp
+++ b/examples/declarative/extending/extended/lineedit.cpp
@@ -103,4 +103,4 @@ void LineEditExtension::setBottomMargin(int m)
}
QML_DECLARE_TYPE(QLineEdit);
-QML_DEFINE_EXTENDED_TYPE(People, 1, 0, 0, QLineEdit, QLineEdit, LineEditExtension);
+QML_DEFINE_EXTENDED_TYPE(People, 1,0, QLineEdit, QLineEdit, LineEditExtension);
diff --git a/examples/declarative/extending/grouped/birthdayparty.cpp b/examples/declarative/extending/grouped/birthdayparty.cpp
index 81303aa..f3e0846 100644
--- a/examples/declarative/extending/grouped/birthdayparty.cpp
+++ b/examples/declarative/extending/grouped/birthdayparty.cpp
@@ -60,4 +60,4 @@ QmlList<Person *> *BirthdayParty::guests()
return &m_guests;
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/grouped/person.cpp b/examples/declarative/extending/grouped/person.cpp
index a4138c7..8105ee7 100644
--- a/examples/declarative/extending/grouped/person.cpp
+++ b/examples/declarative/extending/grouped/person.cpp
@@ -113,11 +113,11 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
diff --git a/examples/declarative/extending/properties/birthdayparty.cpp b/examples/declarative/extending/properties/birthdayparty.cpp
index 0e82b87..b98a691 100644
--- a/examples/declarative/extending/properties/birthdayparty.cpp
+++ b/examples/declarative/extending/properties/birthdayparty.cpp
@@ -62,4 +62,4 @@ QmlList<Person *> *BirthdayParty::guests()
}
// ![0]
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/properties/person.cpp b/examples/declarative/extending/properties/person.cpp
index 764e159..b41d0b6 100644
--- a/examples/declarative/extending/properties/person.cpp
+++ b/examples/declarative/extending/properties/person.cpp
@@ -65,4 +65,4 @@ void Person::setShoeSize(int s)
m_shoeSize = s;
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Person, Person);
+QML_DEFINE_TYPE(People, 1,0, Person, Person);
diff --git a/examples/declarative/extending/signal/birthdayparty.cpp b/examples/declarative/extending/signal/birthdayparty.cpp
index 49072e0..178ce0e 100644
--- a/examples/declarative/extending/signal/birthdayparty.cpp
+++ b/examples/declarative/extending/signal/birthdayparty.cpp
@@ -88,4 +88,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
return new BirthdayPartyAttached(object);
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/signal/person.cpp b/examples/declarative/extending/signal/person.cpp
index a4138c7..8105ee7 100644
--- a/examples/declarative/extending/signal/person.cpp
+++ b/examples/declarative/extending/signal/person.cpp
@@ -113,11 +113,11 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
diff --git a/examples/declarative/extending/valuesource/birthdayparty.cpp b/examples/declarative/extending/valuesource/birthdayparty.cpp
index c2e8346..b0472d0 100644
--- a/examples/declarative/extending/valuesource/birthdayparty.cpp
+++ b/examples/declarative/extending/valuesource/birthdayparty.cpp
@@ -98,4 +98,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
return new BirthdayPartyAttached(object);
}
-QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty);
+QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty);
diff --git a/examples/declarative/extending/valuesource/happybirthday.cpp b/examples/declarative/extending/valuesource/happybirthday.cpp
index 8c9763b..b453944 100644
--- a/examples/declarative/extending/valuesource/happybirthday.cpp
+++ b/examples/declarative/extending/valuesource/happybirthday.cpp
@@ -79,4 +79,4 @@ void HappyBirthday::advance()
m_target.write(m_lyrics.at(m_line));
}
-QML_DEFINE_TYPE(People, 1, 0, 0, HappyBirthday, HappyBirthday);
+QML_DEFINE_TYPE(People, 1,0, HappyBirthday, HappyBirthday);
diff --git a/examples/declarative/extending/valuesource/person.cpp b/examples/declarative/extending/valuesource/person.cpp
index a4138c7..8105ee7 100644
--- a/examples/declarative/extending/valuesource/person.cpp
+++ b/examples/declarative/extending/valuesource/person.cpp
@@ -113,11 +113,11 @@ Boy::Boy(QObject * parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy);
+QML_DEFINE_TYPE(People, 1,0, Boy, Boy);
Girl::Girl(QObject * parent)
: Person(parent)
{
}
-QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl);
+QML_DEFINE_TYPE(People, 1,0, Girl, Girl);
diff --git a/examples/declarative/loader/qmlfolderlistmodel.cpp b/examples/declarative/loader/qmlfolderlistmodel.cpp
index a90ff61..14d2324 100644
--- a/examples/declarative/loader/qmlfolderlistmodel.cpp
+++ b/examples/declarative/loader/qmlfolderlistmodel.cpp
@@ -382,7 +382,7 @@ void QmlFolderListModel::setShowOnlyReadable(bool on)
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FolderListModel,QmlFolderListModel)
+QML_DEFINE_TYPE(Qt,4,6,FolderListModel,QmlFolderListModel)
QT_END_NAMESPACE
diff --git a/src/declarative/extra/extra.pri b/src/declarative/extra/extra.pri
index a81416d..78272a9 100644
--- a/src/declarative/extra/extra.pri
+++ b/src/declarative/extra/extra.pri
@@ -2,7 +2,6 @@ SOURCES += \
extra/qnumberformat.cpp \
extra/qmlnumberformatter.cpp \
extra/qmldatetimeformatter.cpp \
- extra/qmlgraphicsintegermodel.cpp \
extra/qmlgraphicsanimatedimageitem.cpp \
extra/qmlbehavior.cpp \
extra/qmlfontloader.cpp
@@ -11,7 +10,6 @@ HEADERS += \
extra/qnumberformat_p.h \
extra/qmlnumberformatter_p.h \
extra/qmldatetimeformatter_p.h \
- extra/qmlgraphicsintegermodel_p.h \
extra/qmlgraphicsanimatedimageitem_p.h \
extra/qmlgraphicsanimatedimageitem_p_p.h \
extra/qmlbehavior_p.h \
diff --git a/src/declarative/extra/qmlbehavior.cpp b/src/declarative/extra/qmlbehavior.cpp
index d6f4b42..e5d3d35 100644
--- a/src/declarative/extra/qmlbehavior.cpp
+++ b/src/declarative/extra/qmlbehavior.cpp
@@ -49,7 +49,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Behavior,QmlBehavior)
+QML_DEFINE_TYPE(Qt,4,6,Behavior,QmlBehavior)
class QmlBehaviorPrivate : public QObjectPrivate
{
diff --git a/src/declarative/extra/qmldatetimeformatter.cpp b/src/declarative/extra/qmldatetimeformatter.cpp
index 4441850..983287e 100644
--- a/src/declarative/extra/qmldatetimeformatter.cpp
+++ b/src/declarative/extra/qmldatetimeformatter.cpp
@@ -365,6 +365,6 @@ void QmlDateTimeFormatter::componentComplete()
d->updateText();
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,DateTimeFormatter,QmlDateTimeFormatter)
+QML_DEFINE_TYPE(Qt,4,6,DateTimeFormatter,QmlDateTimeFormatter)
QT_END_NAMESPACE
diff --git a/src/declarative/extra/qmlfontloader.cpp b/src/declarative/extra/qmlfontloader.cpp
index e8db649..f51ef98 100644
--- a/src/declarative/extra/qmlfontloader.cpp
+++ b/src/declarative/extra/qmlfontloader.cpp
@@ -67,7 +67,7 @@ public:
QmlFontLoader::Status status;
};
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FontLoader,QmlFontLoader)
+QML_DEFINE_TYPE(Qt,4,6,FontLoader,QmlFontLoader)
/*!
\qmlclass FontLoader QmlFontLoader
diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp b/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp
index f3c2058..2405bde 100644
--- a/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp
+++ b/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp
@@ -76,7 +76,7 @@ Item {
\endqml
\endtable
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,AnimatedImage,QmlGraphicsAnimatedImageItem)
+QML_DEFINE_TYPE(Qt,4,6,AnimatedImage,QmlGraphicsAnimatedImageItem)
QmlGraphicsAnimatedImageItem::QmlGraphicsAnimatedImageItem(QmlGraphicsItem *parent)
: QmlGraphicsImage(*(new QmlGraphicsAnimatedImageItemPrivate), parent)
@@ -158,15 +158,17 @@ int QmlGraphicsAnimatedImageItem::currentFrame() const
{
Q_D(const QmlGraphicsAnimatedImageItem);
if (!d->_movie)
- return -1;
+ return d->preset_currentframe;
return d->_movie->currentFrameNumber();
}
void QmlGraphicsAnimatedImageItem::setCurrentFrame(int frame)
{
Q_D(QmlGraphicsAnimatedImageItem);
- if (!d->_movie)
+ if (!d->_movie) {
+ d->preset_currentframe = frame;
return;
+ }
d->_movie->jumpToFrame(frame);
}
@@ -264,8 +266,10 @@ void QmlGraphicsAnimatedImageItem::movieRequestFinished()
d->_movie->setCacheMode(QMovie::CacheAll);
if(d->playing)
d->_movie->start();
- else
- d->_movie->jumpToFrame(0);
+ else {
+ d->_movie->jumpToFrame(d->preset_currentframe);
+ d->preset_currentframe = 0;
+ }
if(d->paused)
d->_movie->setPaused(true);
d->setPixmap(d->_movie->currentPixmap());
@@ -291,4 +295,11 @@ void QmlGraphicsAnimatedImageItem::playingStatusChanged()
}
}
+void QmlGraphicsAnimatedImageItem::componentComplete()
+{
+ Q_D(QmlGraphicsAnimatedImageItem);
+ setCurrentFrame(d->preset_currentframe);
+ d->preset_currentframe = 0;
+}
+
QT_END_NAMESPACE
diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h b/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h
index 097aecd..b581ea3 100644
--- a/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h
+++ b/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h
@@ -91,6 +91,7 @@ private Q_SLOTS:
protected:
QmlGraphicsAnimatedImageItem(QmlGraphicsAnimatedImageItemPrivate &dd, QmlGraphicsItem *parent);
+ void componentComplete();
private:
Q_DISABLE_COPY(QmlGraphicsAnimatedImageItem)
diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h b/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h
index 0b12d2f..2256b9b 100644
--- a/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h
+++ b/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h
@@ -66,12 +66,13 @@ class QmlGraphicsAnimatedImageItemPrivate : public QmlGraphicsImagePrivate
public:
QmlGraphicsAnimatedImageItemPrivate()
- : playing(true), paused(false), _movie(0), reply(0)
+ : playing(true), paused(false), preset_currentframe(0), _movie(0), reply(0)
{
}
bool playing;
bool paused;
+ int preset_currentframe;
QMovie *_movie;
QNetworkReply *reply;
};
diff --git a/src/declarative/extra/qmlgraphicsintegermodel.cpp b/src/declarative/extra/qmlgraphicsintegermodel.cpp
deleted file mode 100644
index bcd00e6..0000000
--- a/src/declarative/extra/qmlgraphicsintegermodel.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module 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 "qmlgraphicsintegermodel_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,IntegerModel,QmlGraphicsIntegerModel)
-
-class QmlGraphicsIntegerModelPrivate
-{
-public:
- QmlGraphicsIntegerModelPrivate() : minimum(0), maximum(0) {}
- int minimum;
- int maximum;
-};
-
-QmlGraphicsIntegerModel::QmlGraphicsIntegerModel(QObject *parent)
- : QListModelInterface(parent)
-{
- d = new QmlGraphicsIntegerModelPrivate;
-}
-
-QmlGraphicsIntegerModel::~QmlGraphicsIntegerModel()
-{
- delete d;
-}
-
-int QmlGraphicsIntegerModel::minimum() const
-{
- return d->minimum;
-}
-
-void QmlGraphicsIntegerModel::setMinimum(int minimum)
-{
- d->minimum = minimum;
-}
-
-int QmlGraphicsIntegerModel::maximum() const
-{
- return d->maximum;
-}
-
-void QmlGraphicsIntegerModel::setMaximum(int maximum)
-{
- d->maximum = maximum;
-}
-
-int QmlGraphicsIntegerModel::count() const
-{
- return qMax(0, d->maximum - d->minimum + 1);
-}
-
-QHash<int,QVariant> QmlGraphicsIntegerModel::data(int index, const QList<int> &roles) const
-{
- QHash<int,QVariant> returnHash;
-
- for (int i = 0; i < roles.size(); ++i) {
- int role = roles.at(i);
- QVariant info;
- switch(role) {
- case Qt::DisplayRole:
- info = QVariant(QString::number(d->minimum+index));
- break;
- default:
- break;
- }
- returnHash.insert(role, info);
- }
- return returnHash;
-}
-
-QString QmlGraphicsIntegerModel::toString(int role) const
-{
- switch(role) {
- case Qt::DisplayRole:
- return QLatin1String("display");
- default:
- return QLatin1String("");
- }
-}
-
-QList<int> QmlGraphicsIntegerModel::roles() const
-{
- return QList<int>() << Qt::DisplayRole;
-}
-
-QT_END_NAMESPACE
diff --git a/src/declarative/extra/qmlnumberformatter.cpp b/src/declarative/extra/qmlnumberformatter.cpp
index 9e599c7..4007d95 100644
--- a/src/declarative/extra/qmlnumberformatter.cpp
+++ b/src/declarative/extra/qmlnumberformatter.cpp
@@ -210,6 +210,6 @@ void QmlNumberFormatter::componentComplete()
d->componentComplete = true;
d->updateText();
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,NumberFormatter,QmlNumberFormatter);
+QML_DEFINE_TYPE(Qt,4,6,NumberFormatter,QmlNumberFormatter);
QT_END_NAMESPACE
diff --git a/src/declarative/extra/qmlxmllistmodel.cpp b/src/declarative/extra/qmlxmllistmodel.cpp
index 43d7fb2..4243c45 100644
--- a/src/declarative/extra/qmlxmllistmodel.cpp
+++ b/src/declarative/extra/qmlxmllistmodel.cpp
@@ -58,8 +58,8 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,XmlRole,QmlXmlListModelRole)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,XmlListModel,QmlXmlListModel)
+QML_DEFINE_TYPE(Qt,4,6,XmlRole,QmlXmlListModelRole)
+QML_DEFINE_TYPE(Qt,4,6,XmlListModel,QmlXmlListModel)
/*!
\qmlclass XmlRole QmlXmlListModelRole
diff --git a/src/declarative/graphicsitems/qmlgraphicsanchors.cpp b/src/declarative/graphicsitems/qmlgraphicsanchors.cpp
index e1d2f43..404daad 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanchors.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsanchors.cpp
@@ -47,7 +47,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Anchors,QmlGraphicsAnchors)
+QML_DEFINE_TYPE(Qt,4,6,Anchors,QmlGraphicsAnchors)
//TODO: should we cache relationships, so we don't have to check each time (parent-child or sibling)?
//TODO: support non-parent, non-sibling (need to find lowest common ancestor)
diff --git a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
index 89bbe91..78b0be4 100644
--- a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
@@ -48,7 +48,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,BorderImage,QmlGraphicsBorderImage)
+QML_DEFINE_TYPE(Qt,4,6,BorderImage,QmlGraphicsBorderImage)
/*!
\qmlclass BorderImage QmlGraphicsBorderImage
diff --git a/src/declarative/graphicsitems/qmlgraphicseffects.cpp b/src/declarative/graphicsitems/qmlgraphicseffects.cpp
index b642e60..2f0aae7 100644
--- a/src/declarative/graphicsitems/qmlgraphicseffects.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicseffects.cpp
@@ -45,7 +45,7 @@ QML_DECLARE_TYPE(QGraphicsEffect)
QML_DEFINE_NOCREATE_TYPE(QGraphicsEffect)
QML_DECLARE_TYPE(QGraphicsBlurEffect)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Blur,QGraphicsBlurEffect)
+QML_DEFINE_TYPE(Qt,4,6,Blur,QGraphicsBlurEffect)
/*!
\qmlclass Blur QGraphicsBlurEffect
@@ -82,7 +82,7 @@ QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Blur,QGraphicsBlurEffect)
*/
QML_DECLARE_TYPE(QGraphicsColorizeEffect)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Colorize,QGraphicsColorizeEffect)
+QML_DEFINE_TYPE(Qt,4,6,Colorize,QGraphicsColorizeEffect)
/*!
\qmlclass Colorize QGraphicsColorizeEffect
@@ -110,7 +110,7 @@ QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Colorize,QGraphicsColorizeEffect
*/
QML_DECLARE_TYPE(QGraphicsDropShadowEffect)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,DropShadow,QGraphicsDropShadowEffect)
+QML_DEFINE_TYPE(Qt,4,6,DropShadow,QGraphicsDropShadowEffect)
/*!
\qmlclass DropShadow QGraphicsDropShadowEffect
@@ -153,7 +153,7 @@ QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,DropShadow,QGraphicsDropShadowEf
*/
QML_DECLARE_TYPE(QGraphicsOpacityEffect)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Opacity,QGraphicsOpacityEffect)
+QML_DEFINE_TYPE(Qt,4,6,Opacity,QGraphicsOpacityEffect)
/*!
\qmlclass Opacity QGraphicsOpacityEffect
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
index 19c5abc..c7332f9 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
@@ -341,7 +341,7 @@ void QmlGraphicsFlickablePrivate::updateBeginningEnd()
visibleArea->updateVisible();
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Flickable,QmlGraphicsFlickable)
+QML_DEFINE_TYPE(Qt,4,6,Flickable,QmlGraphicsFlickable)
/*!
\qmlclass Flickable QmlGraphicsFlickable
@@ -1278,6 +1278,6 @@ void QmlGraphicsFlickablePrivate::updateVelocity()
QT_END_NAMESPACE
QML_DECLARE_TYPE(QmlGraphicsFlickableVisibleArea)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,VisibleArea,QmlGraphicsFlickableVisibleArea)
+QML_DEFINE_TYPE(Qt,4,6,VisibleArea,QmlGraphicsFlickableVisibleArea)
#include "qmlgraphicsflickable.moc"
diff --git a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp
index 05cc214..37929fa 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp
@@ -46,7 +46,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Flipable,QmlGraphicsFlipable)
+QML_DEFINE_TYPE(Qt,4,6,Flipable,QmlGraphicsFlipable)
class QmlGraphicsFlipablePrivate : public QmlGraphicsItemPrivate
{
diff --git a/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp b/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp
index a19e355..ae7ffda 100644
--- a/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp
@@ -45,7 +45,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FocusPanel,QmlGraphicsFocusPanel)
+QML_DEFINE_TYPE(Qt,4,6,FocusPanel,QmlGraphicsFocusPanel)
/*!
\qmlclass FocusPanel QmlGraphicsFocusPanel
diff --git a/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp b/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp
index f03e3f1..b0ad32f 100644
--- a/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp
@@ -43,7 +43,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FocusScope,QmlGraphicsFocusScope)
+QML_DEFINE_TYPE(Qt,4,6,FocusScope,QmlGraphicsFocusScope)
/*!
\qmlclass FocusScope QmlGraphicsFocusScope
diff --git a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp
index 2a0d6a6..294a374 100644
--- a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp
@@ -91,7 +91,7 @@ public:
*/
QML_DEFINE_NOCREATE_TYPE(QGraphicsObject)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,GraphicsObjectContainer,QmlGraphicsGraphicsObjectContainer)
+QML_DEFINE_TYPE(Qt,4,6,GraphicsObjectContainer,QmlGraphicsGraphicsObjectContainer)
QmlGraphicsGraphicsObjectContainer::QmlGraphicsGraphicsObjectContainer(QmlGraphicsItem *parent)
: QmlGraphicsItem(*new QmlGraphicsGraphicsObjectContainerPrivate, parent)
diff --git a/src/declarative/graphicsitems/qmlgraphicsgridview.cpp b/src/declarative/graphicsitems/qmlgraphicsgridview.cpp
index 1ee4511..9f9b336 100644
--- a/src/declarative/graphicsitems/qmlgraphicsgridview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsgridview.cpp
@@ -1578,7 +1578,7 @@ QmlGraphicsGridViewAttached *QmlGraphicsGridView::qmlAttachedProperties(QObject
return QmlGraphicsGridViewAttached::properties(obj);
}
-QML_DEFINE_TYPE(Qt, 4,6, (QT_VERSION&0x00ff00)>>8, GridView, QmlGraphicsGridView)
+QML_DEFINE_TYPE(Qt, 4,6, GridView, QmlGraphicsGridView)
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsimage.cpp b/src/declarative/graphicsitems/qmlgraphicsimage.cpp
index 938fe2a..89b50a1 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsimage.cpp
@@ -48,7 +48,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Image,QmlGraphicsImage)
+QML_DEFINE_TYPE(Qt,4,6,Image,QmlGraphicsImage)
/*!
\qmlclass Image QmlGraphicsImage
diff --git a/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h b/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h
index c8f8e85..0968d99 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h
@@ -49,7 +49,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QmlGraphicsImageBasePrivate;
-class QmlGraphicsImageBase : public QmlGraphicsItem
+class Q_DECLARATIVE_EXPORT QmlGraphicsImageBase : public QmlGraphicsItem
{
Q_OBJECT
Q_ENUMS(Status)
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
index 51b8365..77e6db8 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
@@ -70,11 +70,11 @@ QT_BEGIN_NAMESPACE
#define FLT_MAX 1E+37
#endif
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Item,QmlGraphicsItem)
+QML_DEFINE_TYPE(Qt,4,6,Item,QmlGraphicsItem)
QML_DEFINE_NOCREATE_TYPE(QGraphicsTransform);
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Scale,QGraphicsScale)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Rotation,QGraphicsRotation)
+QML_DEFINE_TYPE(Qt,4,6,Scale,QGraphicsScale)
+QML_DEFINE_TYPE(Qt,4,6,Rotation,QGraphicsRotation)
#include "qmlgraphicseffects.cpp"
@@ -2916,7 +2916,7 @@ QT_END_NAMESPACE
QML_DECLARE_TYPE(QmlGraphicsKeysAttached)
QML_DECLARE_TYPEINFO(QmlGraphicsKeysAttached, QML_HAS_ATTACHED_PROPERTIES)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Keys,QmlGraphicsKeysAttached)
+QML_DEFINE_TYPE(Qt,4,6,Keys,QmlGraphicsKeysAttached)
QML_DECLARE_TYPE(QmlGraphicsKeyNavigationAttached)
QML_DECLARE_TYPEINFO(QmlGraphicsKeyNavigationAttached, QML_HAS_ATTACHED_PROPERTIES)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,KeyNavigation,QmlGraphicsKeyNavigationAttached)
+QML_DEFINE_TYPE(Qt,4,6,KeyNavigation,QmlGraphicsKeyNavigationAttached)
diff --git a/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp b/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp
index 45420ed..fafef0e 100644
--- a/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp
@@ -45,7 +45,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,LayoutItem,QmlGraphicsLayoutItem)
+QML_DEFINE_TYPE(Qt,4,6,LayoutItem,QmlGraphicsLayoutItem)
/*!
\qmlclass LayoutItem QmlGraphicsLayoutItem
diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
index efe047a..fd8b8b0 100644
--- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
@@ -2038,7 +2038,7 @@ QmlGraphicsListViewAttached *QmlGraphicsListView::qmlAttachedProperties(QObject
return QmlGraphicsListViewAttached::properties(obj);
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ListView,QmlGraphicsListView)
+QML_DEFINE_TYPE(Qt,4,6,ListView,QmlGraphicsListView)
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsloader.cpp b/src/declarative/graphicsitems/qmlgraphicsloader.cpp
index 4d463ab..3b10908 100644
--- a/src/declarative/graphicsitems/qmlgraphicsloader.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsloader.cpp
@@ -53,7 +53,7 @@ QmlGraphicsLoaderPrivate::~QmlGraphicsLoaderPrivate()
{
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Loader,QmlGraphicsLoader)
+QML_DEFINE_TYPE(Qt,4,6,Loader,QmlGraphicsLoader)
/*!
\qmlclass Loader QmlGraphicsLoader
diff --git a/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp b/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp
index 1a57062..196cdf2 100644
--- a/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
static const qreal DragThreshold = 5;
static const int PressAndHoldDelay = 800;
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Drag,QmlGraphicsDrag)
+QML_DEFINE_TYPE(Qt,4,6,Drag,QmlGraphicsDrag)
QmlGraphicsDrag::QmlGraphicsDrag(QObject *parent)
: QObject(parent), _target(0), _axis(XandYAxis), _xmin(0), _xmax(0), _ymin(0), _ymax(0)
{
@@ -225,7 +225,7 @@ void QmlGraphicsDrag::setYmax(qreal m)
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,MouseRegion,QmlGraphicsMouseRegion)
+QML_DEFINE_TYPE(Qt,4,6,MouseRegion,QmlGraphicsMouseRegion)
/*!
\internal
diff --git a/src/declarative/graphicsitems/qmlgraphicsparticles.cpp b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
index d906fd3..92943e8 100644
--- a/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
@@ -105,7 +105,7 @@ public:
//---------------------------------------------------------------------------
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotion,QmlGraphicsParticleMotion)
+QML_DEFINE_TYPE(Qt,4,6,ParticleMotion,QmlGraphicsParticleMotion)
/*!
\class QmlGraphicsParticleMotion
@@ -166,7 +166,7 @@ void QmlGraphicsParticleMotion::destroy(QmlGraphicsParticle &particle)
\brief The QmlGraphicsParticleMotionLinear class moves the particles linearly.
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotionLinear,QmlGraphicsParticleMotionLinear)
+QML_DEFINE_TYPE(Qt,4,6,ParticleMotionLinear,QmlGraphicsParticleMotionLinear)
void QmlGraphicsParticleMotionLinear::advance(QmlGraphicsParticle &p, int interval)
{
@@ -188,7 +188,7 @@ void QmlGraphicsParticleMotionLinear::advance(QmlGraphicsParticle &p, int interv
\brief The QmlGraphicsParticleMotionGravity class moves the particles towards a point.
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotionGravity,QmlGraphicsParticleMotionGravity)
+QML_DEFINE_TYPE(Qt,4,6,ParticleMotionGravity,QmlGraphicsParticleMotionGravity)
/*!
\qmlproperty int ParticleMotionGravity::xattractor
@@ -290,7 +290,7 @@ Rectangle {
This property holds how quickly the paricles will move from side to side.
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotionWander,QmlGraphicsParticleMotionWander)
+QML_DEFINE_TYPE(Qt,4,6,ParticleMotionWander,QmlGraphicsParticleMotionWander)
void QmlGraphicsParticleMotionWander::advance(QmlGraphicsParticle &p, int interval)
{
@@ -559,7 +559,7 @@ void QmlGraphicsParticlesPrivate::updateOpacity(QmlGraphicsParticle &p, int age)
}
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Particles,QmlGraphicsParticles)
+QML_DEFINE_TYPE(Qt,4,6,Particles,QmlGraphicsParticles)
/*!
\qmlclass Particles
diff --git a/src/declarative/graphicsitems/qmlgraphicspath.cpp b/src/declarative/graphicsitems/qmlgraphicspath.cpp
index ed0dfaa..a8f571e 100644
--- a/src/declarative/graphicsitems/qmlgraphicspath.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspath.cpp
@@ -47,14 +47,14 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Path,QmlGraphicsPath)
+QML_DEFINE_TYPE(Qt,4,6,Path,QmlGraphicsPath)
QML_DEFINE_NOCREATE_TYPE(QmlGraphicsPathElement)
QML_DEFINE_NOCREATE_TYPE(QmlGraphicsCurve)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathAttribute,QmlGraphicsPathAttribute)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathPercent,QmlGraphicsPathPercent)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathLine,QmlGraphicsPathLine)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathQuad,QmlGraphicsPathQuad)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathCubic,QmlGraphicsPathCubic)
+QML_DEFINE_TYPE(Qt,4,6,PathAttribute,QmlGraphicsPathAttribute)
+QML_DEFINE_TYPE(Qt,4,6,PathPercent,QmlGraphicsPathPercent)
+QML_DEFINE_TYPE(Qt,4,6,PathLine,QmlGraphicsPathLine)
+QML_DEFINE_TYPE(Qt,4,6,PathQuad,QmlGraphicsPathQuad)
+QML_DEFINE_TYPE(Qt,4,6,PathCubic,QmlGraphicsPathCubic)
/*!
\qmlclass PathElement QmlGraphicsPathElement
diff --git a/src/declarative/graphicsitems/qmlgraphicspathview.cpp b/src/declarative/graphicsitems/qmlgraphicspathview.cpp
index d2a9be1..f2b8d73 100644
--- a/src/declarative/graphicsitems/qmlgraphicspathview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspathview.cpp
@@ -54,7 +54,7 @@ static const int FlickThreshold = 5;
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathView,QmlGraphicsPathView)
+QML_DEFINE_TYPE(Qt,4,6,PathView,QmlGraphicsPathView)
class QmlGraphicsPathViewAttached : public QObject
{
diff --git a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp
index f599025..d6f1fb9 100644
--- a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp
@@ -331,7 +331,7 @@ void QmlGraphicsBasePositioner::applyRemove(const QList<QPair<QString, QVariant>
applyTransition(changes,target, d->removeActions);
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Column,QmlGraphicsColumn)
+QML_DEFINE_TYPE(Qt,4,6,Column,QmlGraphicsColumn)
/*!
\qmlclass Column QmlGraphicsColumn
\brief The Column item lines up its children vertically.
@@ -522,7 +522,7 @@ void QmlGraphicsColumn::doPositioning()
}
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Row,QmlGraphicsRow)
+QML_DEFINE_TYPE(Qt,4,6,Row,QmlGraphicsRow)
/*!
\qmlclass Row QmlGraphicsRow
\brief The Row item lines up its children horizontally.
@@ -678,7 +678,7 @@ void QmlGraphicsRow::doPositioning()
}
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Grid,QmlGraphicsGrid)
+QML_DEFINE_TYPE(Qt,4,6,Grid,QmlGraphicsGrid)
/*!
\qmlclass Grid QmlGraphicsGrid
diff --git a/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp b/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp
index 8ae40b7..caec90c 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp
@@ -46,9 +46,9 @@
#include <QtCore/qmath.h>
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Pen,QmlGraphicsPen)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,GradientStop,QmlGraphicsGradientStop)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Gradient,QmlGraphicsGradient)
+QML_DEFINE_TYPE(Qt,4,6,Pen,QmlGraphicsPen)
+QML_DEFINE_TYPE(Qt,4,6,GradientStop,QmlGraphicsGradientStop)
+QML_DEFINE_TYPE(Qt,4,6,Gradient,QmlGraphicsGradient)
/*!
\internal
@@ -149,7 +149,7 @@ void QmlGraphicsGradient::doUpdate()
emit updated();
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Rectangle,QmlGraphicsRectangle)
+QML_DEFINE_TYPE(Qt,4,6,Rectangle,QmlGraphicsRectangle)
/*!
\qmlclass Rectangle QmlGraphicsRectangle
diff --git a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
index 646374f..82d6da3 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
@@ -56,7 +56,7 @@ QmlGraphicsRepeaterPrivate::~QmlGraphicsRepeaterPrivate()
{
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Repeater,QmlGraphicsRepeater)
+QML_DEFINE_TYPE(Qt,4,6,Repeater,QmlGraphicsRepeater)
/*!
\qmlclass Repeater QmlGraphicsRepeater
diff --git a/src/declarative/graphicsitems/qmlgraphicstext.cpp b/src/declarative/graphicsitems/qmlgraphicstext.cpp
index d640fc9..374972e 100644
--- a/src/declarative/graphicsitems/qmlgraphicstext.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicstext.cpp
@@ -52,7 +52,7 @@
#include <QPainter>
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Text,QmlGraphicsText)
+QML_DEFINE_TYPE(Qt,4,6,Text,QmlGraphicsText)
/*!
\qmlclass Text QmlGraphicsText
diff --git a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp
index e84f514..d8fe5d4 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp
@@ -53,7 +53,7 @@
#include <QPainter>
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,TextEdit,QmlGraphicsTextEdit)
+QML_DEFINE_TYPE(Qt,4,6,TextEdit,QmlGraphicsTextEdit)
/*!
\qmlclass TextEdit QmlGraphicsTextEdit
diff --git a/src/declarative/graphicsitems/qmlgraphicstextinput.cpp b/src/declarative/graphicsitems/qmlgraphicstextinput.cpp
index 42de2b6..e2b1725 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextinput.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicstextinput.cpp
@@ -49,9 +49,9 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,TextInput,QmlGraphicsTextInput);
+QML_DEFINE_TYPE(Qt,4,6,TextInput,QmlGraphicsTextInput);
QML_DEFINE_NOCREATE_TYPE(QValidator);
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QIntValidator,QIntValidator);
+QML_DEFINE_TYPE(Qt,4,6,QIntValidator,QIntValidator);
/*!
\qmlclass TextInput QmlGraphicsTextInput
diff --git a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp
index 80b2458..9964de9 100644
--- a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp
@@ -1045,8 +1045,8 @@ void QmlGraphicsVisualDataModel::_q_destroyingPackage(QmlPackage *package)
}
QML_DEFINE_NOCREATE_TYPE(QmlGraphicsVisualModel);
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,VisualItemModel,QmlGraphicsVisualItemModel)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,VisualDataModel,QmlGraphicsVisualDataModel)
+QML_DEFINE_TYPE(Qt,4,6,VisualItemModel,QmlGraphicsVisualItemModel)
+QML_DEFINE_TYPE(Qt,4,6,VisualDataModel,QmlGraphicsVisualDataModel)
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicswebview.cpp b/src/declarative/graphicsitems/qmlgraphicswebview.cpp
index d1da0f2..4ac208c 100644
--- a/src/declarative/graphicsitems/qmlgraphicswebview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicswebview.cpp
@@ -62,7 +62,7 @@
#include <private/qmlgraphicspainteditem_p_p.h>
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,WebView,QmlGraphicsWebView)
+QML_DEFINE_TYPE(Qt,4,6,WebView,QmlGraphicsWebView)
QML_DEFINE_NOCREATE_TYPE(QAction)
static const int MAX_DOUBLECLICK_TIME=500; // XXX need better gesture system
diff --git a/src/declarative/qml/qml.h b/src/declarative/qml/qml.h
index f6a6371..bb7ae24 100644
--- a/src/declarative/qml/qml.h
+++ b/src/declarative/qml/qml.h
@@ -91,11 +91,11 @@ QT_BEGIN_NAMESPACE
#define QML_DEFINE_INTERFACE(INTERFACE) \
static int defineInterface##INTERFACE = qmlRegisterInterface<INTERFACE>(#INTERFACE);
-#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE, EXTENSION) \
- static int registerExtended##TYPE = qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE);
+#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERS, NAME, TYPE, EXTENSION) \
+ static int registerExtended##TYPE = qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE);
-#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE) \
- static int defineType##TYPE = qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE);
+#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE) \
+ static int defineType##TYPE = qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE);
#define QML_DEFINE_EXTENDED_NOCREATE_TYPE(TYPE, EXTENSION) \
static int registerExtendedNoCreate##TYPE = qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE);
@@ -106,19 +106,19 @@ QT_BEGIN_NAMESPACE
#else
#define QML_DEFINE_INTERFACE(INTERFACE) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<INTERFACE *,0,0,0>::instance(qmlRegisterInterface<INTERFACE>(#INTERFACE));
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<INTERFACE *,0,0>::instance(qmlRegisterInterface<INTERFACE>(#INTERFACE));
-#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE, EXTENSION) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN_FROM), (VERSION_MIN_TO)>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE));
+#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, EXTENSION) \
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN)>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE));
-#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN_FROM), (VERSION_MIN_TO)>::instance(qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE));
+#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE) \
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN)>::instance(qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE));
#define QML_DEFINE_EXTENDED_NOCREATE_TYPE(TYPE, EXTENSION) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0,0>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE));
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE));
#define QML_DEFINE_NOCREATE_TYPE(TYPE) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0,0>::instance(qmlRegisterType<TYPE>(#TYPE));
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0>::instance(qmlRegisterType<TYPE>(#TYPE));
#endif
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp
index 3253e72..240f16c 100644
--- a/src/declarative/qml/qmlcompiler.cpp
+++ b/src/declarative/qml/qmlcompiler.cpp
@@ -814,8 +814,7 @@ void QmlCompiler::genObject(QmlParser::Object *obj)
create.create.type = obj->type;
if (!output->types.at(create.create.type).type &&
!obj->bindingBitmask.isEmpty()) {
- while (obj->bindingBitmask.size() % 4)
- obj->bindingBitmask.append(char(0));
+ Q_ASSERT(obj->bindingBitmask.size() % 4 == 0);
create.create.bindingBits =
output->indexForByteArray(obj->bindingBitmask);
} else {
@@ -1044,20 +1043,23 @@ bool QmlCompiler::buildComponent(QmlParser::Object *obj,
// Find, check and set the "id" property (if any)
Property *idProp = 0;
if (obj->properties.count() > 1 ||
- (obj->properties.count() == 1 && obj->properties.begin().key() != "id") ||
- !obj->scriptBlockObjects.isEmpty())
- COMPILE_EXCEPTION(obj, qApp->translate("QmlCompiler","Invalid component specification"));
+ (obj->properties.count() == 1 && obj->properties.begin().key() != "id"))
+ COMPILE_EXCEPTION(*obj->properties.begin(), qApp->translate("QmlCompiler","Invalid component specification"));
+
+ if (!obj->scriptBlockObjects.isEmpty())
+ COMPILE_EXCEPTION(obj->scriptBlockObjects.first(), qApp->translate("QmlCompiler","Invalid component specification"));
if (obj->properties.count())
idProp = *obj->properties.begin();
+
if (idProp && (idProp->value || idProp->values.count() > 1 || !isValidId(idProp->values.first()->primitive())))
- COMPILE_EXCEPTION(obj, qApp->translate("QmlCompiler","Invalid component id specification"));
+ COMPILE_EXCEPTION(idProp, qApp->translate("QmlCompiler","Invalid component id specification"));
if (idProp) {
QString idVal = idProp->values.first()->primitive();
if (compileState.ids.contains(idVal))
- COMPILE_EXCEPTION(obj, qApp->translate("QmlCompiler","id is not unique"));
+ COMPILE_EXCEPTION(idProp, qApp->translate("QmlCompiler","id is not unique"));
obj->id = idVal;
addId(idVal, obj);
@@ -1093,7 +1095,7 @@ bool QmlCompiler::buildScript(QmlParser::Object *obj, QmlParser::Object *script)
Property *source = *script->properties.begin();
if (script->defaultProperty)
- COMPILE_EXCEPTION(source, qApp->translate("QmlCompiler","Invalid Script block. Specify either the source property or inline script."));
+ COMPILE_EXCEPTION(source, qApp->translate("QmlCompiler","Invalid Script block. Specify either the source property or inline script"));
if (source->value || source->values.count() != 1 ||
source->values.at(0)->object || !source->values.at(0)->value.isString())
@@ -1180,12 +1182,10 @@ bool QmlCompiler::buildComponentFromRoot(QmlParser::Object *obj,
bool QmlCompiler::buildSubObject(Object *obj, const BindingContext &ctxt)
{
Q_ASSERT(obj->metatype);
+ Q_ASSERT(!obj->defaultProperty);
Q_ASSERT(ctxt.isSubContext()); // sub-objects must always be in a binding
// sub-context
- if (obj->defaultProperty)
- COMPILE_CHECK(buildProperty(obj->defaultProperty, obj, ctxt));
-
foreach(Property *prop, obj->properties) {
if (isSignalPropertyName(prop->name)) {
COMPILE_CHECK(buildSignal(prop, obj, ctxt));
@@ -1230,9 +1230,7 @@ bool QmlCompiler::buildSignal(QmlParser::Property *prop, QmlParser::Object *obj,
const BindingContext &ctxt)
{
Q_ASSERT(obj->metaObject());
-
- if (prop->isEmpty())
- COMPILE_EXCEPTION(prop, qApp->translate("QmlCompiler","Empty property assignment"));
+ Q_ASSERT(!prop->isEmpty());
QByteArray name = prop->name;
Q_ASSERT(name.startsWith("on"));
@@ -1261,6 +1259,10 @@ bool QmlCompiler::buildSignal(QmlParser::Property *prop, QmlParser::Object *obj,
prop->values.at(0)->type = Value::SignalObject;
} else {
prop->values.at(0)->type = Value::SignalExpression;
+
+ QString script = prop->values.at(0)->value.asScript().trimmed();
+ if (script.isEmpty())
+ COMPILE_EXCEPTION(prop, qApp->translate("QmlCompiler","Empty signal assignment"));
}
}
@@ -1701,6 +1703,9 @@ bool QmlCompiler::buildGroupedProperty(QmlParser::Property *prop,
Q_ASSERT(prop->type != 0);
Q_ASSERT(prop->index != -1);
+ if (prop->values.count())
+ COMPILE_EXCEPTION(prop->values.first(), qApp->translate("QmlCompiler", "Invalid value in grouped property"));
+
if (prop->type < (int)QVariant::UserType) {
QmlEnginePrivate *ep =
static_cast<QmlEnginePrivate *>(QObjectPrivate::get(engine));
diff --git a/src/declarative/qml/qmlcomponent.cpp b/src/declarative/qml/qmlcomponent.cpp
index 03f07b3..3c142a7 100644
--- a/src/declarative/qml/qmlcomponent.cpp
+++ b/src/declarative/qml/qmlcomponent.cpp
@@ -119,7 +119,7 @@ Item {
}
\endqml
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Component,QmlComponent);
+QML_DEFINE_TYPE(Qt,4,6,Component,QmlComponent);
/*!
\enum QmlComponent::Status
diff --git a/src/declarative/qml/qmlcustomparser_p.h b/src/declarative/qml/qmlcustomparser_p.h
index 89d3be2..74bed25 100644
--- a/src/declarative/qml/qmlcustomparser_p.h
+++ b/src/declarative/qml/qmlcustomparser_p.h
@@ -128,11 +128,11 @@ private:
};
#if defined(Q_OS_SYMBIAN)
-# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, NAME, TYPE, CUSTOMTYPE) \
- static int defineCustomType##NAME = qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, #NAME, #TYPE, new CUSTOMTYPE);
+# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, CUSTOMTYPE) \
+ static int defineCustomType##NAME = qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE, new CUSTOMTYPE);
#else
-# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, NAME, TYPE, CUSTOMTYPE) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN_FROM), (VERSION_MAJ_TO)>::instance(qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, #NAME, #TYPE, new CUSTOMTYPE));
+# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, CUSTOMTYPE) \
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN)>::instance(qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE, new CUSTOMTYPE));
#endif
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp
index 2926791..3df04b2 100644
--- a/src/declarative/qml/qmlengine.cpp
+++ b/src/declarative/qml/qmlengine.cpp
@@ -103,7 +103,7 @@ QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(qmlDebugger, QML_DEBUGGER)
DEFINE_BOOL_CONFIG_OPTION(qmlImportTrace, QML_IMPORT_TRACE)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Object,QObject)
+QML_DEFINE_TYPE(Qt,4,6,Object,QObject)
struct StaticQtMetaObject : public QObject
{
@@ -993,17 +993,13 @@ struct QmlEnginePrivate::ImportedNamespace {
if (line.isEmpty() || line.at(0) == QLatin1Char('#'))
continue;
if (line.startsWith(typespace)) {
- // eg. 1.2-5
int space1 = line.indexOf(QLatin1Char(' '));
int space2 = space1 >=0 ? line.indexOf(QLatin1Char(' '),space1+1) : -1;
QString mapversions = line.mid(space1+1,space2<0?line.length()-space1-1:space2-space1-1);
int dot = mapversions.indexOf(QLatin1Char('.'));
- int dash = mapversions.indexOf(QLatin1Char('-'));
int mapvmaj = mapversions.left(dot).toInt();
- if (mapvmaj==vmaj) {
- int mapvmin_from = (dash <= 0 ? mapversions.mid(dot+1) : mapversions.mid(dot+1,dash-dot-1)).toInt();
- int mapvmin_to = dash <= 0 ? mapvmin_from : mapversions.mid(dash+1).toInt();
- if (vmin >= mapvmin_from && vmin <= mapvmin_to) {
+ if (mapvmaj<=vmaj) {
+ if (mapvmaj<vmaj || vmin >= mapversions.mid(dot+1).toInt()) {
QStringRef mapfile = space2<0 ? QStringRef() : line.midRef(space2+1,line.length()-space2-1);
if (url_return)
*url_return = url.resolved(mapfile.toString());
@@ -1172,9 +1168,8 @@ static QmlTypeNameCache *cacheForNamespace(QmlEngine *engine, const QmlEnginePri
foreach (QmlType *type, types) {
if (type->qmlTypeName().startsWith(base) &&
type->qmlTypeName().lastIndexOf('/') == (base.length() - 1) &&
- type->majorVersion() == major && type->minMinorVersion() <= minor &&
- type->maxMinorVersion() >= minor) {
-
+ type->availableInVersion(major,minor))
+ {
QString name = QString::fromUtf8(type->qmlTypeName().mid(base.length()));
cache->add(name, type);
diff --git a/src/declarative/qml/qmlmetaproperty.cpp b/src/declarative/qml/qmlmetaproperty.cpp
index f340612..4ad9aac 100644
--- a/src/declarative/qml/qmlmetaproperty.cpp
+++ b/src/declarative/qml/qmlmetaproperty.cpp
@@ -111,27 +111,12 @@ void QmlMetaPropertyPrivate::initDefault(QObject *obj)
if (!obj)
return;
- object = obj;
QMetaProperty p = QmlMetaType::defaultProperty(obj);
core.load(p);
- if (core.isValid())
+ if (core.isValid()) {
isDefaultProperty = true;
-}
-
-/*!
- \internal
-
- Creates a QmlMetaProperty for the property at index \a idx of \a obj.
- */
-QmlMetaProperty::QmlMetaProperty(QObject *obj, int idx, QmlContext *ctxt)
-: d(new QmlMetaPropertyPrivate)
-{
- Q_ASSERT(obj);
-
- d->q = this;
- d->context = ctxt;
- d->object = obj;
- d->core.load(obj->metaObject()->property(idx));
+ object = obj;
+ }
}
/*!
@@ -142,6 +127,7 @@ QmlMetaProperty::QmlMetaProperty(QObject *obj, const QString &name)
{
d->q = this;
d->initProperty(obj, name);
+ if (!isValid()) d->object = 0;
}
/*!
@@ -154,6 +140,7 @@ QmlMetaProperty::QmlMetaProperty(QObject *obj, const QString &name, QmlContext *
d->q = this;
d->context = ctxt;
d->initProperty(obj, name);
+ if (!isValid()) { d->object = 0; d->context = 0; }
}
void QmlMetaPropertyPrivate::initProperty(QObject *obj, const QString &name)
@@ -425,12 +412,14 @@ bool QmlMetaProperty::isWritable() const
{
QmlMetaProperty::PropertyCategory category = propertyCategory();
+ if (!d->object)
+ return false;
if (category == List || category == QmlList)
return true;
else if (type() & SignalProperty)
- return true;
+ return false;
else if (d->core.isValid() && d->object)
- return d->object->metaObject()->property(d->core.coreIndex).isWritable();
+ return d->core.flags & QmlPropertyCache::Data::IsWritable;
else
return false;
}
@@ -456,25 +445,6 @@ bool QmlMetaProperty::isValid() const
}
/*!
- Returns all of \a obj's Qt properties.
-*/
-QStringList QmlMetaProperty::properties(QObject *obj)
-{
- // ### What is this used for?
- if (!obj)
- return QStringList();
-
- QStringList rv;
- const QMetaObject *mo = obj->metaObject();
- for (int ii = 0; ii < mo->propertyCount(); ++ii) {
- QMetaProperty prop = mo->property(ii);
- rv << QString::fromUtf8(prop.name());
- }
-
- return rv;
-}
-
-/*!
Return the name of this QML property.
*/
QString QmlMetaProperty::name() const
@@ -494,7 +464,13 @@ QString QmlMetaProperty::name() const
return rv;
} else {
- return d->core.name;
+ if (type() & SignalProperty) {
+ QString name = QLatin1String("on") + d->core.name;
+ name[2] = name.at(2).toUpper();
+ return name;
+ } else {
+ return d->core.name;
+ }
}
}
@@ -565,8 +541,10 @@ QmlAbstractBinding *QmlMetaProperty::binding() const
QmlAbstractBinding *
QmlMetaProperty::setBinding(QmlAbstractBinding *newBinding, QmlMetaProperty::WriteFlags flags) const
{
- if (!isProperty() || (type() & Attached) || !d->object)
+ if (!isProperty() || (type() & Attached) || !d->object) {
+ delete newBinding;
return 0;
+ }
return d->setBinding(d->object, d->core, newBinding, flags);
}
@@ -630,8 +608,10 @@ QmlExpression *QmlMetaProperty::signalExpression() const
*/
QmlExpression *QmlMetaProperty::setSignalExpression(QmlExpression *expr) const
{
- if (!(type() & SignalProperty))
+ if (!(type() & SignalProperty)) {
+ delete expr;
return 0;
+ }
const QObjectList &children = d->object->children();
@@ -686,13 +666,7 @@ QVariant QmlMetaProperty::read() const
if (type() & SignalProperty) {
- const QObjectList &children = object()->children();
-
- for (int ii = 0; ii < children.count(); ++ii) {
- QmlBoundSignal *sig = QmlBoundSignal::cast(children.at(ii));
- if (sig && sig->index() == d->core.coreIndex)
- return sig->expression()->expression();
- }
+ return QVariant();
} else if (type() & Property) {
@@ -857,7 +831,7 @@ bool QmlMetaPropertyPrivate::write(QObject *object, const QmlPropertyCache::Data
return false;
if (context && u.isRelative() && !u.isEmpty())
- u = context->baseUrl().resolved(u);
+ u = context->resolvedUrl(u);
int status = -1;
void *argv[] = { &u, 0, &status, &flags };
QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, argv);
@@ -990,7 +964,7 @@ bool QmlMetaProperty::write(const QVariant &value) const
bool QmlMetaProperty::write(const QVariant &value, QmlMetaProperty::WriteFlags flags) const
{
- if (d->object && type() & Property && d->core.isValid())
+ if (d->object && type() & Property && d->core.isValid() && isWritable())
return d->writeValueProperty(value, flags);
else
return false;
@@ -1083,27 +1057,6 @@ Q_GLOBAL_STATIC(QmlValueTypeFactory, qmlValueTypes);
Returns the property information serialized into a single integer.
QmlMetaProperty uses the bottom 24 bits only.
*/
-quint32 QmlMetaProperty::save() const
-{
- quint32 rv = 0;
- if (type() & Attached) {
- rv = d->attachedFunc;
- } else if (type() != Invalid) {
- rv = d->core.coreIndex;
- }
-
- Q_ASSERT(rv <= 0x7FF);
- Q_ASSERT(type() <= 0x3F);
- Q_ASSERT(d->valueTypeCoreIdx <= 0x7F);
-
- rv |= (type() << 18);
-
- if (type() & ValueTypeProperty)
- rv |= (d->valueTypeCoreIdx << 11);
-
- return rv;
-}
-
quint32 QmlMetaPropertyPrivate::saveValueType(int core, int valueType)
{
Q_ASSERT(core <= 0x7FF);
@@ -1130,8 +1083,11 @@ quint32 QmlMetaPropertyPrivate::saveProperty(int core)
to QmlMetaProperty::save(). Only the bottom 24-bits are
used, the high bits can be set to any value.
*/
-void QmlMetaProperty::restore(quint32 id, QObject *obj, QmlContext *ctxt)
+void QmlMetaPropertyPrivate::restore(QmlMetaProperty &prop, quint32 id,
+ QObject *obj, QmlContext *ctxt)
{
+ QmlMetaPropertyPrivate *d = prop.d;
+
QmlEnginePrivate *enginePrivate = 0;
if (ctxt && ctxt->engine())
enginePrivate = QmlEnginePrivate::get(ctxt->engine());
@@ -1143,9 +1099,9 @@ void QmlMetaProperty::restore(quint32 id, QObject *obj, QmlContext *ctxt)
uint type = id >> 18;
id &= 0xFFFF;
- if (type & Attached) {
+ if (type & QmlMetaProperty::Attached) {
d->attachedFunc = id;
- } else if (type & ValueTypeProperty) {
+ } else if (type & QmlMetaProperty::ValueTypeProperty) {
int coreIdx = id & 0x7FF;
int valueTypeIdx = id >> 11;
@@ -1159,7 +1115,7 @@ void QmlMetaProperty::restore(quint32 id, QObject *obj, QmlContext *ctxt)
d->core.load(p);
d->valueTypeCoreIdx = valueTypeIdx;
d->valueTypePropType = p2.userType();
- } else if (type & Property) {
+ } else if (type & QmlMetaProperty::Property) {
QmlPropertyCache *cache = enginePrivate?enginePrivate->cache(obj):0;
@@ -1171,12 +1127,12 @@ void QmlMetaProperty::restore(quint32 id, QObject *obj, QmlContext *ctxt)
d->core.load(p);
}
- } else if (type & SignalProperty) {
+ } else if (type & QmlMetaProperty::SignalProperty) {
QMetaMethod method = obj->metaObject()->method(id);
d->core.load(method);
} else {
- *this = QmlMetaProperty();
+ prop = QmlMetaProperty();
}
}
diff --git a/src/declarative/qml/qmlmetaproperty.h b/src/declarative/qml/qmlmetaproperty.h
index ce4ac1e..6db99c6 100644
--- a/src/declarative/qml/qmlmetaproperty.h
+++ b/src/declarative/qml/qmlmetaproperty.h
@@ -79,10 +79,8 @@ public:
QmlMetaProperty(QObject *, const QString &, QmlContext *);
QmlMetaProperty(const QmlMetaProperty &);
QmlMetaProperty &operator=(const QmlMetaProperty &);
- QmlMetaProperty(QObject *, int, QmlContext * = 0);
~QmlMetaProperty();
- static QStringList properties(QObject *);
QString name() const;
QVariant read() const;
@@ -96,9 +94,6 @@ public:
bool connectNotifier(QObject *dest, const char *slot) const;
bool connectNotifier(QObject *dest, int method) const;
- quint32 save() const;
- void restore(quint32, QObject *, QmlContext * = 0);
-
QMetaMethod method() const;
enum Type { Invalid = 0x00,
@@ -138,6 +133,7 @@ public:
int valueTypeCoreIndex() const;
private:
friend class QmlEnginePrivate;
+ friend class QmlMetaPropertyPrivate;;
QmlMetaPropertyPrivate *d;
};
typedef QList<QmlMetaProperty> QmlMetaProperties;
diff --git a/src/declarative/qml/qmlmetaproperty_p.h b/src/declarative/qml/qmlmetaproperty_p.h
index 925f1ea..d225afa 100644
--- a/src/declarative/qml/qmlmetaproperty_p.h
+++ b/src/declarative/qml/qmlmetaproperty_p.h
@@ -104,8 +104,9 @@ public:
static QmlAbstractBinding *setBinding(QObject *, const QmlPropertyCache::Data &, QmlAbstractBinding *,
QmlMetaProperty::WriteFlags flags = QmlMetaProperty::DontRemoveBinding);
- static quint32 saveValueType(int, int);
- static quint32 saveProperty(int);
+ static void Q_AUTOTEST_EXPORT restore(QmlMetaProperty &prop, quint32, QObject *, QmlContext * = 0);
+ static quint32 Q_AUTOTEST_EXPORT saveValueType(int, int);
+ static quint32 Q_AUTOTEST_EXPORT saveProperty(int);
static bool equal(const QMetaObject *, const QMetaObject *);
static bool canConvert(const QMetaObject *from, const QMetaObject *to);
diff --git a/src/declarative/qml/qmlmetatype.cpp b/src/declarative/qml/qmlmetatype.cpp
index 6ce51bd..6ecaa9f 100644
--- a/src/declarative/qml/qmlmetatype.cpp
+++ b/src/declarative/qml/qmlmetatype.cpp
@@ -119,8 +119,7 @@ public:
const char *m_iid;
QByteArray m_name;
int m_version_maj;
- int m_version_min_from;
- int m_version_min_to;
+ int m_version_min;
int m_typeId; int m_listId; int m_qmlListId;
QmlPrivate::Func m_opFunc;
const QMetaObject *m_baseMetaObject;
@@ -160,13 +159,12 @@ QmlType::QmlType(int type, int listType, int qmlListType,
d->m_index = index;
d->m_isSetup = true;
d->m_version_maj = 0;
- d->m_version_min_from = 0;
- d->m_version_min_to = 0;
+ d->m_version_min = 0;
}
QmlType::QmlType(int type, int listType, int qmlListType,
QmlPrivate::Func opFunc, const char *qmlName,
- int version_maj, int version_min_from, int version_min_to,
+ int version_maj, int version_min,
const QMetaObject *metaObject,
QmlAttachedPropertiesFunc attachedPropertiesFunc,
const QMetaObject *attachedType,
@@ -178,8 +176,7 @@ QmlType::QmlType(int type, int listType, int qmlListType,
{
d->m_name = qmlName;
d->m_version_maj = version_maj;
- d->m_version_min_from = version_min_from;
- d->m_version_min_to = version_min_to;
+ d->m_version_min = version_min;
d->m_typeId = type;
d->m_listId = listType;
d->m_qmlListId = qmlListType;
@@ -209,19 +206,14 @@ int QmlType::majorVersion() const
return d->m_version_maj;
}
-int QmlType::minMinorVersion() const
+int QmlType::minorVersion() const
{
- return d->m_version_min_from;
-}
-
-int QmlType::maxMinorVersion() const
-{
- return d->m_version_min_to;
+ return d->m_version_min;
}
bool QmlType::availableInVersion(int vmajor, int vminor) const
{
- return vmajor == d->m_version_maj && vminor >= d->m_version_min_from && vminor <= d->m_version_min_to;
+ return vmajor > d->m_version_maj || (vmajor == d->m_version_maj && vminor >= d->m_version_min);
}
void QmlTypePrivate::init() const
@@ -473,7 +465,7 @@ int QmlMetaType::registerInterface(const QmlPrivate::MetaTypeIds &id,
}
int QmlMetaType::registerType(const QmlPrivate::MetaTypeIds &id, QmlPrivate::Func func,
- const char *uri, int version_maj, int version_min_from, int version_min_to, const char *cname,
+ const char *uri, int version_maj, int version_min, const char *cname,
const QMetaObject *mo, QmlAttachedPropertiesFunc attach, const QMetaObject *attachMo,
int pStatus, int object, int valueSource, int valueInterceptor, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *parser)
{
@@ -499,7 +491,7 @@ int QmlMetaType::registerType(const QmlPrivate::MetaTypeIds &id, QmlPrivate::Fun
name.replace('.','/');
QmlType *type = new QmlType(id.typeId, id.listId, id.qmlListId,
- func, name, version_maj, version_min_from, version_min_to, mo, attach, attachMo, pStatus,
+ func, name, version_maj, version_min, mo, attach, attachMo, pStatus,
valueSource, valueInterceptor, extFunc, extmo, index, parser);
data->types.append(type);
diff --git a/src/declarative/qml/qmlmetatype.h b/src/declarative/qml/qmlmetatype.h
index eb5fd28..e90c367 100644
--- a/src/declarative/qml/qmlmetatype.h
+++ b/src/declarative/qml/qmlmetatype.h
@@ -61,7 +61,7 @@ class QmlCustomParser;
class Q_DECLARATIVE_EXPORT QmlMetaType
{
public:
- static int registerType(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *, int vmaj, int vmin_from, int vmin_to, const char *qmlName, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int pStatus, int object, int valueSource, int valueInterceptor, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *);
+ static int registerType(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *, int vmaj, int vmin, const char *qmlName, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int pStatus, int object, int valueSource, int valueInterceptor, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *);
static int registerInterface(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *);
static bool copy(int type, void *data, const void *copy = 0);
@@ -118,8 +118,7 @@ public:
QByteArray qmlTypeName() const;
int majorVersion() const;
- int minMinorVersion() const;
- int maxMinorVersion() const;
+ int minorVersion() const;
bool availableInVersion(int vmajor, int vminor) const;
QByteArray hash() const;
@@ -156,7 +155,7 @@ private:
friend class QmlTypePrivate;
friend class QmlMetaTypeData;
QmlType(int, int, int, QmlPrivate::Func, const char *, int);
- QmlType(int, int, int, QmlPrivate::Func, const char *, int, int, int, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int, int, int, QmlPrivate::CreateFunc, const QMetaObject *, int, QmlCustomParser *);
+ QmlType(int, int, int, QmlPrivate::Func, const char *, int, int, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int, int, int, QmlPrivate::CreateFunc, const QMetaObject *, int, QmlCustomParser *);
~QmlType();
QmlTypePrivate *d;
@@ -172,7 +171,7 @@ int qmlRegisterType(const char *typeName)
qRegisterMetaType<T *>(QByteArray("QmlList<" + name + "*>*").constData())
};
- return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0, 0, 0, 0, 0,
+ return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0, 0, 0, 0,
&T::staticMetaObject,
QmlPrivate::attachedPropertiesFunc<T>(),
QmlPrivate::attachedPropertiesMetaObject<T>(),
@@ -184,7 +183,7 @@ int qmlRegisterType(const char *typeName)
}
template<typename T>
-int qmlRegisterType(const char *uri, int version_maj, int version_min_from, int version_min_to, const char *qmlName, const char *typeName)
+int qmlRegisterType(const char *uri, int version_maj, int version_min, const char *qmlName, const char *typeName)
{
QByteArray name(typeName);
QmlPrivate::MetaTypeIds ids = {
@@ -194,7 +193,7 @@ int qmlRegisterType(const char *uri, int version_maj, int version_min_from, int
};
return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>,
- uri, version_maj, version_min_from, version_min_to, qmlName,
+ uri, version_maj, version_min, qmlName,
&T::staticMetaObject,
QmlPrivate::attachedPropertiesFunc<T>(),
QmlPrivate::attachedPropertiesMetaObject<T>(),
@@ -234,7 +233,7 @@ int qmlRegisterExtendedType(const char *typeName)
}
template<typename T, typename E>
-int qmlRegisterExtendedType(const char *uri, int version_maj, int version_min_from, int version_min_to, const char *qmlName, const char *typeName)
+int qmlRegisterExtendedType(const char *uri, int version_maj, int version_min, const char *qmlName, const char *typeName)
{
QByteArray name(typeName);
QmlPrivate::MetaTypeIds ids = {
@@ -253,7 +252,7 @@ int qmlRegisterExtendedType(const char *uri, int version_maj, int version_min_fr
}
return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>,
- uri, version_maj, version_min_from, version_min_to, qmlName,
+ uri, version_maj, version_min, qmlName,
&T::staticMetaObject,
attached, attachedMo,
QmlPrivate::StaticCastSelector<T,QmlParserStatus>::cast(),
@@ -280,7 +279,7 @@ int qmlRegisterInterface(const char *typeName)
}
template<typename T>
-int qmlRegisterCustomType(const char *uri, int version_maj, int version_min_from, int version_min_to, const char *qmlName, const char *typeName, QmlCustomParser *parser)
+int qmlRegisterCustomType(const char *uri, int version_maj, int version_min, const char *qmlName, const char *typeName, QmlCustomParser *parser)
{
QByteArray name(typeName);
QmlPrivate::MetaTypeIds ids = {
@@ -290,7 +289,7 @@ int qmlRegisterCustomType(const char *uri, int version_maj, int version_min_from
};
return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>,
- uri, version_maj, version_min_from, version_min_to, qmlName,
+ uri, version_maj, version_min, qmlName,
&T::staticMetaObject,
QmlPrivate::attachedPropertiesFunc<T>(),
QmlPrivate::attachedPropertiesMetaObject<T>(),
diff --git a/src/declarative/qml/qmlprivate.h b/src/declarative/qml/qmlprivate.h
index 6ab36a2..e5b1060 100644
--- a/src/declarative/qml/qmlprivate.h
+++ b/src/declarative/qml/qmlprivate.h
@@ -223,7 +223,7 @@ namespace QmlPrivate
InstanceType(int);
};
- template<typename T, int VMAJ, int VMIN1, int VMIN2>
+ template<typename T, int VMAJ, int VMIN>
struct Define {
static InstanceType instance;
};
diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp
index 62ec025..f3d0f65 100644
--- a/src/declarative/qml/qmlvme.cpp
+++ b/src/declarative/qml/qmlvme.cpp
@@ -591,7 +591,7 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
stack.at(stack.count() - 1 - instr.assignBinding.context);
QmlMetaProperty mp;
- mp.restore(instr.assignBinding.property, target, ctxt);
+ QmlMetaPropertyPrivate::restore(mp, instr.assignBinding.property, target, ctxt);
int coreIndex = mp.coreIndex();
@@ -648,7 +648,7 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QmlPropertyValueSource *vs = reinterpret_cast<QmlPropertyValueSource *>(reinterpret_cast<char *>(obj) + instr.assignValueSource.castValue);
QObject *target = stack.at(stack.count() - 1 - instr.assignValueSource.owner);
QmlMetaProperty prop;
- prop.restore(instr.assignValueSource.property, target, ctxt);
+ QmlMetaPropertyPrivate::restore(prop, instr.assignValueSource.property, target, ctxt);
obj->setParent(target);
vs->setTarget(prop);
}
@@ -660,7 +660,7 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QmlPropertyValueInterceptor *vi = reinterpret_cast<QmlPropertyValueInterceptor *>(reinterpret_cast<char *>(obj) + instr.assignValueInterceptor.castValue);
QObject *target = stack.at(stack.count() - 1 - instr.assignValueInterceptor.owner);
QmlMetaProperty prop;
- prop.restore(instr.assignValueInterceptor.property, target, ctxt);
+ QmlMetaPropertyPrivate::restore(prop, instr.assignValueInterceptor.property, target, ctxt);
obj->setParent(target);
vi->setTarget(prop);
QmlVMEMetaObject *mo = static_cast<QmlVMEMetaObject *>((QMetaObject*)target->metaObject());
diff --git a/src/declarative/util/qmlanimation.cpp b/src/declarative/util/qmlanimation.cpp
index 051003f..bd4c6f7 100644
--- a/src/declarative/util/qmlanimation.cpp
+++ b/src/declarative/util/qmlanimation.cpp
@@ -648,7 +648,7 @@ void QmlAbstractAnimation::timelineComplete()
\class QmlPauseAnimation
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PauseAnimation,QmlPauseAnimation)
+QML_DEFINE_TYPE(Qt,4,6,PauseAnimation,QmlPauseAnimation)
QmlPauseAnimation::QmlPauseAnimation(QObject *parent)
: QmlAbstractAnimation(*(new QmlPauseAnimationPrivate), parent)
{
@@ -760,7 +760,7 @@ void QmlColorAnimation::setTo(const QColor &t)
QmlPropertyAnimation::setTo(t);
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ColorAnimation,QmlColorAnimation)
+QML_DEFINE_TYPE(Qt,4,6,ColorAnimation,QmlColorAnimation)
/*!
\qmlclass ScriptAction QmlScriptAction
@@ -866,7 +866,7 @@ QAbstractAnimation *QmlScriptAction::qtAnimation()
return d->rsa;
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ScriptAction,QmlScriptAction)
+QML_DEFINE_TYPE(Qt,4,6,ScriptAction,QmlScriptAction)
/*!
\qmlclass PropertyAction QmlPropertyAction
@@ -1073,7 +1073,7 @@ void QmlPropertyAction::transition(QmlStateActions &actions,
d->target = 0;
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PropertyAction,QmlPropertyAction)
+QML_DEFINE_TYPE(Qt,4,6,PropertyAction,QmlPropertyAction)
/*!
\qmlclass ParentAction QmlParentAction
@@ -1212,7 +1212,7 @@ void QmlParentAction::transition(QmlStateActions &actions,
}
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParentAction,QmlParentAction)
+QML_DEFINE_TYPE(Qt,4,6,ParentAction,QmlParentAction)
/*!
\qmlclass NumberAnimation QmlNumberAnimation
@@ -1275,7 +1275,7 @@ void QmlNumberAnimation::setTo(qreal t)
QmlPropertyAnimation::setTo(t);
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,NumberAnimation,QmlNumberAnimation)
+QML_DEFINE_TYPE(Qt,4,6,NumberAnimation,QmlNumberAnimation)
QmlAnimationGroup::QmlAnimationGroup(QObject *parent)
: QmlAbstractAnimation(*(new QmlAnimationGroupPrivate), parent)
@@ -1365,7 +1365,7 @@ void QmlSequentialAnimation::transition(QmlStateActions &actions,
}
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,SequentialAnimation,QmlSequentialAnimation)
+QML_DEFINE_TYPE(Qt,4,6,SequentialAnimation,QmlSequentialAnimation)
/*!
\qmlclass ParallelAnimation QmlParallelAnimation
@@ -1437,7 +1437,7 @@ void QmlParallelAnimation::transition(QmlStateActions &actions,
}
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParallelAnimation,QmlParallelAnimation)
+QML_DEFINE_TYPE(Qt,4,6,ParallelAnimation,QmlParallelAnimation)
//convert a variant from string type to another animatable type
void QmlPropertyAnimationPrivate::convertVariant(QVariant &variant, int type)
@@ -2013,6 +2013,6 @@ void QmlPropertyAnimation::transition(QmlStateActions &actions,
d->target = 0;
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PropertyAnimation,QmlPropertyAnimation)
+QML_DEFINE_TYPE(Qt,4,6,PropertyAnimation,QmlPropertyAnimation)
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmlbind.cpp b/src/declarative/util/qmlbind.cpp
index de6d48a..86c1b8b 100644
--- a/src/declarative/util/qmlbind.cpp
+++ b/src/declarative/util/qmlbind.cpp
@@ -63,7 +63,7 @@ public:
QmlNullableValue<QVariant> value;
};
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Binding,QmlBind)
+QML_DEFINE_TYPE(Qt,4,6,Binding,QmlBind)
/*!
\qmlclass Binding QmlBind
\brief The Binding element allows arbitrary property bindings to be created.
diff --git a/src/declarative/util/qmlconnection.cpp b/src/declarative/util/qmlconnection.cpp
index 27ac374..db744f6 100644
--- a/src/declarative/util/qmlconnection.cpp
+++ b/src/declarative/util/qmlconnection.cpp
@@ -274,6 +274,6 @@ void QmlConnection::setSignal(const QString& sig)
connectIfValid();
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Connection,QmlConnection)
+QML_DEFINE_TYPE(Qt,4,6,Connection,QmlConnection)
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmleasefollow.cpp b/src/declarative/util/qmleasefollow.cpp
index 5447c56..6bf3f82 100644
--- a/src/declarative/util/qmleasefollow.cpp
+++ b/src/declarative/util/qmleasefollow.cpp
@@ -47,7 +47,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,EaseFollow,QmlEaseFollow);
+QML_DEFINE_TYPE(Qt,4,6,EaseFollow,QmlEaseFollow);
class QmlEaseFollowPrivate : public QObjectPrivate
{
diff --git a/src/declarative/util/qmllistmodel.cpp b/src/declarative/util/qmllistmodel.cpp
index 17083db..afc6735 100644
--- a/src/declarative/util/qmllistmodel.cpp
+++ b/src/declarative/util/qmllistmodel.cpp
@@ -809,7 +809,7 @@ void QmlListModelParser::setCustomData(QObject *obj, const QByteArray &d)
}
}
-QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, (QT_VERSION&0x00ff00)>>8, ListModel, QmlListModel, QmlListModelParser)
+QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, ListModel, QmlListModel, QmlListModelParser)
/*!
\qmlclass ListElement
@@ -822,7 +822,7 @@ class QmlListElement : public QObject
{
Q_OBJECT
};
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ListElement,QmlListElement)
+QML_DEFINE_TYPE(Qt,4,6,ListElement,QmlListElement)
static void dump(ModelNode *node, int ind)
{
diff --git a/src/declarative/util/qmlpackage.cpp b/src/declarative/util/qmlpackage.cpp
index 4d7fa86..908b368 100644
--- a/src/declarative/util/qmlpackage.cpp
+++ b/src/declarative/util/qmlpackage.cpp
@@ -147,7 +147,7 @@ QmlPackageAttached *QmlPackage::qmlAttachedProperties(QObject *o)
return new QmlPackageAttached(o);
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Package,QmlPackage)
+QML_DEFINE_TYPE(Qt,4,6,Package,QmlPackage)
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmlpropertychanges.cpp b/src/declarative/util/qmlpropertychanges.cpp
index 8ba4b25..dbf2bc4 100644
--- a/src/declarative/util/qmlpropertychanges.cpp
+++ b/src/declarative/util/qmlpropertychanges.cpp
@@ -392,6 +392,6 @@ void QmlPropertyChanges::setIsExplicit(bool e)
d->isExplicit = e;
}
-QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, (QT_VERSION&0x00ff00)>>8, PropertyChanges, QmlPropertyChanges, QmlPropertyChangesParser)
+QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, PropertyChanges, QmlPropertyChanges, QmlPropertyChangesParser)
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmlspringfollow.cpp b/src/declarative/util/qmlspringfollow.cpp
index e743aa5..4a7c8b3 100644
--- a/src/declarative/util/qmlspringfollow.cpp
+++ b/src/declarative/util/qmlspringfollow.cpp
@@ -48,7 +48,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,SpringFollow,QmlSpringFollow)
+QML_DEFINE_TYPE(Qt,4,6,SpringFollow,QmlSpringFollow)
class QmlSpringFollowPrivate : public QObjectPrivate
{
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index ce4b540..7cc548f 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -151,7 +151,7 @@ QmlStateOperation::QmlStateOperation(QObjectPrivate &dd, QObject *parent)
\sa {states-transitions}{States and Transitions}
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,State,QmlState)
+QML_DEFINE_TYPE(Qt,4,6,State,QmlState)
QmlState::QmlState(QObject *parent)
: QObject(*(new QmlStatePrivate), parent)
{
diff --git a/src/declarative/util/qmlstategroup.cpp b/src/declarative/util/qmlstategroup.cpp
index 2eb9dca..3cfc84a 100644
--- a/src/declarative/util/qmlstategroup.cpp
+++ b/src/declarative/util/qmlstategroup.cpp
@@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(stateChangeDebug, STATECHANGE_DEBUG);
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,StateGroup,QmlStateGroup)
+QML_DEFINE_TYPE(Qt,4,6,StateGroup,QmlStateGroup)
class QmlStateGroupPrivate : public QObjectPrivate
{
diff --git a/src/declarative/util/qmlstateoperations.cpp b/src/declarative/util/qmlstateoperations.cpp
index ccb9a41..1b786d2 100644
--- a/src/declarative/util/qmlstateoperations.cpp
+++ b/src/declarative/util/qmlstateoperations.cpp
@@ -151,7 +151,7 @@ void QmlParentChangePrivate::doChange(QmlGraphicsItem *targetParent, QmlGraphics
for the original and new parent).
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParentChange,QmlParentChange)
+QML_DEFINE_TYPE(Qt,4,6,ParentChange,QmlParentChange)
QmlParentChange::QmlParentChange(QObject *parent)
: QmlStateOperation(*(new QmlParentChangePrivate), parent)
{
@@ -293,7 +293,7 @@ public:
\qmlclass StateChangeScript QmlStateChangeScript
\brief The StateChangeScript element allows you to run a script in a state.
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,StateChangeScript,QmlStateChangeScript)
+QML_DEFINE_TYPE(Qt,4,6,StateChangeScript,QmlStateChangeScript)
QmlStateChangeScript::QmlStateChangeScript(QObject *parent)
: QmlStateOperation(*(new QmlStateChangeScriptPrivate), parent)
{
@@ -360,7 +360,7 @@ QmlStateChangeScript::ActionList QmlStateChangeScript::actions()
For more information on anchors see \l {anchor-layout}{Anchor Layouts}.
*/
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,AnchorChanges,QmlAnchorChanges)
+QML_DEFINE_TYPE(Qt,4,6,AnchorChanges,QmlAnchorChanges)
class QmlAnchorChangesPrivate : public QObjectPrivate
{
diff --git a/src/declarative/util/qmlsystempalette.cpp b/src/declarative/util/qmlsystempalette.cpp
index 32cb4cf..bb3ec70 100644
--- a/src/declarative/util/qmlsystempalette.cpp
+++ b/src/declarative/util/qmlsystempalette.cpp
@@ -52,7 +52,7 @@ public:
QPalette::ColorGroup group;
};
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,SystemPalette,QmlSystemPalette)
+QML_DEFINE_TYPE(Qt,4,6,SystemPalette,QmlSystemPalette)
/*!
\qmlclass SystemPalette QmlSystemPalette
diff --git a/src/declarative/util/qmltimer.cpp b/src/declarative/util/qmltimer.cpp
index 2e844be..0aa0747 100644
--- a/src/declarative/util/qmltimer.cpp
+++ b/src/declarative/util/qmltimer.cpp
@@ -47,7 +47,7 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Timer,QmlTimer)
+QML_DEFINE_TYPE(Qt,4,6,Timer,QmlTimer)
class QmlTimerPrivate : public QObjectPrivate
{
diff --git a/src/declarative/util/qmltransition.cpp b/src/declarative/util/qmltransition.cpp
index a5f4b67..d61359d 100644
--- a/src/declarative/util/qmltransition.cpp
+++ b/src/declarative/util/qmltransition.cpp
@@ -137,7 +137,7 @@ void ParallelAnimationWrapper::updateState(QAbstractAnimation::State oldState, Q
}
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Transition,QmlTransition)
+QML_DEFINE_TYPE(Qt,4,6,Transition,QmlTransition)
QmlTransition::QmlTransition(QObject *parent)
: QObject(*(new QmlTransitionPrivate), parent)
{
diff --git a/src/declarative/widgets/graphicslayouts.cpp b/src/declarative/widgets/graphicslayouts.cpp
index 9c7e919..9658049 100644
--- a/src/declarative/widgets/graphicslayouts.cpp
+++ b/src/declarative/widgets/graphicslayouts.cpp
@@ -48,9 +48,9 @@ QT_BEGIN_NAMESPACE
QML_DEFINE_INTERFACE(QGraphicsLayoutItem)
QML_DEFINE_INTERFACE(QGraphicsLayout)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsLinearLayoutStretchItem,QGraphicsLinearLayoutStretchItemObject)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsLinearLayout,QGraphicsLinearLayoutObject)
-QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsGridLayout,QGraphicsGridLayoutObject)
+QML_DEFINE_TYPE(Qt,4,6,QGraphicsLinearLayoutStretchItem,QGraphicsLinearLayoutStretchItemObject)
+QML_DEFINE_TYPE(Qt,4,6,QGraphicsLinearLayout,QGraphicsLinearLayoutObject)
+QML_DEFINE_TYPE(Qt,4,6,QGraphicsGridLayout,QGraphicsGridLayoutObject)
class LinearLayoutAttached : public QObject
{
diff --git a/src/declarative/widgets/graphicswidgets.cpp b/src/declarative/widgets/graphicswidgets.cpp
index 8f61999..5678520 100644
--- a/src/declarative/widgets/graphicswidgets.cpp
+++ b/src/declarative/widgets/graphicswidgets.cpp
@@ -162,9 +162,9 @@ private:
QmlConcreteList<QObject *> _data;
};
-QML_DEFINE_EXTENDED_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsView,QGraphicsView,QGraphicsViewDeclarativeUI)
-QML_DEFINE_EXTENDED_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsScene,QGraphicsScene,QGraphicsSceneDeclarativeUI)
-QML_DEFINE_EXTENDED_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsWidget,QGraphicsWidget,QGraphicsWidgetDeclarativeUI)
+QML_DEFINE_EXTENDED_TYPE(Qt,4,6,QGraphicsView,QGraphicsView,QGraphicsViewDeclarativeUI)
+QML_DEFINE_EXTENDED_TYPE(Qt,4,6,QGraphicsScene,QGraphicsScene,QGraphicsSceneDeclarativeUI)
+QML_DEFINE_EXTENDED_TYPE(Qt,4,6,QGraphicsWidget,QGraphicsWidget,QGraphicsWidgetDeclarativeUI)
QML_DEFINE_INTERFACE(QGraphicsItem)
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index f72aa8a..9856b1a 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -3251,10 +3251,13 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
// Determine the exposed region
d->exposedRegion = event->region();
+ if (d->exposedRegion.isEmpty())
+ d->exposedRegion = viewport()->rect();
QRectF exposedSceneRect = mapToScene(d->exposedRegion.boundingRect()).boundingRect();
// Set up the painter
QPainter painter(viewport());
+ painter.setClipRect(exposedSceneRect, Qt::IntersectClip);
#ifndef QT_NO_RUBBERBAND
if (d->rubberBanding && !d->rubberBandRect.isEmpty())
painter.save();
diff --git a/tests/auto/declarative/animatedimage/tst_animatedimage.cpp b/tests/auto/declarative/animatedimage/tst_animatedimage.cpp
index 6ae2112..262ddda 100644
--- a/tests/auto/declarative/animatedimage/tst_animatedimage.cpp
+++ b/tests/auto/declarative/animatedimage/tst_animatedimage.cpp
@@ -90,11 +90,7 @@ void tst_animatedimage::setFrame()
void tst_animatedimage::frameCount()
{
- QmlEngine engine;
- QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/stickman.qml"));
- QmlGraphicsAnimatedImageItem *anim = qobject_cast<QmlGraphicsAnimatedImageItem *>(component.create());
- QVERIFY(anim);
- QCOMPARE(anim->frameCount(), 299);
+ // GIF doesn't support frameCount until first pass through
}
QTEST_MAIN(tst_animatedimage)
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro
index f09d6cf..b9f59d6 100644
--- a/tests/auto/declarative/declarative.pro
+++ b/tests/auto/declarative/declarative.pro
@@ -1,38 +1,42 @@
TEMPLATE = subdirs
-SUBDIRS += anchors \
- animatedimage \
- animations \
- behaviors \
- datetimeformatter \
+SUBDIRS += \
+ anchors \ # Cover
+ animatedimage \ # Cover
+ animations \ # Cover
+ behaviors \ # Cover
+ datetimeformatter \ # Cover
examples \
- layouts \
- listview \
- numberformatter \
- pathview \
- qfxloader \
- qmlpixmapcache \
- qfxtextedit \
- qfxtextinput \
- qfxwebview \
- qmetaobjectbuilder \
- qmlcontext \
- qmldom \
- qmlecmascript \
- qmlgraphicstext \
- qmlgraphicsborderimage \
- qmlfontloader \
- qmllanguage \
- qmllist \
- qmllistaccessor \
- qmlmetaproperty \
- qmlmetatype \
- qmlpropertymap \
- qmltimer \
- qmlxmllistmodel \
- repeater \
- sql \
- states \
- visual
+ layouts \ # Cover
+ listview \ # Cover
+ numberformatter \ # Cover
+ pathview \ # Cover
+ qfxloader \ # Cover
+ qfxtextedit \ # Cover
+ qfxtextinput \ # Cover
+ qfxwebview \ # Cover
+ qmetaobjectbuilder \ # Cover
+ qmlcontext \ # Cover
+ qmldom \ # Cover
+ qmlecmascript \ # Cover
+ qmlfontloader \ # Cover
+ qmlgraphicsborderimage \ # Cover
+ qmlgraphicsparticles \ # Cover
+ qmlgraphicstext \ # Cover
+ qmllanguage \ # Cover
+ qmllist \ # Cover
+ qmllistaccessor \ # Cover
+ qmlmetaproperty \ # Cover
+ qmlmetatype \ # Cover
+ qmlpixmapcache \ # Cover
+ qmlpropertymap \ # Cover
+ qmlqt \ # Cover
+ qmltimer \ # Cover
+ qmlxmllistmodel \ # Cover
+ repeater \ # Cover
+ sql \ # Cover
+ states \ # Cover
+ valuetypes \ # Cover
+ visual # Cover
# Tests which should run in Pulse
PULSE_TESTS = $$SUBDIRS
diff --git a/tests/auto/declarative/examples/data/dummytest.qml b/tests/auto/declarative/examples/data/dummytest.qml
index cd9d8fb..b20e907 100644
--- a/tests/auto/declarative/examples/data/dummytest.qml
+++ b/tests/auto/declarative/examples/data/dummytest.qml
@@ -2,4 +2,5 @@ import Qt.VisualTest 4.6
VisualTest {
Frame { msec: 0 }
+ Frame { msec: 10 }
}
diff --git a/tests/auto/declarative/examples/data/webbrowser/webbrowser.qml b/tests/auto/declarative/examples/data/webbrowser/webbrowser.qml
index bdf3290..d31787b 100644
--- a/tests/auto/declarative/examples/data/webbrowser/webbrowser.qml
+++ b/tests/auto/declarative/examples/data/webbrowser/webbrowser.qml
@@ -2,5 +2,5 @@ import Qt.VisualTest 4.6
VisualTest {
Frame { msec: 0 }
- Frame { msec: 1000 }
+ Frame { msec: 2000 }
}
diff --git a/tests/auto/declarative/examples/tst_examples.cpp b/tests/auto/declarative/examples/tst_examples.cpp
index d758101..2cbb916 100644
--- a/tests/auto/declarative/examples/tst_examples.cpp
+++ b/tests/auto/declarative/examples/tst_examples.cpp
@@ -182,9 +182,10 @@ void tst_examples::examples()
QFileInfo fi(file);
QFileInfo dir(fi.path());
- QFileInfo testdata("data/"+dir.baseName()+"/"+fi.baseName());
+ QString script = "data/"+dir.baseName()+"/"+fi.baseName();
+ QFileInfo testdata(script+".qml");
QStringList arguments;
- arguments << "-script" << (testdata.exists() ? testdata.filePath() : QLatin1String("data/dummytest"))
+ arguments << "-script" << (testdata.exists() ? script : QLatin1String("data/dummytest"))
<< "-scriptopts" << "play,testerror,exitoncomplete,exitonfailure"
<< file;
QProcess p;
diff --git a/tests/auto/declarative/qfxloader/SetSourceComponent.qml b/tests/auto/declarative/qfxloader/SetSourceComponent.qml
index c5dd7ff..1db56c4 100644
--- a/tests/auto/declarative/qfxloader/SetSourceComponent.qml
+++ b/tests/auto/declarative/qfxloader/SetSourceComponent.qml
@@ -1,6 +1,6 @@
import Qt 4.6
Item {
- Component { id: Comp; Rectangle { width: 120; height: 60 } }
- Loader { sourceComponent: Comp }
+ Component { id: comp; Rectangle { width: 100; height: 50 } }
+ Loader { sourceComponent: comp }
}
diff --git a/tests/auto/declarative/qfxloader/tst_qfxloader.cpp b/tests/auto/declarative/qfxloader/tst_qfxloader.cpp
index 38d06b8..9a8f8f1 100644
--- a/tests/auto/declarative/qfxloader/tst_qfxloader.cpp
+++ b/tests/auto/declarative/qfxloader/tst_qfxloader.cpp
@@ -53,6 +53,9 @@ public:
private slots:
void url();
void component();
+ void clear();
+ void urlToComponent();
+ void componentToUrl();
void sizeLoaderToItem();
void sizeItemToLoader();
void noResize();
@@ -86,6 +89,8 @@ void tst_qfxloader::url()
QVERIFY(loader->item());
QCOMPARE(loader->progress(), 1.0);
QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
+
+ delete loader;
}
void tst_qfxloader::component()
@@ -99,6 +104,69 @@ void tst_qfxloader::component()
QVERIFY(loader->item());
QCOMPARE(loader->progress(), 1.0);
QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
+
+ delete loader;
+}
+
+void tst_qfxloader::clear()
+{
+ QmlComponent component(&engine, QByteArray("import Qt 4.6\nLoader { source: \"Rect120x60.qml\" }"), QUrl("file://" SRCDIR "/"));
+ QmlGraphicsLoader *loader = qobject_cast<QmlGraphicsLoader*>(component.create());
+ QVERIFY(loader != 0);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
+
+ loader->setSource(QUrl(""));
+ QVERIFY(loader->item() == 0);
+ QCOMPARE(loader->progress(), 0.0);
+ QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0);
+
+ delete loader;
+}
+
+void tst_qfxloader::urlToComponent()
+{
+ QmlComponent component(&engine, QByteArray("import Qt 4.6\n"
+ "Loader {\n"
+ " id: loader\n"
+ " Component { id: myComp; Rectangle { width: 10; height: 10 } }\n"
+ " source: \"Rect120x60.qml\"\n"
+ " Timer { interval: 100; running: true; onTriggered: loader.sourceComponent = myComp }\n"
+ "}" )
+ , QUrl("file://" SRCDIR "/"));
+ QmlGraphicsLoader *loader = qobject_cast<QmlGraphicsLoader*>(component.create());
+ QTest::qWait(1000);
+ QVERIFY(loader != 0);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
+ QCOMPARE(loader->width(), 10.0);
+ QCOMPARE(loader->height(), 10.0);
+
+ delete loader;
+}
+
+void tst_qfxloader::componentToUrl()
+{
+ QmlComponent component(&engine, QUrl("file://" SRCDIR "/SetSourceComponent.qml"));
+ QmlGraphicsItem *item = qobject_cast<QmlGraphicsItem*>(component.create());
+ QVERIFY(item);
+
+ QmlGraphicsLoader *loader = qobject_cast<QmlGraphicsLoader*>(item->QGraphicsObject::children().at(1));
+ QVERIFY(loader);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
+
+ loader->setSource(QUrl("file://" SRCDIR "/Rect120x60.qml"));
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
+ QCOMPARE(loader->width(), 120.0);
+ QCOMPARE(loader->height(), 60.0);
+
+ delete loader;
}
void tst_qfxloader::sizeLoaderToItem()
diff --git a/tests/auto/declarative/qmlecmascript/testtypes.cpp b/tests/auto/declarative/qmlecmascript/testtypes.cpp
index 9af8ed7..df0cb18 100644
--- a/tests/auto/declarative/qmlecmascript/testtypes.cpp
+++ b/tests/auto/declarative/qmlecmascript/testtypes.cpp
@@ -72,11 +72,11 @@ private:
int m_value;
};
-QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyQmlObject,MyQmlObject);
-QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyDeferredObject,MyDeferredObject);
-QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyQmlContainer,MyQmlContainer);
-QML_DEFINE_EXTENDED_TYPE(Qt.test, 1, 0, 0, MyBaseExtendedObject,MyBaseExtendedObject,BaseExtensionObject);
-QML_DEFINE_EXTENDED_TYPE(Qt.test, 1, 0, 0, MyExtendedObject,MyExtendedObject,ExtensionObject);
-QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyTypeObject, MyTypeObject);
+QML_DEFINE_TYPE(Qt.test, 1,0, MyQmlObject,MyQmlObject);
+QML_DEFINE_TYPE(Qt.test, 1,0, MyDeferredObject,MyDeferredObject);
+QML_DEFINE_TYPE(Qt.test, 1,0, MyQmlContainer,MyQmlContainer);
+QML_DEFINE_EXTENDED_TYPE(Qt.test, 1,0, MyBaseExtendedObject,MyBaseExtendedObject,BaseExtensionObject);
+QML_DEFINE_EXTENDED_TYPE(Qt.test, 1,0, MyExtendedObject,MyExtendedObject,ExtensionObject);
+QML_DEFINE_TYPE(Qt.test, 1,0, MyTypeObject, MyTypeObject);
#include "testtypes.moc"
diff --git a/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp b/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp
index efc86cd..23f7025 100644
--- a/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp
+++ b/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp
@@ -77,6 +77,7 @@ void tst_qmlfontloader::noFont()
QVERIFY(fontObject != 0);
QCOMPARE(fontObject->name(), QString(""));
+ QCOMPARE(fontObject->source(), QUrl(""));
QTRY_VERIFY(fontObject->status() == QmlFontLoader::Null);
delete fontObject;
@@ -89,6 +90,7 @@ void tst_qmlfontloader::namedFont()
QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create());
QVERIFY(fontObject != 0);
+ QCOMPARE(fontObject->source(), QUrl(""));
QCOMPARE(fontObject->name(), QString("Helvetica"));
QTRY_VERIFY(fontObject->status() == QmlFontLoader::Ready);
}
@@ -100,6 +102,7 @@ void tst_qmlfontloader::localFont()
QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create());
QVERIFY(fontObject != 0);
+ QVERIFY(fontObject->source() != QUrl(""));
QTRY_COMPARE(fontObject->name(), QString("Fontin"));
QTRY_VERIFY(fontObject->status() == QmlFontLoader::Ready);
}
@@ -111,6 +114,7 @@ void tst_qmlfontloader::failLocalFont()
QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create());
QVERIFY(fontObject != 0);
+ QVERIFY(fontObject->source() != QUrl(""));
QTRY_COMPARE(fontObject->name(), QString(""));
QTRY_VERIFY(fontObject->status() == QmlFontLoader::Error);
}
@@ -122,6 +126,7 @@ void tst_qmlfontloader::webFont()
QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create());
QVERIFY(fontObject != 0);
+ QVERIFY(fontObject->source() != QUrl(""));
QTRY_COMPARE(fontObject->name(), QString("Starburst"));
QTRY_VERIFY(fontObject->status() == QmlFontLoader::Ready);
}
@@ -133,6 +138,7 @@ void tst_qmlfontloader::failWebFont()
QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create());
QVERIFY(fontObject != 0);
+ QVERIFY(fontObject->source() != QUrl(""));
QTRY_COMPARE(fontObject->name(), QString(""));
QTRY_VERIFY(fontObject->status() == QmlFontLoader::Error);
}
diff --git a/tests/auto/declarative/qmlgraphicsborderimage/data/invalid.sci b/tests/auto/declarative/qmlgraphicsborderimage/data/invalid.sci
new file mode 100644
index 0000000..98c72c9
--- /dev/null
+++ b/tests/auto/declarative/qmlgraphicsborderimage/data/invalid.sci
@@ -0,0 +1,7 @@
+border.left:10
+border.top:20
+border.down:30
+border.up:40
+horizontalTileRule:Roun
+verticalTileRule:Repea
+source:colors.png
diff --git a/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp b/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp
index 4174ccf..aa732c5 100644
--- a/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp
+++ b/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp
@@ -54,11 +54,13 @@ public:
tst_qmlgraphicsborderimage();
private slots:
+ void noSource();
void simple();
void resized();
void smooth();
void tileModes();
void sciFile();
+ void invalidSciFile();
private:
QmlEngine engine;
@@ -68,16 +70,32 @@ tst_qmlgraphicsborderimage::tst_qmlgraphicsborderimage()
{
}
+void tst_qmlgraphicsborderimage::noSource()
+{
+ QString componentStr = "import Qt 4.6\nBorderImage { source: \"\" }";
+ QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
+ QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->source(), QUrl());
+ QCOMPARE(obj->width(), 0.);
+ QCOMPARE(obj->height(), 0.);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch);
+
+ delete obj;
+}
+
void tst_qmlgraphicsborderimage::simple()
{
QString componentStr = "import Qt 4.6\nBorderImage { source: \"" SRCDIR "/data/colors.png\" }";
QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
QVERIFY(obj != 0);
- QVERIFY(obj->width() == 120);
- QVERIFY(obj->height() == 120);
- QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Stretch);
- QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->source(), QUrl("file://" SRCDIR "/data/colors.png"));
+ QCOMPARE(obj->width(), 120.);
+ QCOMPARE(obj->height(), 120.);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch);
delete obj;
}
@@ -88,10 +106,10 @@ void tst_qmlgraphicsborderimage::resized()
QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
QVERIFY(obj != 0);
- QVERIFY(obj->width() == 300);
- QVERIFY(obj->height() == 300);
- QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Stretch);
- QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch);
delete obj;
}
@@ -102,11 +120,11 @@ void tst_qmlgraphicsborderimage::smooth()
QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
QVERIFY(obj != 0);
- QVERIFY(obj->width() == 300);
- QVERIFY(obj->height() == 300);
- QVERIFY(obj->smooth() == true);
- QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Stretch);
- QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->smooth(), true);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch);
delete obj;
}
@@ -118,10 +136,10 @@ void tst_qmlgraphicsborderimage::tileModes()
QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
QVERIFY(obj != 0);
- QVERIFY(obj->width() == 100);
- QVERIFY(obj->height() == 300);
- QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Repeat);
- QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Repeat);
+ QCOMPARE(obj->width(), 100.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Repeat);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Repeat);
delete obj;
}
@@ -130,10 +148,10 @@ void tst_qmlgraphicsborderimage::tileModes()
QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
QVERIFY(obj != 0);
- QVERIFY(obj->width() == 300);
- QVERIFY(obj->height() == 150);
- QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Round);
- QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Round);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 150.);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Round);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Round);
delete obj;
}
@@ -145,14 +163,29 @@ void tst_qmlgraphicsborderimage::sciFile()
QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
QVERIFY(obj != 0);
- QVERIFY(obj->width() == 300);
- QVERIFY(obj->height() == 300);
- QVERIFY(obj->border()->left() == 10);
- QVERIFY(obj->border()->top() == 20);
- QVERIFY(obj->border()->right() == 30);
- QVERIFY(obj->border()->bottom() == 40);
- QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Round);
- QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Repeat);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->border()->left(), 10);
+ QCOMPARE(obj->border()->top(), 20);
+ QCOMPARE(obj->border()->right(), 30);
+ QCOMPARE(obj->border()->bottom(), 40);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Round);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Repeat);
+
+ delete obj;
+}
+
+void tst_qmlgraphicsborderimage::invalidSciFile()
+{
+ QString componentStr = "import Qt 4.6\nBorderImage { source: \"" SRCDIR "/data/invalid.sci\"; width: 300; height: 300 }";
+ QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://"));
+ QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->status(), QmlGraphicsImageBase::Error);
+ QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch);
delete obj;
}
diff --git a/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp b/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp
index 3e86cab..ba5c835 100644
--- a/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp
+++ b/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp
@@ -198,6 +198,8 @@ void tst_qmlgraphicstext::width()
for (int i = 0; i < standard.size(); i++)
{
+ QVERIFY(!Qt::mightBeRichText(standard.at(i))); // self-test
+
QFont f;
QFontMetrics fm(f);
int metricWidth = fm.size(Qt::TextExpandTabs && Qt::TextShowMnemonic, standard.at(i)).width();
@@ -208,11 +210,13 @@ void tst_qmlgraphicstext::width()
QVERIFY(textObject != 0);
QCOMPARE(textObject->width(), qreal(metricWidth));
- QVERIFY(textObject->textFormat() == QmlGraphicsText::PlainText);
+ QVERIFY(textObject->textFormat() == QmlGraphicsText::AutoText); // setting text doesn't change format
}
for (int i = 0; i < richText.size(); i++)
{
+ QVERIFY(Qt::mightBeRichText(richText.at(i))); // self-test
+
QTextDocument document;
document.setHtml(richText.at(i));
document.setDocumentMargin(0);
@@ -225,7 +229,7 @@ void tst_qmlgraphicstext::width()
QVERIFY(textObject != 0);
QCOMPARE(textObject->width(), qreal(documentWidth));
- QVERIFY(textObject->textFormat() == QmlGraphicsText::RichText);
+ QVERIFY(textObject->textFormat() == QmlGraphicsText::AutoText); // setting text doesn't change format
}
}
@@ -269,7 +273,7 @@ void tst_qmlgraphicstext::wrap()
void tst_qmlgraphicstext::elide()
{
- for (Qt::TextElideMode m = Qt::ElideLeft; m<=Qt::ElideNone; m=Qt::TextElideMode(int(m)+1)) {
+ for (QmlGraphicsText::TextElideMode m = QmlGraphicsText::ElideLeft; m<=QmlGraphicsText::ElideNone; m=QmlGraphicsText::TextElideMode(int(m)+1)) {
const char* elidename[]={"ElideLeft", "ElideRight", "ElideMiddle", "ElideNone"};
QString elide = "elide: Text." + QString(elidename[int(m)]) + ";";
@@ -279,6 +283,7 @@ void tst_qmlgraphicstext::elide()
QmlComponent textComponent(&engine, ("import Qt 4.6\nText { text: \"\"; "+elide+" width: 100 }").toLatin1(), QUrl("file://"));
QmlGraphicsText *textObject = qobject_cast<QmlGraphicsText*>(textComponent.create());
+ QCOMPARE(textObject->elideMode(), m);
QCOMPARE(textObject->width(), 100.);
}
@@ -288,6 +293,7 @@ void tst_qmlgraphicstext::elide()
QmlComponent textComponent(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsText *textObject = qobject_cast<QmlGraphicsText*>(textComponent.create());
+ QCOMPARE(textObject->elideMode(), m);
QCOMPARE(textObject->width(), 100.);
}
@@ -298,6 +304,7 @@ void tst_qmlgraphicstext::elide()
QmlComponent textComponent(&engine, componentStr.toLatin1(), QUrl("file://"));
QmlGraphicsText *textObject = qobject_cast<QmlGraphicsText*>(textComponent.create());
+ QCOMPARE(textObject->elideMode(), m);
QCOMPARE(textObject->width(), 100.);
}
}
diff --git a/tests/auto/declarative/qmllanguage/data/NestedErrorsType.qml b/tests/auto/declarative/qmllanguage/data/NestedErrorsType.qml
new file mode 100644
index 0000000..5cc8d20
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/NestedErrorsType.qml
@@ -0,0 +1,5 @@
+import Qt 4.6
+
+Item {
+ x: "You can't assign a string to a real!"
+}
diff --git a/tests/auto/declarative/qmllanguage/data/assignBasicTypes.qml b/tests/auto/declarative/qmllanguage/data/assignBasicTypes.qml
index cef9f8d..50723a3 100644
--- a/tests/auto/declarative/qmllanguage/data/assignBasicTypes.qml
+++ b/tests/auto/declarative/qmllanguage/data/assignBasicTypes.qml
@@ -7,6 +7,7 @@ MyTypeObject {
intProperty: -19
realProperty: 23.2
doubleProperty: -19.7
+ floatProperty: 8.5
colorProperty: "red"
dateProperty: "1982-11-25"
timeProperty: "11:11:31"
@@ -21,6 +22,7 @@ MyTypeObject {
rectFProperty: "1000.1,-10.9,400x90.99"
boolProperty: true
variantProperty: "Hello World!"
+ vectorProperty: "10,1,2.2"
objectProperty: MyTypeObject { intProperty: 8 }
}
diff --git a/tests/auto/declarative/qmllanguage/data/component.1.errors.txt b/tests/auto/declarative/qmllanguage/data/component.1.errors.txt
new file mode 100644
index 0000000..091aad6
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.1.errors.txt
@@ -0,0 +1 @@
+3:1:Cannot create empty component specification
diff --git a/tests/auto/declarative/qmllanguage/data/component.1.qml b/tests/auto/declarative/qmllanguage/data/component.1.qml
new file mode 100644
index 0000000..07e463a
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.1.qml
@@ -0,0 +1,4 @@
+import Qt 4.6
+
+Component {
+}
diff --git a/tests/auto/declarative/qmllanguage/data/component.2.errors.txt b/tests/auto/declarative/qmllanguage/data/component.2.errors.txt
new file mode 100644
index 0000000..76e7656
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.2.errors.txt
@@ -0,0 +1 @@
+6:9:id is not unique
diff --git a/tests/auto/declarative/qmllanguage/data/component.2.qml b/tests/auto/declarative/qmllanguage/data/component.2.qml
new file mode 100644
index 0000000..74a4f89
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.2.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+
+Item {
+ id: myId
+ Component {
+ id: myId
+ Object {}
+ }
+}
diff --git a/tests/auto/declarative/qmllanguage/data/component.3.errors.txt b/tests/auto/declarative/qmllanguage/data/component.3.errors.txt
new file mode 100644
index 0000000..9a13142
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.3.errors.txt
@@ -0,0 +1 @@
+6:9:Invalid component id specification
diff --git a/tests/auto/declarative/qmllanguage/data/component.3.qml b/tests/auto/declarative/qmllanguage/data/component.3.qml
new file mode 100644
index 0000000..043cb6b
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.3.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+
+Item {
+ Component {
+ id: myId
+ id: myId2
+ Object {}
+ }
+}
diff --git a/tests/auto/declarative/qmllanguage/data/component.4.errors.txt b/tests/auto/declarative/qmllanguage/data/component.4.errors.txt
new file mode 100644
index 0000000..2ab18685
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.4.errors.txt
@@ -0,0 +1 @@
+3:1:Invalid component body specification
diff --git a/tests/auto/declarative/qmllanguage/data/component.4.qml b/tests/auto/declarative/qmllanguage/data/component.4.qml
new file mode 100644
index 0000000..3d115ba
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.4.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+Component {
+ Object {}
+ Object {}
+}
diff --git a/tests/auto/declarative/qmllanguage/data/component.5.errors.txt b/tests/auto/declarative/qmllanguage/data/component.5.errors.txt
new file mode 100644
index 0000000..5e88900
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.5.errors.txt
@@ -0,0 +1 @@
+4:5:Invalid component specification
diff --git a/tests/auto/declarative/qmllanguage/data/component.5.qml b/tests/auto/declarative/qmllanguage/data/component.5.qml
new file mode 100644
index 0000000..ab57622
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.5.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+Component {
+ x: 10
+ Object {}
+}
diff --git a/tests/auto/declarative/qmllanguage/data/component.6.errors.txt b/tests/auto/declarative/qmllanguage/data/component.6.errors.txt
new file mode 100644
index 0000000..2b1c6ca
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.6.errors.txt
@@ -0,0 +1 @@
+4:5:Invalid component id specification
diff --git a/tests/auto/declarative/qmllanguage/data/component.6.qml b/tests/auto/declarative/qmllanguage/data/component.6.qml
new file mode 100644
index 0000000..6adaf0d
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/component.6.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+Component {
+ id: Object {}
+ Object {}
+}
diff --git a/tests/auto/declarative/qmllanguage/data/defaultGrouped.errors.txt b/tests/auto/declarative/qmllanguage/data/defaultGrouped.errors.txt
new file mode 100644
index 0000000..945d51b
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/defaultGrouped.errors.txt
@@ -0,0 +1 @@
+7:9:Invalid value in grouped property
diff --git a/tests/auto/declarative/qmllanguage/data/defaultGrouped.qml b/tests/auto/declarative/qmllanguage/data/defaultGrouped.qml
new file mode 100644
index 0000000..39ac5e0
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/defaultGrouped.qml
@@ -0,0 +1,10 @@
+import Test 1.0
+import Qt 4.6
+
+MyTypeObject {
+ grouped {
+ script: print(1921)
+ Object {}
+ }
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/doubleSignal.errors.txt b/tests/auto/declarative/qmllanguage/data/doubleSignal.errors.txt
new file mode 100644
index 0000000..2aea251
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/doubleSignal.errors.txt
@@ -0,0 +1 @@
+5:5:Incorrectly specified signal
diff --git a/tests/auto/declarative/qmllanguage/data/doubleSignal.qml b/tests/auto/declarative/qmllanguage/data/doubleSignal.qml
new file mode 100644
index 0000000..ec813c9
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/doubleSignal.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyQmlObject {
+ onBasicSignal: print(1921)
+ onBasicSignal: print(1921)
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/emptySignal.errors.txt b/tests/auto/declarative/qmllanguage/data/emptySignal.errors.txt
new file mode 100644
index 0000000..353bbf5
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/emptySignal.errors.txt
@@ -0,0 +1 @@
+4:5:Empty signal assignment
diff --git a/tests/auto/declarative/qmllanguage/data/emptySignal.qml b/tests/auto/declarative/qmllanguage/data/emptySignal.qml
new file mode 100644
index 0000000..4c5a122
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/emptySignal.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyQmlObject {
+ onBasicSignal: " "
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir b/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir
index ba0b42a..30c2d4e 100644
--- a/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir
+++ b/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir
@@ -1,3 +1,3 @@
-InstalledTest 1.0-3 InstalledTest.qml
-InstalledTest 1.4 InstalledTest2.qml
Rectangle 1.5 InstalledTest2.qml
+InstalledTest 1.4 InstalledTest2.qml
+InstalledTest 1.0 InstalledTest.qml
diff --git a/tests/auto/declarative/qmllanguage/data/nestedErrors.errors.txt b/tests/auto/declarative/qmllanguage/data/nestedErrors.errors.txt
new file mode 100644
index 0000000..886da55
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/nestedErrors.errors.txt
@@ -0,0 +1,2 @@
+4:5:Unable to create type NestedErrorsType
+4:8:Invalid property assignment: double expected
diff --git a/tests/auto/declarative/qmllanguage/data/nestedErrors.qml b/tests/auto/declarative/qmllanguage/data/nestedErrors.qml
new file mode 100644
index 0000000..c0d755a
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/nestedErrors.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+Item {
+ NestedErrorsType {}
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.1.errors.txt b/tests/auto/declarative/qmllanguage/data/script.1.errors.txt
new file mode 100644
index 0000000..50518cc
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.1.errors.txt
@@ -0,0 +1 @@
+3:1:Invalid use of Script block
diff --git a/tests/auto/declarative/qmllanguage/data/script.1.qml b/tests/auto/declarative/qmllanguage/data/script.1.qml
new file mode 100644
index 0000000..8dac8b7
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.1.qml
@@ -0,0 +1,4 @@
+import Qt 4.6
+
+Script {
+}
diff --git a/tests/auto/declarative/qmllanguage/data/script.10.errors.txt b/tests/auto/declarative/qmllanguage/data/script.10.errors.txt
new file mode 100644
index 0000000..8299d23
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.10.errors.txt
@@ -0,0 +1 @@
+6:9:Invalid component specification
diff --git a/tests/auto/declarative/qmllanguage/data/script.10.qml b/tests/auto/declarative/qmllanguage/data/script.10.qml
new file mode 100644
index 0000000..516e878
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.10.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+
+Item {
+ Component {
+ Item {}
+ Script {}
+ }
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.11.errors.txt b/tests/auto/declarative/qmllanguage/data/script.11.errors.txt
new file mode 100644
index 0000000..a664203
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.11.errors.txt
@@ -0,0 +1 @@
+5:9:Invalid Script block
diff --git a/tests/auto/declarative/qmllanguage/data/script.11.qml b/tests/auto/declarative/qmllanguage/data/script.11.qml
new file mode 100644
index 0000000..d8313a3
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.11.qml
@@ -0,0 +1,7 @@
+import Qt 4.6
+
+Object {
+ Script {
+ Object {}
+ }
+}
diff --git a/tests/auto/declarative/qmllanguage/data/script.2.errors.txt b/tests/auto/declarative/qmllanguage/data/script.2.errors.txt
new file mode 100644
index 0000000..8fb3bbd
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.2.errors.txt
@@ -0,0 +1 @@
+5:9:Properties cannot be set on Script block
diff --git a/tests/auto/declarative/qmllanguage/data/script.2.qml b/tests/auto/declarative/qmllanguage/data/script.2.qml
new file mode 100644
index 0000000..18bb7c8
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.2.qml
@@ -0,0 +1,7 @@
+import Qt 4.6
+
+Object {
+ Script {
+ id: myScript
+ }
+}
diff --git a/tests/auto/declarative/qmllanguage/data/script.3.errors.txt b/tests/auto/declarative/qmllanguage/data/script.3.errors.txt
new file mode 100644
index 0000000..8fb3bbd
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.3.errors.txt
@@ -0,0 +1 @@
+5:9:Properties cannot be set on Script block
diff --git a/tests/auto/declarative/qmllanguage/data/script.3.qml b/tests/auto/declarative/qmllanguage/data/script.3.qml
new file mode 100644
index 0000000..c2296ff
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.3.qml
@@ -0,0 +1,7 @@
+import Qt 4.6
+
+Object {
+ Script {
+ hello: world
+ }
+}
diff --git a/tests/auto/declarative/qmllanguage/data/script.4.errors.txt b/tests/auto/declarative/qmllanguage/data/script.4.errors.txt
new file mode 100644
index 0000000..49a507f
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.4.errors.txt
@@ -0,0 +1 @@
+5:9:Invalid Script source value
diff --git a/tests/auto/declarative/qmllanguage/data/script.4.qml b/tests/auto/declarative/qmllanguage/data/script.4.qml
new file mode 100644
index 0000000..08115c2
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.4.qml
@@ -0,0 +1,8 @@
+import Qt 4.6
+
+Object {
+ Script {
+ source: 10
+ }
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.5.errors.txt b/tests/auto/declarative/qmllanguage/data/script.5.errors.txt
new file mode 100644
index 0000000..49a507f
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.5.errors.txt
@@ -0,0 +1 @@
+5:9:Invalid Script source value
diff --git a/tests/auto/declarative/qmllanguage/data/script.5.qml b/tests/auto/declarative/qmllanguage/data/script.5.qml
new file mode 100644
index 0000000..a3b1a15
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.5.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+
+Object {
+ Script {
+ source: "hello" + ".js"
+ }
+}
+
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.6.errors.txt b/tests/auto/declarative/qmllanguage/data/script.6.errors.txt
new file mode 100644
index 0000000..4e53b6b
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.6.errors.txt
@@ -0,0 +1 @@
+5:9:Invalid Script block. Specify either the source property or inline script
diff --git a/tests/auto/declarative/qmllanguage/data/script.6.qml b/tests/auto/declarative/qmllanguage/data/script.6.qml
new file mode 100644
index 0000000..e578629
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.6.qml
@@ -0,0 +1,11 @@
+import Qt 4.6
+
+Object {
+ Script {
+ source: "test.js"
+ function helloWorld() {}
+ }
+}
+
+
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.7.errors.txt b/tests/auto/declarative/qmllanguage/data/script.7.errors.txt
new file mode 100644
index 0000000..dc15ddf
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.7.errors.txt
@@ -0,0 +1 @@
+5:9:Variable declarations not allow in inline Script blocks
diff --git a/tests/auto/declarative/qmllanguage/data/script.7.qml b/tests/auto/declarative/qmllanguage/data/script.7.qml
new file mode 100644
index 0000000..6bee3f9
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.7.qml
@@ -0,0 +1,11 @@
+import Qt 4.6
+
+Object {
+ Script {
+ var a = 10;
+ }
+}
+
+
+
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.8.errors.txt b/tests/auto/declarative/qmllanguage/data/script.8.errors.txt
new file mode 100644
index 0000000..b5bf1a8
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.8.errors.txt
@@ -0,0 +1 @@
+6:9:Invalid Script source value
diff --git a/tests/auto/declarative/qmllanguage/data/script.8.qml b/tests/auto/declarative/qmllanguage/data/script.8.qml
new file mode 100644
index 0000000..55bc05c
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.8.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+
+Object {
+ Script {
+ source: "test.js"
+ source: "test2.js"
+ }
+}
+
diff --git a/tests/auto/declarative/qmllanguage/data/script.9.errors.txt b/tests/auto/declarative/qmllanguage/data/script.9.errors.txt
new file mode 100644
index 0000000..dc1eb53
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.9.errors.txt
@@ -0,0 +1 @@
+5:9:Invalid component specification
diff --git a/tests/auto/declarative/qmllanguage/data/script.9.qml b/tests/auto/declarative/qmllanguage/data/script.9.qml
new file mode 100644
index 0000000..79aa504
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/script.9.qml
@@ -0,0 +1,7 @@
+import Qt 4.6
+
+Item {
+ Component {
+ Script {}
+ }
+}
diff --git a/tests/auto/declarative/qmllanguage/data/test.js b/tests/auto/declarative/qmllanguage/data/test.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/test.js
diff --git a/tests/auto/declarative/qmllanguage/data/test2.js b/tests/auto/declarative/qmllanguage/data/test2.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/data/test2.js
diff --git a/tests/auto/declarative/qmllanguage/qmllanguage.pro b/tests/auto/declarative/qmllanguage/qmllanguage.pro
index 80228a9..e45d73a 100644
--- a/tests/auto/declarative/qmllanguage/qmllanguage.pro
+++ b/tests/auto/declarative/qmllanguage/qmllanguage.pro
@@ -1,5 +1,6 @@
load(qttest_p4)
contains(QT_CONFIG,declarative): QT += declarative
+QT += script
macx:CONFIG -= app_bundle
SOURCES += tst_qmllanguage.cpp \
diff --git a/tests/auto/declarative/qmllanguage/testtypes.cpp b/tests/auto/declarative/qmllanguage/testtypes.cpp
index 8b1ab59..c370c09 100644
--- a/tests/auto/declarative/qmllanguage/testtypes.cpp
+++ b/tests/auto/declarative/qmllanguage/testtypes.cpp
@@ -41,10 +41,10 @@
#include "testtypes.h"
QML_DEFINE_INTERFACE(MyInterface);
-QML_DEFINE_TYPE(Test,1,0,0,MyQmlObject,MyQmlObject);
-QML_DEFINE_TYPE(Test,1,0,0,MyTypeObject,MyTypeObject);
-QML_DEFINE_TYPE(Test,1,0,0,MyContainer,MyContainer);
-QML_DEFINE_TYPE(Test,1,0,0,MyPropertyValueSource,MyPropertyValueSource);
-QML_DEFINE_TYPE(Test,1,0,0,MyDotPropertyObject,MyDotPropertyObject);
-QML_DEFINE_TYPE(Test,1,0,0,MyNamespacedType,MyNamespace::MyNamespacedType);
+QML_DEFINE_TYPE(Test,1,0,MyQmlObject,MyQmlObject);
+QML_DEFINE_TYPE(Test,1,0,MyTypeObject,MyTypeObject);
+QML_DEFINE_TYPE(Test,1,0,MyContainer,MyContainer);
+QML_DEFINE_TYPE(Test,1,0,MyPropertyValueSource,MyPropertyValueSource);
+QML_DEFINE_TYPE(Test,1,0,MyDotPropertyObject,MyDotPropertyObject);
+QML_DEFINE_TYPE(Test,1,0,MyNamespacedType,MyNamespace::MyNamespacedType);
QML_DEFINE_NOCREATE_TYPE(MyGroupedObject);
diff --git a/tests/auto/declarative/qmllanguage/testtypes.h b/tests/auto/declarative/qmllanguage/testtypes.h
index 91c6e2e..e654faa 100644
--- a/tests/auto/declarative/qmllanguage/testtypes.h
+++ b/tests/auto/declarative/qmllanguage/testtypes.h
@@ -46,6 +46,7 @@
#include <QtCore/qdatetime.h>
#include <QtGui/qmatrix.h>
#include <QtGui/qcolor.h>
+#include <QtGui/qvector3d.h>
#include <QtDeclarative/qml.h>
#include <QtDeclarative/qmlcomponent.h>
#include <QtDeclarative/qmlparserstatus.h>
@@ -185,6 +186,7 @@ class MyTypeObject : public QObject
Q_PROPERTY(int intProperty READ intProperty WRITE setIntProperty);
Q_PROPERTY(qreal realProperty READ realProperty WRITE setRealProperty);
Q_PROPERTY(double doubleProperty READ doubleProperty WRITE setDoubleProperty);
+ Q_PROPERTY(float floatProperty READ floatProperty WRITE setFloatProperty);
Q_PROPERTY(QColor colorProperty READ colorProperty WRITE setColorProperty);
Q_PROPERTY(QDate dateProperty READ dateProperty WRITE setDateProperty);
Q_PROPERTY(QTime timeProperty READ timeProperty WRITE setTimeProperty);
@@ -198,6 +200,7 @@ class MyTypeObject : public QObject
Q_PROPERTY(QRectF rectFProperty READ rectFProperty WRITE setRectFProperty);
Q_PROPERTY(bool boolProperty READ boolProperty WRITE setBoolProperty);
Q_PROPERTY(QVariant variantProperty READ variantProperty WRITE setVariantProperty);
+ Q_PROPERTY(QVector3D vectorProperty READ vectorProperty WRITE setVectorProperty);
Q_PROPERTY(QmlScriptString scriptProperty READ scriptProperty WRITE setScriptProperty);
Q_PROPERTY(MyGroupedObject *grouped READ grouped CONSTANT);
@@ -289,6 +292,14 @@ public:
doublePropertyValue = v;
}
+ float floatPropertyValue;
+ float floatProperty() const {
+ return floatPropertyValue;
+ }
+ void setFloatProperty(const float &v) {
+ floatPropertyValue = v;
+ }
+
QColor colorPropertyValue;
QColor colorProperty() const {
return colorPropertyValue;
@@ -394,6 +405,14 @@ public:
variantPropertyValue = v;
}
+ QVector3D vectorPropertyValue;
+ QVector3D vectorProperty() const {
+ return vectorPropertyValue;
+ }
+ void setVectorProperty(const QVector3D &v) {
+ vectorPropertyValue = v;
+ }
+
QmlScriptString scriptPropertyValue;
QmlScriptString scriptProperty() const {
return scriptPropertyValue;
diff --git a/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp b/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp
index da586d9..0fa36a1 100644
--- a/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp
+++ b/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp
@@ -45,6 +45,7 @@
#include <QtCore/qdebug.h>
#include <QtCore/qfileinfo.h>
#include <QtCore/qdir.h>
+#include <private/qmlmetaproperty_p.h>
#include "testtypes.h"
#include "../../../shared/util.h"
@@ -246,8 +247,29 @@ void tst_qmllanguage::errors_data()
QTest::newRow("importVersionMissing (builtin)") << "importVersionMissingBuiltIn.qml" << "importVersionMissingBuiltIn.errors.txt" << false;
QTest::newRow("importVersionMissing (installed)") << "importVersionMissingInstalled.qml" << "importVersionMissingInstalled.errors.txt" << false;
-
-
+ QTest::newRow("Script.1") << "script.1.qml" << "script.1.errors.txt" << false;
+ QTest::newRow("Script.2") << "script.2.qml" << "script.2.errors.txt" << false;
+ QTest::newRow("Script.3") << "script.3.qml" << "script.3.errors.txt" << false;
+ QTest::newRow("Script.4") << "script.4.qml" << "script.4.errors.txt" << false;
+ QTest::newRow("Script.5") << "script.5.qml" << "script.5.errors.txt" << false;
+ QTest::newRow("Script.6") << "script.6.qml" << "script.6.errors.txt" << false;
+ QTest::newRow("Script.7") << "script.7.qml" << "script.7.errors.txt" << false;
+ QTest::newRow("Script.8") << "script.8.qml" << "script.8.errors.txt" << false;
+ QTest::newRow("Script.9") << "script.9.qml" << "script.9.errors.txt" << false;
+ QTest::newRow("Script.10") << "script.10.qml" << "script.10.errors.txt" << false;
+ QTest::newRow("Script.11") << "script.11.qml" << "script.11.errors.txt" << false;
+
+ QTest::newRow("Component.1") << "component.1.qml" << "component.1.errors.txt" << false;
+ QTest::newRow("Component.2") << "component.2.qml" << "component.2.errors.txt" << false;
+ QTest::newRow("Component.3") << "component.3.qml" << "component.3.errors.txt" << false;
+ QTest::newRow("Component.4") << "component.4.qml" << "component.4.errors.txt" << false;
+ QTest::newRow("Component.5") << "component.5.qml" << "component.5.errors.txt" << false;
+ QTest::newRow("Component.6") << "component.6.qml" << "component.6.errors.txt" << false;
+
+ QTest::newRow("nestedErrors") << "nestedErrors.qml" << "nestedErrors.errors.txt" << false;
+ QTest::newRow("defaultGrouped") << "defaultGrouped.qml" << "defaultGrouped.errors.txt" << false;
+ QTest::newRow("emptySignal") << "emptySignal.qml" << "emptySignal.errors.txt" << false;
+ QTest::newRow("doubleSignal") << "doubleSignal.qml" << "doubleSignal.errors.txt" << false;
}
void tst_qmllanguage::errors()
@@ -371,6 +393,7 @@ void tst_qmllanguage::assignBasicTypes()
QCOMPARE(object->intProperty(), -19);
QCOMPARE((float)object->realProperty(), float(23.2));
QCOMPARE((float)object->doubleProperty(), float(-19.7));
+ QCOMPARE((float)object->floatProperty(), float(8.5));
QCOMPARE(object->colorProperty(), QColor("red"));
QCOMPARE(object->dateProperty(), QDate(1982, 11, 25));
QCOMPARE(object->timeProperty(), QTime(11, 11, 32));
@@ -383,6 +406,7 @@ void tst_qmllanguage::assignBasicTypes()
QCOMPARE(object->rectFProperty(), QRectF((float)1000.1, (float)-10.9, (float)400, (float)90.99));
QCOMPARE(object->boolProperty(), true);
QCOMPARE(object->variantProperty(), QVariant("Hello World!"));
+ QCOMPARE(object->vectorProperty(), QVector3D(10, 1, 2.2));
QVERIFY(object->objectProperty() != 0);
MyTypeObject *child = qobject_cast<MyTypeObject *>(object->objectProperty());
QVERIFY(child != 0);
@@ -615,9 +639,9 @@ void tst_qmllanguage::valueTypes()
p.write(13);
QCOMPARE(p.read(), QVariant(13));
- quint32 r = p.save();
+ quint32 r = QmlMetaPropertyPrivate::saveValueType(p.coreIndex(), p.valueTypeCoreIndex());
QmlMetaProperty p2;
- p2.restore(r, object);
+ QmlMetaPropertyPrivate::restore(p2, r, object);
QCOMPARE(p2.read(), QVariant(13));
}
@@ -866,11 +890,11 @@ void tst_qmllanguage::testType(const QString& qml, const QString& type)
QML_DECLARE_TYPE(TestType)
QML_DECLARE_TYPE(TestType2)
-QML_DEFINE_TYPE(com.nokia.Test, 1, 0, 3, Test, TestType)
-QML_DEFINE_TYPE(com.nokia.Test, 1, 5, 7, Test, TestType)
-QML_DEFINE_TYPE(com.nokia.Test, 1, 8, 9, Test, TestType2)
-QML_DEFINE_TYPE(com.nokia.Test, 1, 12, 13, Test, TestType2)
-QML_DEFINE_TYPE(com.nokia.Test, 1, 9, 11, OldTest, TestType)
+QML_DEFINE_TYPE(com.nokia.Test, 1, 0, Test, TestType)
+QML_DEFINE_TYPE(com.nokia.Test, 1, 5, Test, TestType)
+QML_DEFINE_TYPE(com.nokia.Test, 1, 8, Test, TestType2)
+QML_DEFINE_TYPE(com.nokia.Test, 1, 9, OldTest, TestType)
+QML_DEFINE_TYPE(com.nokia.Test, 1, 12, Test, TestType2)
// Import tests (QT-558)
@@ -913,10 +937,6 @@ void tst_qmllanguage::importsBuiltin_data()
<< "import com.nokia.Test 1.3\n"
"Test {}"
<< "TestType";
- QTest::newRow("not in version 1.4")
- << "import com.nokia.Test 1.4\n"
- "Test {}"
- << "";
QTest::newRow("in version 1.5")
<< "import com.nokia.Test 1.5\n"
"Test {}"
@@ -925,11 +945,7 @@ void tst_qmllanguage::importsBuiltin_data()
<< "import com.nokia.Test 1.8\n"
"Test {}"
<< "TestType2";
- QTest::newRow("not in version 1.10")
- << "import com.nokia.Test 1.10\n"
- "Test {}"
- << "";
- QTest::newRow("back in version 1.12")
+ QTest::newRow("in version 1.12")
<< "import com.nokia.Test 1.12\n"
"Test {}"
<< "TestType2";
@@ -941,10 +957,6 @@ void tst_qmllanguage::importsBuiltin_data()
<< "import com.nokia.Test 1.11\n"
"OldTest {}"
<< "TestType";
- QTest::newRow("no old in version 1.12")
- << "import com.nokia.Test 1.12\n"
- "OldTest {}"
- << "";
QTest::newRow("multiversion 1")
<< "import com.nokia.Test 1.11\n"
"import com.nokia.Test 1.12\n"
@@ -965,11 +977,6 @@ void tst_qmllanguage::importsBuiltin_data()
"import com.nokia.Test 1.8 as T8\n"
"T8.Test {}"
<< "TestType2";
- QTest::newRow("qualified multiversion 5")
- << "import com.nokia.Test 1.0 as T0\n"
- "import com.nokia.Test 1.10 as T10\n"
- "T10.Test {}"
- << "";
}
void tst_qmllanguage::importsBuiltin()
@@ -1045,9 +1052,17 @@ void tst_qmllanguage::importsInstalled_data()
"InstalledTest {}"
<< "QmlGraphicsRectangle";
QTest::newRow("installed import 2")
+ << "import com.nokia.installedtest 1.3\n"
+ "InstalledTest {}"
+ << "QmlGraphicsRectangle";
+ QTest::newRow("installed import 3")
<< "import com.nokia.installedtest 1.4\n"
"InstalledTest {}"
<< "QmlGraphicsText";
+ QTest::newRow("installed import 4")
+ << "import com.nokia.installedtest 1.10\n"
+ "InstalledTest {}"
+ << "QmlGraphicsText";
QTest::newRow("installed import visibility") // QT-614
<< "import com.nokia.installedtest 1.4\n"
"PrivateType {}"
diff --git a/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp b/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp
index 52c673f..d6e88b5 100644
--- a/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp
+++ b/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp
@@ -42,6 +42,8 @@
#include <QtDeclarative/qmlengine.h>
#include <QtDeclarative/qmlcomponent.h>
#include <QtDeclarative/qmlmetaproperty.h>
+#include <private/qguard_p.h>
+#include <QtDeclarative/qmlbinding.h>
#include <QtGui/QLineEdit>
class MyQmlObject : public QObject
@@ -52,7 +54,7 @@ public:
};
QML_DECLARE_TYPE(MyQmlObject);
-QML_DEFINE_TYPE(Test,1,0,0,MyQmlObject,MyQmlObject);
+QML_DEFINE_TYPE(Test,1,0,MyQmlObject,MyQmlObject);
class MyContainer : public QObject
{
@@ -71,15 +73,29 @@ private:
};
QML_DECLARE_TYPE(MyContainer);
-QML_DEFINE_TYPE(Test,1,0,0,MyContainer,MyContainer);
+QML_DEFINE_TYPE(Test,1,0,MyContainer,MyContainer);
-class tst_QmlMetaProperty : public QObject
+class tst_qmlmetaproperty : public QObject
{
Q_OBJECT
public:
- tst_QmlMetaProperty() {}
+ tst_qmlmetaproperty() {}
private slots:
+
+ // Constructors
+ void qmlmetaproperty();
+ void qmlmetaproperty_object();
+ void qmlmetaproperty_object_string();
+ void qmlmetaproperty_object_context();
+ void qmlmetaproperty_object_string_context();
+
+ // Methods
+ void name();
+ void read();
+ void write();
+
+ // Functionality
void writeObjectToList();
void writeListToList();
void writeObjectToQmlList();
@@ -90,7 +106,799 @@ private:
QmlEngine engine;
};
-void tst_QmlMetaProperty::writeObjectToList()
+void tst_qmlmetaproperty::qmlmetaproperty()
+{
+ QmlMetaProperty prop;
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString());
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Invalid);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), false);
+ QCOMPARE(prop.object(), (QObject *)0);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QVERIFY(prop.property().name() == 0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), -1);
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+}
+
+class PropertyObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int defaultProperty READ defaultProperty);
+ Q_PROPERTY(QRect rectProperty READ rectProperty);
+ Q_PROPERTY(QRect wrectProperty READ wrectProperty WRITE setWRectProperty);
+ Q_PROPERTY(QUrl url READ url WRITE setUrl);
+
+ Q_CLASSINFO("DefaultProperty", "defaultProperty");
+public:
+ int defaultProperty() { return 10; }
+ QRect rectProperty() { return QRect(10, 10, 1, 209); }
+
+ QRect wrectProperty() { return m_rect; }
+ void setWRectProperty(const QRect &r) { m_rect = r; }
+
+ QUrl url() { return m_url; }
+ void setUrl(const QUrl &u) { m_url = u; }
+
+signals:
+ void clicked();
+
+private:
+ QRect m_rect;
+ QUrl m_url;
+};
+
+void tst_qmlmetaproperty::qmlmetaproperty_object()
+{
+ QObject object; // Has no default property
+ PropertyObject dobject; // Has default property
+
+ {
+ QmlMetaProperty prop(&object);
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString());
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Invalid);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), false);
+ QCOMPARE(prop.object(), (QObject *)0);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QVERIFY(prop.property().name() == 0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), -1);
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+
+ {
+ QmlMetaProperty prop(&dobject);
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ binding->setTarget(prop);
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString("defaultProperty"));
+ QCOMPARE(prop.read(), QVariant(10));
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), true);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), (QmlMetaProperty::Type)(QmlMetaProperty::Property | QmlMetaProperty::Default));
+ QCOMPARE(prop.isProperty(), true);
+ QCOMPARE(prop.isDefault(), true);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), true);
+ QCOMPARE(prop.isValid(), true);
+ QCOMPARE(prop.object(), &dobject);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::Normal);
+ QCOMPARE(prop.propertyType(), (int)QVariant::Int);
+ QCOMPARE(prop.propertyTypeName(), "int");
+ QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
+ QVERIFY(prop.binding() == 0);
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>:-1: Unable to assign null to int");
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding != 0);
+ QVERIFY(prop.binding() == binding);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), dobject.metaObject()->indexOfProperty("defaultProperty"));
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+}
+
+void tst_qmlmetaproperty::qmlmetaproperty_object_string()
+{
+ QObject object;
+ PropertyObject dobject;
+
+ {
+ QmlMetaProperty prop(&object, QString("defaultProperty"));
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString());
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Invalid);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), false);
+ QCOMPARE(prop.object(), (QObject *)0);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QVERIFY(prop.property().name() == 0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), -1);
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+
+ {
+ QmlMetaProperty prop(&dobject, QString("defaultProperty"));
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ binding->setTarget(prop);
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString("defaultProperty"));
+ QCOMPARE(prop.read(), QVariant(10));
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), true);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Property);
+ QCOMPARE(prop.isProperty(), true);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), true);
+ QCOMPARE(prop.isValid(), true);
+ QCOMPARE(prop.object(), &dobject);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::Normal);
+ QCOMPARE(prop.propertyType(), (int)QVariant::Int);
+ QCOMPARE(prop.propertyTypeName(), "int");
+ QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
+ QVERIFY(prop.binding() == 0);
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>:-1: Unable to assign null to int");
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding != 0);
+ QVERIFY(prop.binding() == binding);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), dobject.metaObject()->indexOfProperty("defaultProperty"));
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+
+ {
+ QmlMetaProperty prop(&dobject, QString("onClicked"));
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ binding->setTarget(prop);
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString("onClicked"));
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant("Hello")), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QCOMPARE(QString(prop.method().signature()), QString("clicked()"));
+ QCOMPARE(prop.type(), QmlMetaProperty::SignalProperty);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), true);
+ QCOMPARE(prop.object(), &dobject);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QCOMPARE(prop.property().name(), (const char *)0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression != 0);
+ QVERIFY(prop.signalExpression() == expression);
+ QCOMPARE(prop.coreIndex(), dobject.metaObject()->indexOfMethod("clicked()"));
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+}
+
+void tst_qmlmetaproperty::qmlmetaproperty_object_context()
+{
+ QObject object; // Has no default property
+ PropertyObject dobject; // Has default property
+
+ {
+ QmlMetaProperty prop(&object, engine.rootContext());
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString());
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Invalid);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), false);
+ QCOMPARE(prop.object(), (QObject *)0);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QVERIFY(prop.property().name() == 0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), -1);
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+
+ {
+ QmlMetaProperty prop(&dobject, engine.rootContext());
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ binding->setTarget(prop);
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString("defaultProperty"));
+ QCOMPARE(prop.read(), QVariant(10));
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), true);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), (QmlMetaProperty::Type)(QmlMetaProperty::Property | QmlMetaProperty::Default));
+ QCOMPARE(prop.isProperty(), true);
+ QCOMPARE(prop.isDefault(), true);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), true);
+ QCOMPARE(prop.isValid(), true);
+ QCOMPARE(prop.object(), &dobject);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::Normal);
+ QCOMPARE(prop.propertyType(), (int)QVariant::Int);
+ QCOMPARE(prop.propertyTypeName(), "int");
+ QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
+ QVERIFY(prop.binding() == 0);
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>:-1: Unable to assign null to int");
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding != 0);
+ QVERIFY(prop.binding() == binding);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), dobject.metaObject()->indexOfProperty("defaultProperty"));
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+}
+
+void tst_qmlmetaproperty::qmlmetaproperty_object_string_context()
+{
+ QObject object;
+ PropertyObject dobject;
+
+ {
+ QmlMetaProperty prop(&object, QString("defaultProperty"), engine.rootContext());
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString());
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Invalid);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), false);
+ QCOMPARE(prop.object(), (QObject *)0);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QVERIFY(prop.property().name() == 0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), -1);
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+
+ {
+ QmlMetaProperty prop(&dobject, QString("defaultProperty"), engine.rootContext());
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ binding->setTarget(prop);
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString("defaultProperty"));
+ QCOMPARE(prop.read(), QVariant(10));
+ QCOMPARE(prop.write(QVariant()), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), true);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QVERIFY(prop.method().signature() == 0);
+ QCOMPARE(prop.type(), QmlMetaProperty::Property);
+ QCOMPARE(prop.isProperty(), true);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), true);
+ QCOMPARE(prop.isValid(), true);
+ QCOMPARE(prop.object(), &dobject);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::Normal);
+ QCOMPARE(prop.propertyType(), (int)QVariant::Int);
+ QCOMPARE(prop.propertyTypeName(), "int");
+ QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
+ QVERIFY(prop.binding() == 0);
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>:-1: Unable to assign null to int");
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding != 0);
+ QVERIFY(prop.binding() == binding);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression == 0);
+ QCOMPARE(prop.coreIndex(), dobject.metaObject()->indexOfProperty("defaultProperty"));
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+
+ {
+ QmlMetaProperty prop(&dobject, QString("onClicked"), engine.rootContext());
+
+ QGuard<QmlBinding> binding(new QmlBinding(QString(), 0, 0));
+ binding->setTarget(prop);
+ QVERIFY(binding != 0);
+ QGuard<QmlExpression> expression(new QmlExpression());
+ QVERIFY(expression != 0);
+
+ QObject *obj = new QObject;
+
+ QCOMPARE(prop.name(), QString("onClicked"));
+ QCOMPARE(prop.read(), QVariant());
+ QCOMPARE(prop.write(QVariant("Hello")), false);
+ QCOMPARE(prop.hasChangedNotifier(), false);
+ QCOMPARE(prop.needsChangedNotifier(), false);
+ QCOMPARE(prop.connectNotifier(0, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, SLOT(deleteLater())), false);
+ QCOMPARE(prop.connectNotifier(obj, 0), false);
+ QCOMPARE(prop.connectNotifier(0, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, obj->metaObject()->indexOfMethod("deleteLater()")), false);
+ QCOMPARE(prop.connectNotifier(obj, -1), false);
+ QCOMPARE(QString(prop.method().signature()), QString("clicked()"));
+ QCOMPARE(prop.type(), QmlMetaProperty::SignalProperty);
+ QCOMPARE(prop.isProperty(), false);
+ QCOMPARE(prop.isDefault(), false);
+ QCOMPARE(prop.isWritable(), false);
+ QCOMPARE(prop.isDesignable(), false);
+ QCOMPARE(prop.isValid(), true);
+ QCOMPARE(prop.object(), &dobject);
+ QCOMPARE(prop.propertyCategory(), QmlMetaProperty::InvalidProperty);
+ QCOMPARE(prop.propertyType(), 0);
+ QCOMPARE(prop.propertyTypeName(), (const char *)0);
+ QCOMPARE(prop.property().name(), (const char *)0);
+ QVERIFY(prop.binding() == 0);
+ QVERIFY(prop.setBinding(binding) == 0);
+ QVERIFY(binding == 0);
+ QVERIFY(prop.signalExpression() == 0);
+ QVERIFY(prop.setSignalExpression(expression) == 0);
+ QVERIFY(expression != 0);
+ QVERIFY(prop.signalExpression() == expression);
+ QCOMPARE(prop.coreIndex(), dobject.metaObject()->indexOfMethod("clicked()"));
+ QCOMPARE(prop.valueTypeCoreIndex(), -1);
+
+ delete obj;
+ }
+}
+
+void tst_qmlmetaproperty::name()
+{
+ {
+ QmlMetaProperty p;
+ QCOMPARE(p.name(), QString());
+ }
+
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o);
+ QCOMPARE(p.name(), QString("defaultProperty"));
+ }
+
+ {
+ QObject o;
+ QmlMetaProperty p(&o, QString("objectName"));
+ QCOMPARE(p.name(), QString("objectName"));
+ }
+
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, "onClicked");
+ QCOMPARE(p.name(), QString("onClicked"));
+ }
+
+ {
+ QObject o;
+ QmlMetaProperty p(&o, "onClicked");
+ QCOMPARE(p.name(), QString());
+ }
+
+ {
+ QObject o;
+ QmlMetaProperty p(&o, "foo");
+ QCOMPARE(p.name(), QString());
+ }
+
+ {
+ QmlMetaProperty p(0, "foo");
+ QCOMPARE(p.name(), QString());
+ }
+
+ {
+ PropertyObject o;
+ QmlMetaProperty p = QmlMetaProperty::createProperty(&o, "rectProperty");
+ QCOMPARE(p.name(), QString("rectProperty"));
+ }
+
+ {
+ PropertyObject o;
+ QmlMetaProperty p = QmlMetaProperty::createProperty(&o, "rectProperty.x");
+ QCOMPARE(p.name(), QString("rectProperty.x"));
+ }
+
+ {
+ PropertyObject o;
+ QmlMetaProperty p = QmlMetaProperty::createProperty(&o, "rectProperty.foo");
+ QCOMPARE(p.name(), QString());
+ }
+}
+
+void tst_qmlmetaproperty::read()
+{
+ // Invalid
+ {
+ QmlMetaProperty p;
+ QCOMPARE(p.read(), QVariant());
+ }
+
+ // Default prop
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o);
+ QCOMPARE(p.read(), QVariant(10));
+ }
+
+ // Invalid default prop
+ {
+ QObject o;
+ QmlMetaProperty p(&o);
+ QCOMPARE(p.read(), QVariant());
+ }
+
+ // Value prop by name
+ {
+ QObject o;
+
+ QmlMetaProperty p(&o, "objectName");
+ QCOMPARE(p.read(), QVariant(QString()));
+
+ o.setObjectName("myName");
+
+ QCOMPARE(p.read(), QVariant("myName"));
+ }
+
+ // Value-type prop
+ {
+ PropertyObject o;
+ QmlMetaProperty p = QmlMetaProperty::createProperty(&o, "rectProperty.x");
+ QCOMPARE(p.read(), QVariant(10));
+ }
+
+ // Invalid value-type prop
+ {
+ PropertyObject o;
+ QmlMetaProperty p = QmlMetaProperty::createProperty(&o, "rectProperty.foo");
+ QCOMPARE(p.read(), QVariant());
+ }
+
+ // Signal property
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, "onClicked");
+ QCOMPARE(p.read(), QVariant());
+
+ QVERIFY(0 == p.setSignalExpression(new QmlExpression()));
+ QVERIFY(0 != p.signalExpression());
+
+ QCOMPARE(p.read(), QVariant());
+ }
+
+ // Deleted object
+ {
+ PropertyObject *o = new PropertyObject;
+ QmlMetaProperty p = QmlMetaProperty::createProperty(o, "rectProperty.x");
+ QCOMPARE(p.read(), QVariant(10));
+ delete o;
+ QCOMPARE(p.read(), QVariant());
+ }
+}
+
+void tst_qmlmetaproperty::write()
+{
+ // Invalid
+ {
+ QmlMetaProperty p;
+ QCOMPARE(p.write(QVariant(10)), false);
+ }
+
+ // Read-only default prop
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o);
+ QCOMPARE(p.write(QVariant(10)), false);
+ }
+
+ // Invalid default prop
+ {
+ QObject o;
+ QmlMetaProperty p(&o);
+ QCOMPARE(p.write(QVariant(10)), false);
+ }
+
+ // Read-only prop by name
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, QString("defaultProperty"));
+ QCOMPARE(p.write(QVariant(10)), false);
+ }
+
+ // Writable prop by name
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, QString("objectName"));
+ QCOMPARE(o.objectName(), QString());
+ QCOMPARE(p.write(QVariant(QString("myName"))), true);
+ QCOMPARE(o.objectName(), QString("myName"));
+ }
+
+ // Deleted object
+ {
+ PropertyObject *o = new PropertyObject;
+ QmlMetaProperty p(o, QString("objectName"));
+ QCOMPARE(p.write(QVariant(QString("myName"))), true);
+ QCOMPARE(o->objectName(), QString("myName"));
+
+ delete o;
+
+ QCOMPARE(p.write(QVariant(QString("myName"))), false);
+ }
+
+ // Signal property
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, "onClicked");
+ QCOMPARE(p.write(QVariant("print(1921)")), false);
+
+ QVERIFY(0 == p.setSignalExpression(new QmlExpression()));
+ QVERIFY(0 != p.signalExpression());
+
+ QCOMPARE(p.write(QVariant("print(1921)")), false);
+
+ QVERIFY(0 != p.signalExpression());
+ }
+
+ // Value-type property
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, "wrectProperty");
+
+ QCOMPARE(o.wrectProperty(), QRect());
+ QCOMPARE(p.write(QRect(1, 13, 99, 8)), true);
+ QCOMPARE(o.wrectProperty(), QRect(1, 13, 99, 8));
+
+ QmlMetaProperty p2 = QmlMetaProperty::createProperty(&o, "wrectProperty.x");
+ QCOMPARE(p2.read(), QVariant(1));
+ QCOMPARE(p2.write(QVariant(6)), true);
+ QCOMPARE(p2.read(), QVariant(6));
+ QCOMPARE(o.wrectProperty(), QRect(6, 13, 99, 8));
+ }
+
+ // URL-property
+ {
+ PropertyObject o;
+ QmlMetaProperty p(&o, "url");
+
+ QCOMPARE(p.write(QUrl("main.qml")), true);
+ QCOMPARE(o.url(), QUrl("main.qml"));
+
+ QmlMetaProperty p2(&o, "url", engine.rootContext());
+
+ QUrl result = engine.baseUrl().resolved(QUrl("main.qml"));
+ QVERIFY(result != QUrl("main.qml"));
+
+ QCOMPARE(p2.write(QUrl("main.qml")), true);
+ QCOMPARE(o.url(), result);
+ }
+}
+
+void tst_qmlmetaproperty::writeObjectToList()
{
QmlComponent containerComponent(&engine, "import Test 1.0\nMyContainer { children: MyQmlObject {} }", QUrl());
MyContainer *container = qobject_cast<MyContainer*>(containerComponent.create());
@@ -105,7 +913,7 @@ void tst_QmlMetaProperty::writeObjectToList()
}
Q_DECLARE_METATYPE(QList<QObject *>);
-void tst_QmlMetaProperty::writeListToList()
+void tst_qmlmetaproperty::writeListToList()
{
QmlComponent containerComponent(&engine, "import Test 1.0\nMyContainer { children: MyQmlObject {} }", QUrl());
MyContainer *container = qobject_cast<MyContainer*>(containerComponent.create());
@@ -125,7 +933,7 @@ void tst_QmlMetaProperty::writeListToList()
QCOMPARE(container->children()->size(), 1);*/
}
-void tst_QmlMetaProperty::writeObjectToQmlList()
+void tst_qmlmetaproperty::writeObjectToQmlList()
{
QmlComponent containerComponent(&engine, "import Test 1.0\nMyContainer { qmlChildren: MyQmlObject {} }", QUrl());
MyContainer *container = qobject_cast<MyContainer*>(containerComponent.create());
@@ -139,6 +947,6 @@ void tst_QmlMetaProperty::writeObjectToQmlList()
QCOMPARE(container->qmlChildren()->at(1), object);
}
-QTEST_MAIN(tst_QmlMetaProperty)
+QTEST_MAIN(tst_qmlmetaproperty)
#include "tst_qmlmetaproperty.moc"
diff --git a/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp b/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp
index 9be77e8..ece6030 100644
--- a/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp
+++ b/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp
@@ -95,13 +95,15 @@ void tst_QmlPropertyMap::operatorValue()
QmlPropertyMap map;
map.insert(QLatin1String("key1"),100);
map.insert(QLatin1String("key2"),200);
- QVERIFY(map.keys().count() == 2);
+ QVERIFY(map.count() == 2);
QVERIFY(map.contains(QLatin1String("key1")));
- QCOMPARE(map.value(QLatin1String("key1")), QVariant(100));
- QCOMPARE(map.value(QLatin1String("key2")), QVariant(200));
- QCOMPARE(map[QLatin1String("key1")], map.value(QLatin1String("key1")));
- QCOMPARE(map[QLatin1String("key2")], map.value(QLatin1String("key2")));
+ const QmlPropertyMap &constMap = map;
+
+ QCOMPARE(constMap.value(QLatin1String("key1")), QVariant(100));
+ QCOMPARE(constMap.value(QLatin1String("key2")), QVariant(200));
+ QCOMPARE(constMap[QLatin1String("key1")], constMap.value(QLatin1String("key1")));
+ QCOMPARE(constMap[QLatin1String("key2")], constMap.value(QLatin1String("key2")));
}
void tst_QmlPropertyMap::clear()
diff --git a/tests/auto/declarative/qmlxmllistmodel/data/model2.qml b/tests/auto/declarative/qmlxmllistmodel/data/model2.qml
new file mode 100644
index 0000000..140e0ad
--- /dev/null
+++ b/tests/auto/declarative/qmlxmllistmodel/data/model2.qml
@@ -0,0 +1,11 @@
+import Qt 4.6
+
+XmlListModel {
+ source: "model.xml"
+ query: "/Pets/Pet"
+ XmlRole { name: "name"; query: "name/string()" }
+ XmlRole { name: "type"; query: "type/string()" }
+ XmlRole { name: "age"; query: "age/number()" }
+ XmlRole { name: "size"; query: "size/string()" }
+ XmlRole { name: "tricks"; query: "tricks/string()" }
+}
diff --git a/tests/auto/declarative/states/tst_states.cpp b/tests/auto/declarative/states/tst_states.cpp
index a215ed8..f67c737 100644
--- a/tests/auto/declarative/states/tst_states.cpp
+++ b/tests/auto/declarative/states/tst_states.cpp
@@ -317,7 +317,7 @@ Q_SIGNALS:
};
QML_DECLARE_TYPE(MyRect)
-QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyRectangle,MyRect);
+QML_DEFINE_TYPE(Qt.test, 1, 0, MyRectangle,MyRect);
void tst_states::signalOverride()
{
diff --git a/tests/auto/declarative/valuetypes/data/font_read.qml b/tests/auto/declarative/valuetypes/data/font_read.qml
new file mode 100644
index 0000000..e1d1ce0
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/font_read.qml
@@ -0,0 +1,18 @@
+import Test 1.0
+
+MyTypeObject {
+ property string f_family: font.family
+ property bool f_bold: font.bold
+ property int f_weight: font.weight
+ property bool f_italic: font.italic
+ property bool f_underline: font.underline
+ property bool f_overline: font.overline
+ property bool f_strikeout: font.strikeout
+ property real f_pointSize: font.pointSize
+ property int f_pixelSize: font.pixelSize
+ property int f_capitalization: font.capitalization
+ property real f_letterSpacing: font.letterSpacing
+ property real f_wordSpacing: font.wordSpacing;
+ property var copy: font
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/font_write.2.qml b/tests/auto/declarative/valuetypes/data/font_write.2.qml
new file mode 100644
index 0000000..b559389
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/font_write.2.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ font.pixelSize: 10
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/font_write.3.qml b/tests/auto/declarative/valuetypes/data/font_write.3.qml
new file mode 100644
index 0000000..913ac50
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/font_write.3.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ font.pixelSize: 10
+ font.pointSize: 19
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/font_write.qml b/tests/auto/declarative/valuetypes/data/font_write.qml
new file mode 100644
index 0000000..ff4d0a1
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/font_write.qml
@@ -0,0 +1,16 @@
+import Test 1.0
+
+MyTypeObject {
+ font.family: if(1) "Helvetica"
+ font.bold: if(1) false
+ font.weight: "Normal"
+ font.italic: if(1) false
+ font.underline: if(1) false
+ font.overline: if(1) false
+ font.strikeout: if(1) false
+ font.pointSize: if(1) 15
+ font.capitalization: "AllLowercase"
+ font.letterSpacing: if(1) 9.7
+ font.wordSpacing: if(1) 11.2
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/point_read.qml b/tests/auto/declarative/valuetypes/data/point_read.qml
new file mode 100644
index 0000000..3e67de6
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/point_read.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ property int p_x: point.x
+ property int p_y: point.y
+ property var copy: point
+}
diff --git a/tests/auto/declarative/valuetypes/data/point_write.qml b/tests/auto/declarative/valuetypes/data/point_write.qml
new file mode 100644
index 0000000..063525a
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/point_write.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ point.x: if (true) 11
+ point.y: if (true) 12
+}
diff --git a/tests/auto/declarative/valuetypes/data/pointf_read.qml b/tests/auto/declarative/valuetypes/data/pointf_read.qml
new file mode 100644
index 0000000..d845a5b
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/pointf_read.qml
@@ -0,0 +1,8 @@
+import Test 1.0
+
+MyTypeObject {
+ property real p_x: pointf.x
+ property real p_y: pointf.y
+ property var copy: pointf
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/pointf_write.qml b/tests/auto/declarative/valuetypes/data/pointf_write.qml
new file mode 100644
index 0000000..9ee3fc1
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/pointf_write.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ pointf.x: if (true) 6.8
+ pointf.y: if (true) 9.3
+}
diff --git a/tests/auto/declarative/valuetypes/data/rect_read.qml b/tests/auto/declarative/valuetypes/data/rect_read.qml
new file mode 100644
index 0000000..5364431
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/rect_read.qml
@@ -0,0 +1,10 @@
+import Test 1.0
+
+MyTypeObject {
+ property int r_x: rect.x
+ property int r_y: rect.y
+ property int r_width: rect.width
+ property int r_height: rect.height
+ property var copy: rect
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/rect_write.qml b/tests/auto/declarative/valuetypes/data/rect_write.qml
new file mode 100644
index 0000000..8add453
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/rect_write.qml
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyTypeObject {
+ rect.x: if (true) 1234
+ rect.y: if (true) 7
+ rect.width: if (true) 56
+ rect.height: if (true) 63
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/rectf_read.qml b/tests/auto/declarative/valuetypes/data/rectf_read.qml
new file mode 100644
index 0000000..aeb9f41
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/rectf_read.qml
@@ -0,0 +1,10 @@
+import Test 1.0
+
+MyTypeObject {
+ property real r_x: rectf.x
+ property real r_y: rectf.y
+ property real r_width: rectf.width
+ property real r_height: rectf.height
+ property var copy: rectf
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/rectf_write.qml b/tests/auto/declarative/valuetypes/data/rectf_write.qml
new file mode 100644
index 0000000..1e6ff4f
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/rectf_write.qml
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyTypeObject {
+ rectf.x: if (true) 70.1
+ rectf.y: if (true) -113.2
+ rectf.width: if (true) 80924.8
+ rectf.height: if (true) 99.2
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/size_read.qml b/tests/auto/declarative/valuetypes/data/size_read.qml
new file mode 100644
index 0000000..86dba03
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/size_read.qml
@@ -0,0 +1,8 @@
+import Test 1.0
+
+MyTypeObject {
+ property int s_width: size.width
+ property int s_height: size.height
+ property var copy: size
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/size_write.qml b/tests/auto/declarative/valuetypes/data/size_write.qml
new file mode 100644
index 0000000..2f9d10e
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/size_write.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ size.width: if (true) 13
+ size.height: if (true) 88
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/sizef_read.qml b/tests/auto/declarative/valuetypes/data/sizef_read.qml
new file mode 100644
index 0000000..c6f34e4
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/sizef_read.qml
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyTypeObject {
+ property real s_width: sizef.width
+ property real s_height: sizef.height
+ property var copy: sizef
+}
+
+
diff --git a/tests/auto/declarative/valuetypes/data/sizef_write.qml b/tests/auto/declarative/valuetypes/data/sizef_write.qml
new file mode 100644
index 0000000..f16f0bd
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/sizef_write.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ sizef.width: if (true) 44.3
+ sizef.height: if (true) 92.8
+}
diff --git a/tests/auto/declarative/valuetypes/data/vector3d_read.qml b/tests/auto/declarative/valuetypes/data/vector3d_read.qml
new file mode 100644
index 0000000..abdf9f0
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/vector3d_read.qml
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyTypeObject {
+ property real v_x: vector.x
+ property real v_y: vector.y
+ property real v_z: vector.z
+ property var copy: vector
+}
+
diff --git a/tests/auto/declarative/valuetypes/data/vector3d_write.qml b/tests/auto/declarative/valuetypes/data/vector3d_write.qml
new file mode 100644
index 0000000..9c1bf76
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/data/vector3d_write.qml
@@ -0,0 +1,8 @@
+import Test 1.0
+
+MyTypeObject {
+ vector.x: if (true) -0.3
+ vector.y: if (true) -12.9
+ vector.z: if (true) 907.4
+}
+
diff --git a/src/declarative/extra/qmlgraphicsintegermodel_p.h b/tests/auto/declarative/valuetypes/testtypes.cpp
index 4055e01..d57afaf 100644
--- a/src/declarative/extra/qmlgraphicsintegermodel_p.h
+++ b/tests/auto/declarative/valuetypes/testtypes.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
+** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,49 +38,6 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+#include "testtypes.h"
-#ifndef QMLGRAPHICSINTMODEL_H
-#define QMLGRAPHICSINTMODEL_H
-
-#include <QtCore/QObject>
-#include <QtDeclarative/qml.h>
-#include <private/qlistmodelinterface_p.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-class QmlGraphicsIntegerModelPrivate;
-class Q_DECLARATIVE_EXPORT QmlGraphicsIntegerModel : public QListModelInterface
-{
- Q_OBJECT
-public:
- QmlGraphicsIntegerModel(QObject *parent=0);
- ~QmlGraphicsIntegerModel();
-
- Q_PROPERTY(int minimum READ minimum WRITE setMinimum)
- int minimum() const;
- void setMinimum(int);
-
- Q_PROPERTY(int maximum READ maximum WRITE setMaximum)
- int maximum() const;
- void setMaximum(int);
-
- int count() const;
- QHash<int, QVariant> data(int index, const QList<int> &roles) const;
- QList<int> roles() const;
- QString toString(int role) const;
-
-private:
- QmlGraphicsIntegerModelPrivate *d;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QmlGraphicsIntegerModel)
-
-QT_END_HEADER
-
-#endif
+QML_DEFINE_TYPE(Test, 1, 0, 0, MyTypeObject, MyTypeObject);
diff --git a/tests/auto/declarative/valuetypes/testtypes.h b/tests/auto/declarative/valuetypes/testtypes.h
new file mode 100644
index 0000000..cc98d7c
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/testtypes.h
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 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 TESTTYPES_H
+#define TESTTYPES_H
+
+#include <QObject>
+#include <QPoint>
+#include <QPointF>
+#include <QSize>
+#include <QSizeF>
+#include <QRect>
+#include <QRectF>
+#include <QVector3D>
+#include <QFont>
+#include <qml.h>
+
+class MyTypeObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QPoint point READ point WRITE setPoint NOTIFY changed);
+ Q_PROPERTY(QPointF pointf READ pointf WRITE setPointf NOTIFY changed);
+ Q_PROPERTY(QSize size READ size WRITE setSize NOTIFY changed);
+ Q_PROPERTY(QSizeF sizef READ sizef WRITE setSizef NOTIFY changed);
+ Q_PROPERTY(QRect rect READ rect WRITE setRect NOTIFY changed);
+ Q_PROPERTY(QRectF rectf READ rectf WRITE setRectf NOTIFY changed);
+ Q_PROPERTY(QVector3D vector READ vector WRITE setVector NOTIFY changed);
+ Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY changed);
+
+public:
+ MyTypeObject() :
+ m_point(10, 4),
+ m_pointf(11.3, -10.9),
+ m_size(1912, 1913),
+ m_sizef(0.1, 100923.2),
+ m_rect(2, 3, 109, 102),
+ m_rectf(103.8, 99.2, 88.1, 77.6),
+ m_vector(23.88, 3.1, 4.3)
+ {
+ m_font.setFamily("Arial");
+ m_font.setBold(true);
+ m_font.setWeight(QFont::DemiBold);
+ m_font.setItalic(true);
+ m_font.setUnderline(true);
+ m_font.setOverline(true);
+ m_font.setStrikeOut(true);
+ m_font.setPointSize(29);
+ m_font.setCapitalization(QFont::AllUppercase);
+ m_font.setLetterSpacing(QFont::AbsoluteSpacing, 10.2);
+ m_font.setWordSpacing(19.7);
+ }
+
+ QPoint m_point;
+ QPoint point() const { return m_point; }
+ void setPoint(const QPoint &v) { m_point = v; }
+
+ QPointF m_pointf;
+ QPointF pointf() const { return m_pointf; }
+ void setPointf(const QPointF &v) { m_pointf = v; }
+
+ QSize m_size;
+ QSize size() const { return m_size; }
+ void setSize(const QSize &v) { m_size = v; }
+
+ QSizeF m_sizef;
+ QSizeF sizef() const { return m_sizef; }
+ void setSizef(const QSizeF &v) { m_sizef = v; }
+
+ QRect m_rect;
+ QRect rect() const { return m_rect; }
+ void setRect(const QRect &v) { m_rect = v; }
+
+ QRectF m_rectf;
+ QRectF rectf() const { return m_rectf; }
+ void setRectf(const QRectF &v) { m_rectf = v; }
+
+ QVector3D m_vector;
+ QVector3D vector() const { return m_vector; }
+ void setVector(const QVector3D &v) { m_vector = v; }
+
+ QFont m_font;
+ QFont font() const { return m_font; }
+ void setFont(const QFont &v) { m_font = v; }
+
+signals:
+ void changed();
+};
+QML_DECLARE_TYPE(MyTypeObject);
+
+#endif // TESTTYPES_H
diff --git a/tests/auto/declarative/valuetypes/tst_valuetypes.cpp b/tests/auto/declarative/valuetypes/tst_valuetypes.cpp
new file mode 100644
index 0000000..a338e47
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/tst_valuetypes.cpp
@@ -0,0 +1,330 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 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 <qtest.h>
+#include <QmlEngine>
+#include <QmlComponent>
+#include <QDebug>
+#include "testtypes.h"
+
+class tst_valuetypes : public QObject
+{
+ Q_OBJECT
+public:
+ tst_valuetypes() {}
+
+private slots:
+ void point();
+ void pointf();
+ void size();
+ void sizef();
+ void rect();
+ void rectf();
+ void vector3d();
+ void font();
+
+ // ###
+ // Test binding assignment
+ // Test static assignment
+ // Test JS assignment
+ // Test "font.x: blah; font: blah2;" conflict
+ // Test constant binding removal
+ // Test value sources
+ // Test behaviours
+private:
+ QmlEngine engine;
+};
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
+}
+
+void tst_valuetypes::point()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("point_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("p_x").toInt(), 10);
+ QCOMPARE(object->property("p_y").toInt(), 4);
+ QCOMPARE(object->property("copy"), QVariant(QPoint(10, 4)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("point_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->point(), QPoint(11, 12));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::pointf()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("pointf_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("p_x").toDouble(), 11.3);
+ QCOMPARE(object->property("p_y").toDouble(), -10.9);
+ QCOMPARE(object->property("copy"), QVariant(QPointF(11.3, -10.9)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("pointf_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->pointf(), QPointF(6.8, 9.3));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::size()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("size_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("s_width").toInt(), 1912);
+ QCOMPARE(object->property("s_height").toInt(), 1913);
+ QCOMPARE(object->property("copy"), QVariant(QSize(1912, 1913)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("size_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->size(), QSize(13, 88));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::sizef()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("sizef_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("s_width").toDouble(), 0.1);
+ QCOMPARE(object->property("s_height").toDouble(), 100923.2);
+ QCOMPARE(object->property("copy"), QVariant(QSizeF(0.1, 100923.2)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("sizef_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->sizef(), QSizeF(44.3, 92.8));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::rect()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("rect_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("r_x").toInt(), 2);
+ QCOMPARE(object->property("r_y").toInt(), 3);
+ QCOMPARE(object->property("r_width").toInt(), 109);
+ QCOMPARE(object->property("r_height").toInt(), 102);
+ QCOMPARE(object->property("copy"), QVariant(QRect(2, 3, 109, 102)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("rect_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->rect(), QRect(1234, 7, 56, 63));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::rectf()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("rectf_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("r_x").toDouble(), 103.8);
+ QCOMPARE(object->property("r_y").toDouble(), 99.2);
+ QCOMPARE(object->property("r_width").toDouble(), 88.1);
+ QCOMPARE(object->property("r_height").toDouble(), 77.6);
+ QCOMPARE(object->property("copy"), QVariant(QRectF(103.8, 99.2, 88.1, 77.6)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("rectf_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->rectf(), QRectF(70.1, -113.2, 80924.8, 99.2));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::vector3d()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("vector3d_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE((float)object->property("v_x").toDouble(), (float)23.88);
+ QCOMPARE((float)object->property("v_y").toDouble(), (float)3.1);
+ QCOMPARE((float)object->property("v_z").toDouble(), (float)4.3);
+ QCOMPARE(object->property("copy"), QVariant(QVector3D(23.88, 3.1, 4.3)));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("vector3d_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->vector(), QVector3D(-0.3, -12.9, 907.4));
+
+ delete object;
+ }
+}
+
+void tst_valuetypes::font()
+{
+ {
+ QmlComponent component(&engine, TEST_FILE("font_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("f_family").toString(), object->font().family());
+ QCOMPARE(object->property("f_bold").toBool(), object->font().bold());
+ QCOMPARE(object->property("f_weight").toInt(), object->font().weight());
+ QCOMPARE(object->property("f_italic").toBool(), object->font().italic());
+ QCOMPARE(object->property("f_underline").toBool(), object->font().underline());
+ QCOMPARE(object->property("f_overline").toBool(), object->font().overline());
+ QCOMPARE(object->property("f_strikeout").toBool(), object->font().strikeOut());
+ QCOMPARE(object->property("f_pointSize").toDouble(), object->font().pointSizeF());
+ QCOMPARE(object->property("f_pixelSize").toInt(), object->font().pixelSize());
+ QCOMPARE(object->property("f_capitalization").toInt(), (int)object->font().capitalization());
+ QCOMPARE(object->property("f_letterSpacing").toDouble(), object->font().letterSpacing());
+ QCOMPARE(object->property("f_wordSpacing").toDouble(), object->font().wordSpacing());
+
+ QCOMPARE(object->property("copy"), QVariant(object->font()));
+
+ delete object;
+ }
+
+ {
+ QmlComponent component(&engine, TEST_FILE("font_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QFont font;
+ font.setFamily("Helvetica");
+ font.setBold(false);
+ font.setWeight(QFont::Normal);
+ font.setItalic(false);
+ font.setUnderline(false);
+ font.setStrikeOut(false);
+ font.setPointSize(15);
+ font.setCapitalization(QFont::AllLowercase);
+ font.setLetterSpacing(QFont::AbsoluteSpacing, 9.7);
+ font.setWordSpacing(11.2);
+
+ QCOMPARE(object->font(), font);
+
+ delete object;
+ }
+
+ // Test pixelSize
+ {
+ QmlComponent component(&engine, TEST_FILE("font_write.2.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->font().pixelSize(), 10);
+ }
+
+ // Test pixelSize and pointSize
+ {
+ QmlComponent component(&engine, TEST_FILE("font_write.3.qml"));
+ QTest::ignoreMessage(QtWarningMsg, "Both point size and pixel size set. Using pixel size. ");
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->font().pixelSize(), 10);
+ }
+}
+
+QTEST_MAIN(tst_valuetypes)
+
+#include "tst_valuetypes.moc"
diff --git a/tests/auto/declarative/valuetypes/valuetypes.pro b/tests/auto/declarative/valuetypes/valuetypes.pro
new file mode 100644
index 0000000..ae7c731
--- /dev/null
+++ b/tests/auto/declarative/valuetypes/valuetypes.pro
@@ -0,0 +1,10 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+macx:CONFIG -= app_bundle
+
+HEADERS += testtypes.h
+
+SOURCES += tst_valuetypes.cpp \
+ testtypes.cpp
+
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.0.png b/tests/auto/declarative/visual/focusscope/data-X11/test.0.png
index d0fb8a0..f68f7dc 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.0.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.1.png b/tests/auto/declarative/visual/focusscope/data-X11/test.1.png
index d0fb8a0..f68f7dc 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.1.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.2.png b/tests/auto/declarative/visual/focusscope/data-X11/test.2.png
index f25f27c..e26c028 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.2.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.3.png b/tests/auto/declarative/visual/focusscope/data-X11/test.3.png
index 74a9b3f..9c4b2f2 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.3.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.4.png b/tests/auto/declarative/visual/focusscope/data-X11/test.4.png
index 74a9b3f..9c4b2f2 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.4.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.5.png b/tests/auto/declarative/visual/focusscope/data-X11/test.5.png
index 74a9b3f..9c4b2f2 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.5.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.qml b/tests/auto/declarative/visual/focusscope/data-X11/test.qml
index 5c66034..93189fa 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test.qml
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test.qml
@@ -6,239 +6,239 @@ VisualTest {
}
Frame {
msec: 16
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 32
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 48
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 64
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 80
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 96
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 112
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 128
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 144
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 160
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 176
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 192
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 208
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 224
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 240
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 256
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 272
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 288
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 304
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 320
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 336
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 352
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 368
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 384
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 400
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 416
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 432
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 448
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 464
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 480
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 496
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 512
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 528
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 544
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 560
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 576
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 592
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 608
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 624
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 640
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 656
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 672
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 688
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 704
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 720
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 736
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 752
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 768
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 784
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 800
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 816
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 832
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 848
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 864
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 880
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 896
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 912
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 928
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 944
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 960
@@ -246,75 +246,75 @@ VisualTest {
}
Frame {
msec: 976
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 992
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1008
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1024
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1040
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1056
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1072
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1088
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1104
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1120
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1136
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1152
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1168
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1184
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1200
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1216
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1232
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1248
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Key {
type: 6
@@ -326,23 +326,23 @@ VisualTest {
}
Frame {
msec: 1264
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1280
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1296
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1312
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1328
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Key {
type: 7
@@ -354,123 +354,123 @@ VisualTest {
}
Frame {
msec: 1344
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1360
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1376
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1392
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1408
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1424
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1440
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1456
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1472
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1488
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1504
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1520
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1536
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1552
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1568
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1584
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1600
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1616
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1632
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1648
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1664
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1680
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1696
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1712
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1728
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1744
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1760
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1776
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1792
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 1808
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Key {
type: 6
@@ -482,27 +482,27 @@ VisualTest {
}
Frame {
msec: 1824
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1840
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1856
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1872
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1888
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1904
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1920
@@ -510,11 +510,11 @@ VisualTest {
}
Frame {
msec: 1936
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1952
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Key {
type: 7
@@ -526,103 +526,103 @@ VisualTest {
}
Frame {
msec: 1968
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 1984
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2000
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2016
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2032
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2048
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2064
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2080
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2096
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2112
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2128
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2144
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2160
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2176
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2192
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2208
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2224
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2240
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2256
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2272
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2288
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2304
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2320
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2336
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 2352
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Key {
type: 6
@@ -634,31 +634,31 @@ VisualTest {
}
Frame {
msec: 2368
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2384
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2400
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2416
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2432
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2448
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2464
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Key {
type: 7
@@ -670,103 +670,103 @@ VisualTest {
}
Frame {
msec: 2480
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2496
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2512
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2528
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2544
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2560
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2576
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2592
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2608
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2624
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2640
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2656
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2672
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2688
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2704
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2720
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2736
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2752
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2768
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2784
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2800
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2816
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2832
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2848
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2864
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2880
@@ -774,27 +774,27 @@ VisualTest {
}
Frame {
msec: 2896
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2912
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2928
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2944
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2960
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 2976
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Key {
type: 6
@@ -806,31 +806,31 @@ VisualTest {
}
Frame {
msec: 2992
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3008
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3024
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3040
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3056
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3072
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3088
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Key {
type: 7
@@ -842,115 +842,115 @@ VisualTest {
}
Frame {
msec: 3104
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3120
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3136
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3152
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3168
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3184
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3200
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3216
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3232
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3248
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3264
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3280
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3296
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3312
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3328
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3344
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3360
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3376
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3392
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3408
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3424
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3440
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3456
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3472
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3488
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3504
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3520
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Frame {
msec: 3536
- hash: "e608f3483071562580bf492da25a4104"
+ hash: "cd2aced96da9032ddd5e2cacf27d045d"
}
Key {
type: 6
@@ -962,31 +962,31 @@ VisualTest {
}
Frame {
msec: 3552
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3568
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3584
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3600
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3616
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3632
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3648
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Key {
type: 7
@@ -998,47 +998,47 @@ VisualTest {
}
Frame {
msec: 3664
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3680
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3696
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3712
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3728
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3744
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3760
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3776
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3792
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3808
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3824
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3840
@@ -1046,87 +1046,87 @@ VisualTest {
}
Frame {
msec: 3856
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3872
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3888
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3904
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3920
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3936
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3952
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3968
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 3984
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4000
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4016
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4032
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4048
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4064
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4080
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4096
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4112
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4128
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4144
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4160
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4176
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Key {
type: 6
@@ -1138,27 +1138,27 @@ VisualTest {
}
Frame {
msec: 4192
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4208
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4224
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4240
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4256
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4272
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Key {
type: 7
@@ -1170,131 +1170,131 @@ VisualTest {
}
Frame {
msec: 4288
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4304
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4320
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4336
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4352
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4368
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4384
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4400
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4416
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4432
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4448
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4464
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4480
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4496
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4512
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4528
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4544
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4560
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4576
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4592
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4608
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4624
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4640
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4656
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4672
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4688
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4704
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4720
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4736
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4752
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4768
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Frame {
msec: 4784
- hash: "231a20ad55d5ba3be9baf46a80ec86f4"
+ hash: "9157e592069482e801a091aa69758d26"
}
Key {
type: 6
@@ -1310,27 +1310,27 @@ VisualTest {
}
Frame {
msec: 4816
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4832
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4848
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4864
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4880
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4896
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Key {
type: 7
@@ -1342,215 +1342,215 @@ VisualTest {
}
Frame {
msec: 4912
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4928
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4944
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4960
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4976
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 4992
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5008
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5024
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5040
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5056
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5072
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5088
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5104
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5120
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5136
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5152
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5168
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5184
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5200
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5216
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5232
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5248
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5264
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5280
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5296
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5312
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5328
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5344
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5360
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5376
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5392
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5408
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5424
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5440
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5456
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5472
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5488
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5504
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5520
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5536
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5552
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5568
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5584
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5600
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5616
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5632
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5648
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5664
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5680
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5696
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5712
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5728
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5744
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5760
@@ -1558,42 +1558,42 @@ VisualTest {
}
Frame {
msec: 5776
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5792
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Key {
type: 6
key: 16777249
- modifiers: 0
+ modifiers: 67108864
text: ""
autorep: false
count: 1
}
Frame {
msec: 5808
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5824
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5840
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5856
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5872
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
Frame {
msec: 5888
- hash: "383edfe8be8621d456162cc1cd88ae1a"
+ hash: "0de58b2460574baf17912e90ba8a89b2"
}
}
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png
index 2821112..5f93c67 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png
index d3aeb93..3b4e0e6 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png
index d7b647f..54a3934 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png
index 551efc8..4f08fd2 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png
index 5e59cbe..9aee1f8 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png
index 622c768..04eb05c 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png
index d7b647f..54a3934 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png
index d3aeb93..3b4e0e6 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png
index 891a10a..2df55df 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png
index c346260..91816fd 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.qml b/tests/auto/declarative/visual/focusscope/data-X11/test3.qml
index e7cb67c..b1f628f 100644
--- a/tests/auto/declarative/visual/focusscope/data-X11/test3.qml
+++ b/tests/auto/declarative/visual/focusscope/data-X11/test3.qml
@@ -6,151 +6,151 @@ VisualTest {
}
Frame {
msec: 16
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 32
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 48
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 64
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 80
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 96
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 112
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 128
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 144
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 160
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 176
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 192
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 208
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 224
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 240
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 256
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 272
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 288
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 304
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 320
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 336
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 352
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 368
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 384
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 400
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 416
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 432
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 448
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 464
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 480
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 496
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 512
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 528
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 544
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 560
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 576
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 592
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Key {
type: 6
@@ -162,27 +162,27 @@ VisualTest {
}
Frame {
msec: 608
- hash: "70404a8e19cee8dad4a7dc16b3b018e2"
+ hash: "ed71dfbe146870d1a0869d60c35ff9d7"
}
Frame {
msec: 624
- hash: "70404a8e19cee8dad4a7dc16b3b018e2"
+ hash: "ed71dfbe146870d1a0869d60c35ff9d7"
}
Frame {
msec: 640
- hash: "42ede0774612c5ce72bcb17c1f8c53fb"
+ hash: "34796cef9feb92f7f0e2e8d837d87d34"
}
Frame {
msec: 656
- hash: "acbf5d05e87e456b49636a8e533b8819"
+ hash: "64fa8f195b57077aa03ca264fec9554a"
}
Frame {
msec: 672
- hash: "1c3adf6475d5bbf23c83dda77614834f"
+ hash: "ae33318904415e937363787273ecb566"
}
Frame {
msec: 688
- hash: "b047088d7d135614c7de5d6b1fe6447c"
+ hash: "67c3e1c8c728e7677a3554aadd9795c9"
}
Key {
type: 7
@@ -194,67 +194,67 @@ VisualTest {
}
Frame {
msec: 704
- hash: "59393e79f5571c1b0b54ceb96c570afd"
+ hash: "1857db7aa9eefe429d50e5b2ad87064b"
}
Frame {
msec: 720
- hash: "2657a9db93dab4180ddf5a3d928fa83c"
+ hash: "507883a03bef0bc20755da1474731fdf"
}
Frame {
msec: 736
- hash: "bd012a5b982553780ef81ea273381988"
+ hash: "dafe7464394460e04d482c1f7a1e9ad0"
}
Frame {
msec: 752
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 768
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 784
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 800
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 816
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 832
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 848
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 864
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 880
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 896
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 912
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 928
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 944
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 960
@@ -262,35 +262,35 @@ VisualTest {
}
Frame {
msec: 976
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 992
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 1008
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 1024
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 1040
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 1056
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 1072
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 1088
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Key {
type: 6
@@ -302,35 +302,35 @@ VisualTest {
}
Frame {
msec: 1104
- hash: "3ba7daa96383cc7fcd2f3e15b9b46bea"
+ hash: "7fb8cb07b6bca30912706cec43984d92"
}
Frame {
msec: 1120
- hash: "3ba7daa96383cc7fcd2f3e15b9b46bea"
+ hash: "7fb8cb07b6bca30912706cec43984d92"
}
Frame {
msec: 1136
- hash: "c097e88ae5cea1203735aba2de753b35"
+ hash: "c1915978cda982f6062790b2a583211b"
}
Frame {
msec: 1152
- hash: "309058119191341625c797e14b1d68fd"
+ hash: "afdb50d740b3dc7be44021d826be4302"
}
Frame {
msec: 1168
- hash: "d2d44135892d56e556b6343e0d2177df"
+ hash: "4682717b9375b4b02a70378ddca30885"
}
Frame {
msec: 1184
- hash: "8f77166dfb871d1ad3c4b21e9626dcf8"
+ hash: "aede0eebb3948a4a764e255b892b09be"
}
Frame {
msec: 1200
- hash: "b6bd7476decc62d295414eea18f21ffb"
+ hash: "b42a147daec14a3da2548fd4de3a9a44"
}
Frame {
msec: 1216
- hash: "8ca06a6b2787a3e684b6a0614baf057f"
+ hash: "2ff70f916f78fe3c199eb96ceb44ce4e"
}
Key {
type: 7
@@ -342,79 +342,79 @@ VisualTest {
}
Frame {
msec: 1232
- hash: "119130d0bde37eb6038e4fbcea54d619"
+ hash: "707ac8e58d317b97113903b45a482f6b"
}
Frame {
msec: 1248
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1264
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1280
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1296
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1312
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1328
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1344
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1360
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1376
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1392
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1408
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1424
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1440
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1456
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1472
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1488
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1504
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 1520
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Key {
type: 6
@@ -426,35 +426,35 @@ VisualTest {
}
Frame {
msec: 1536
- hash: "d36e8e689b999046f5671cce03ec98b9"
+ hash: "91525556fe23764f58b3a3f38a29cd76"
}
Frame {
msec: 1552
- hash: "d36e8e689b999046f5671cce03ec98b9"
+ hash: "91525556fe23764f58b3a3f38a29cd76"
}
Frame {
msec: 1568
- hash: "1ae470df65b1637dfed5ed330bf6f2cc"
+ hash: "d1dc625bbf46fc51aaf47969ad27a8a4"
}
Frame {
msec: 1584
- hash: "fd98bff5f8c97cf0644aca6d205720b3"
+ hash: "7d868176c7a8363a79ef8b8f4da56867"
}
Frame {
msec: 1600
- hash: "6c97607356ec22d77da6170de94ed1b8"
+ hash: "d239e0b0e118d351680c6b4b2bc5d3b2"
}
Frame {
msec: 1616
- hash: "ee49691989ffada50e3b82df960ec1cb"
+ hash: "8f6d1640dbc655eb3b326c66fcb97d3c"
}
Frame {
msec: 1632
- hash: "fba046a966f5ebdc17a73c33fb2fb1af"
+ hash: "d52b623b8449d71734f72c7bd661a1c4"
}
Frame {
msec: 1648
- hash: "5031c1c466e14e7daf39be6af1a9c402"
+ hash: "f7c0c77f3b5ed71321edd6bc7b605512"
}
Key {
type: 7
@@ -466,67 +466,67 @@ VisualTest {
}
Frame {
msec: 1664
- hash: "508c31a76bbb9ae50ec44484ea889289"
+ hash: "8b26397ff1a83baa894f82594a12a190"
}
Frame {
msec: 1680
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1696
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1712
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1728
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1744
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1760
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1776
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1792
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1808
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1824
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1840
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1856
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1872
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1888
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1904
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1920
@@ -534,23 +534,23 @@ VisualTest {
}
Frame {
msec: 1936
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1952
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1968
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 1984
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 2000
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Key {
type: 6
@@ -562,35 +562,35 @@ VisualTest {
}
Frame {
msec: 2016
- hash: "c79134dc4b03885c0c2139e9f1949968"
+ hash: "f63308a7cd48a8cb4d413d17120f5a26"
}
Frame {
msec: 2032
- hash: "c79134dc4b03885c0c2139e9f1949968"
+ hash: "f63308a7cd48a8cb4d413d17120f5a26"
}
Frame {
msec: 2048
- hash: "6f29381e25034bcb9177033fdaf1ee4c"
+ hash: "2e97db8ed93524dc197e76cc2d270999"
}
Frame {
msec: 2064
- hash: "e9668338280735ed6cf1e71f02d28f04"
+ hash: "2b135d90684c0f94b8219c4b835b6da9"
}
Frame {
msec: 2080
- hash: "ecd5a887981d564c6e40c215ebb867d2"
+ hash: "c700a76932bb3bf72868b9e95d095db2"
}
Frame {
msec: 2096
- hash: "0960f7192633036319aa3500dbf38d2b"
+ hash: "08136d3c3de44ddab23d2d136ba1f310"
}
Frame {
msec: 2112
- hash: "22ececdfdd7eb5a8999df153de47c2e6"
+ hash: "de701d641e004b61a3c0609556f52fe0"
}
Frame {
msec: 2128
- hash: "f77abe52bd76bca4b728415c4dfd52dc"
+ hash: "4f7acd87f4de119ad88a53d2c9881037"
}
Key {
type: 7
@@ -602,99 +602,99 @@ VisualTest {
}
Frame {
msec: 2144
- hash: "6d19c9df56ed8037dd5a123945b6fea0"
+ hash: "deaf3c8a4680ef6f52cb4674a97e0767"
}
Frame {
msec: 2160
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2176
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2192
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2208
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2224
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2240
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2256
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2272
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2288
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2304
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2320
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2336
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2352
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2368
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2384
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2400
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2416
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2432
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2448
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2464
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2480
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2496
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 2512
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Key {
type: 6
@@ -706,27 +706,27 @@ VisualTest {
}
Frame {
msec: 2528
- hash: "3e0fa3d0d36a4ea51e9e89933d91e58a"
+ hash: "fe67b3a48a8a074377be64f619d5922a"
}
Frame {
msec: 2544
- hash: "3e0fa3d0d36a4ea51e9e89933d91e58a"
+ hash: "fe67b3a48a8a074377be64f619d5922a"
}
Frame {
msec: 2560
- hash: "eea826901b19fb3c7aff8594d8030acb"
+ hash: "088691f4f46f7a8c9a3b8ea766d9a437"
}
Frame {
msec: 2576
- hash: "a673c5dbc0b1b7bf585319a923db6478"
+ hash: "bd747ea04c3b36378374f8ea1031458f"
}
Frame {
msec: 2592
- hash: "c9fa9bdb8c8ad8c1144feb4a7f9ae96e"
+ hash: "2ebd0e3373eb75a3ad986e203952f78a"
}
Frame {
msec: 2608
- hash: "646601d0aabe76467c3317fb12e785e5"
+ hash: "b4d89e4f3aef9f351facd13bd83f3022"
}
Key {
type: 7
@@ -738,67 +738,67 @@ VisualTest {
}
Frame {
msec: 2624
- hash: "a88500a959cd4127528a74af4979d83a"
+ hash: "091de1bd1719e1fa6d914cf9708f4ac6"
}
Frame {
msec: 2640
- hash: "ab288556e0bff85a48be364ee7a61b18"
+ hash: "0097d8ed156cb0c78c48dfacc557cba8"
}
Frame {
msec: 2656
- hash: "db5d053fd16f3bd6e3048f1d7f123027"
+ hash: "faeb379e01283cb21ea695e96727918d"
}
Frame {
msec: 2672
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2688
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2704
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2720
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2736
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2752
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2768
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2784
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2800
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2816
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2832
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2848
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2864
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2880
@@ -806,27 +806,27 @@ VisualTest {
}
Frame {
msec: 2896
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2912
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2928
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2944
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2960
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 2976
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Key {
type: 6
@@ -838,39 +838,39 @@ VisualTest {
}
Frame {
msec: 2992
- hash: "dfc6df49c4340429529e88e877940158"
+ hash: "b00a29d67edc26e75f5298b2836d4e47"
}
Frame {
msec: 3008
- hash: "dfc6df49c4340429529e88e877940158"
+ hash: "b00a29d67edc26e75f5298b2836d4e47"
}
Frame {
msec: 3024
- hash: "e44644da7159bfde1a1cf6148d268c53"
+ hash: "6e47c87b5063877a609e8d23ddf2d314"
}
Frame {
msec: 3040
- hash: "f0045733c7f4e799c4ca49ec28c7c652"
+ hash: "06f147a69c3e903905376ef1229290bf"
}
Frame {
msec: 3056
- hash: "8b0ded24c343556849ea67d191c03a17"
+ hash: "5f02ff1a1207f17efd224ccc800b0057"
}
Frame {
msec: 3072
- hash: "0c50a579850c3eb43c4824bf7e8b1d12"
+ hash: "6c0860fdb216bb79fd2da4647792628d"
}
Frame {
msec: 3088
- hash: "747d2205db14cf72dc5989e92b8076ab"
+ hash: "eb579f67620adb762722428d44a1d841"
}
Frame {
msec: 3104
- hash: "a0a9196cb896eadf411cbcccaa069f10"
+ hash: "c579017a82e34a471a95f8a116a20b9e"
}
Frame {
msec: 3120
- hash: "c682ad7747f7245b4e213fc078d51e8f"
+ hash: "bb5c08ff104b230829579dfb8015bdcc"
}
Key {
type: 7
@@ -882,95 +882,95 @@ VisualTest {
}
Frame {
msec: 3136
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3152
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3168
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3184
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3200
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3216
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3232
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3248
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3264
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3280
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3296
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3312
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3328
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3344
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3360
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3376
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3392
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3408
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3424
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3440
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3456
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3472
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 3488
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Key {
type: 6
@@ -982,35 +982,35 @@ VisualTest {
}
Frame {
msec: 3504
- hash: "115b81c715a58e66c3d1f09bb03fe97f"
+ hash: "5aa664f268433f2724a1ab2cea1d6d25"
}
Frame {
msec: 3520
- hash: "115b81c715a58e66c3d1f09bb03fe97f"
+ hash: "5aa664f268433f2724a1ab2cea1d6d25"
}
Frame {
msec: 3536
- hash: "a994e45c41afe0a4ab7d65c27139f3d8"
+ hash: "9e4854fd0c533efa75aec7d9a8bc41dd"
}
Frame {
msec: 3552
- hash: "b02ecf8c3413752aa1d2bfa6e08184ca"
+ hash: "c4eee4eca804007dca6e6d9379cbfb1b"
}
Frame {
msec: 3568
- hash: "85ef0bedcb66676ca658068561d8df8e"
+ hash: "c59774f00d54c0353b41202a39fc0dbd"
}
Frame {
msec: 3584
- hash: "435bce6119a6542ce9ad743baa70ceb0"
+ hash: "910e6b5b05530c60874eee00df0d62cf"
}
Frame {
msec: 3600
- hash: "5918c9c068ca62795d7b97ac818d79d5"
+ hash: "5b606a7a697c6d53fbe42e33333f96cc"
}
Frame {
msec: 3616
- hash: "ff3ebc0c6f7eb39bbc10fad07b671d82"
+ hash: "e1fce42312e8a31d74add4a447dd3df9"
}
Key {
type: 7
@@ -1022,55 +1022,55 @@ VisualTest {
}
Frame {
msec: 3632
- hash: "0426b9666ccd84aa0d095e47a9379bd7"
+ hash: "6250cb9ea51309922cf0a6647593bfee"
}
Frame {
msec: 3648
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3664
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3680
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3696
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3712
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3728
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3744
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3760
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3776
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3792
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3808
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3824
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3840
@@ -1078,39 +1078,39 @@ VisualTest {
}
Frame {
msec: 3856
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3872
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3888
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3904
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3920
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3936
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3952
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3968
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 3984
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Key {
type: 6
@@ -1122,35 +1122,35 @@ VisualTest {
}
Frame {
msec: 4000
- hash: "30901e72d40975b92c9d96c0f52b458c"
+ hash: "d6eecfb695deacae4bb2fe5adb2d5c3d"
}
Frame {
msec: 4016
- hash: "30901e72d40975b92c9d96c0f52b458c"
+ hash: "d6eecfb695deacae4bb2fe5adb2d5c3d"
}
Frame {
msec: 4032
- hash: "f4f84cb8e42e269b121b2ffa9204db38"
+ hash: "b48f481a8149c03139e29b619dbb3f3c"
}
Frame {
msec: 4048
- hash: "41e9198277d0d590d176fd9972bfbf58"
+ hash: "994ba7fc208bbf081d54384d82d0fc07"
}
Frame {
msec: 4064
- hash: "664bddf12068363afc89f8fc52d133c0"
+ hash: "05d30293c12eb6a3e21cebd42bb1f383"
}
Frame {
msec: 4080
- hash: "18a12504f09551bd6e3013ef1bbf40f9"
+ hash: "f2b4140a5d26f241a27e2a3027785559"
}
Frame {
msec: 4096
- hash: "95717e24255e442d955d3c64691576e0"
+ hash: "1189e519fd1611c5603e598fbcadca44"
}
Frame {
msec: 4112
- hash: "7cb9b9a71bfb1cd3061efde86e57ff34"
+ hash: "ee98893d95e55cb76966c0cfe29d237b"
}
Key {
type: 7
@@ -1162,171 +1162,171 @@ VisualTest {
}
Frame {
msec: 4128
- hash: "a090d2c37080361240769198f1032b7a"
+ hash: "9ff3010efeb8707c864def782405ad4c"
}
Frame {
msec: 4144
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4160
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4176
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4192
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4208
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4224
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4240
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4256
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4272
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4288
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4304
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4320
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4336
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4352
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4368
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4384
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4400
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4416
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4432
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4448
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4464
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4480
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4496
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4512
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4528
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4544
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4560
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4576
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4592
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4608
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4624
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4640
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4656
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4672
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4688
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4704
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4720
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4736
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4752
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4768
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4784
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4800
@@ -1334,79 +1334,79 @@ VisualTest {
}
Frame {
msec: 4816
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4832
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4848
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4864
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4880
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4896
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4912
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4928
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4944
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4960
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4976
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 4992
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5008
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5024
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5040
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5056
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5072
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5088
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Frame {
msec: 5104
- hash: "c37a8dc01901eb4a1fb0d6ac3c91fca0"
+ hash: "c842d544f87332bc133833e8966240ee"
}
Key {
type: 6
@@ -1418,35 +1418,35 @@ VisualTest {
}
Frame {
msec: 5120
- hash: "0a524f53903aa1651152fd4a6068c14c"
+ hash: "a857238777462319fcedd4f359ce1a04"
}
Frame {
msec: 5136
- hash: "0a524f53903aa1651152fd4a6068c14c"
+ hash: "a857238777462319fcedd4f359ce1a04"
}
Frame {
msec: 5152
- hash: "bbef86b80161702653b88f6cfa88528c"
+ hash: "d9248d1257bf0232dcdf29fca7536ad1"
}
Frame {
msec: 5168
- hash: "26de302dde8fb22e509c0b3c8cb37abd"
+ hash: "0405e029cc4b2fa80761c06fb8898b0d"
}
Frame {
msec: 5184
- hash: "9f3ec01bf5ae12383a58a716d462d479"
+ hash: "a36fb7e32e6aafbb84b62ef56be3cf70"
}
Frame {
msec: 5200
- hash: "cbfa90ccd871ba1ab12f75e8e5f2e11e"
+ hash: "9846c73bbe57277bd36bbca1c489e644"
}
Frame {
msec: 5216
- hash: "c5ba4fd178429a1cb44ec96da8a1a404"
+ hash: "8f4840715082c48d520ddb55501cf8eb"
}
Frame {
msec: 5232
- hash: "fb87133ef012abe68491be1cc627d580"
+ hash: "478fde3a6fd8cecc222b8c16743d231f"
}
Key {
type: 7
@@ -1458,123 +1458,123 @@ VisualTest {
}
Frame {
msec: 5248
- hash: "0f8147bf9cd92eec88ea6f8b9f2ad5eb"
+ hash: "b2bb760c93d26c6db21ce6beccd36b66"
}
Frame {
msec: 5264
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5280
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5296
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5312
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5328
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5344
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5360
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5376
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5392
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5408
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5424
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5440
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5456
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5472
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5488
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5504
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5520
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5536
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5552
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5568
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5584
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5600
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5616
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5632
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5648
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5664
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5680
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5696
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Frame {
msec: 5712
- hash: "f2ca9897c874faa97f2d959964da4bd1"
+ hash: "1ef605e1a68ff993f4f971a85a6bee97"
}
Key {
type: 6
@@ -1586,11 +1586,11 @@ VisualTest {
}
Frame {
msec: 5728
- hash: "f78a62f7143dbf86e0b153fe08a9bf6e"
+ hash: "4780d8094833831f27d1aff3e0f9689f"
}
Frame {
msec: 5744
- hash: "f78a62f7143dbf86e0b153fe08a9bf6e"
+ hash: "4780d8094833831f27d1aff3e0f9689f"
}
Frame {
msec: 5760
@@ -1598,27 +1598,27 @@ VisualTest {
}
Frame {
msec: 5776
- hash: "e89f6d4727cf92ce87e4c48eb34074a6"
+ hash: "93c8d7980de378a055b7ca824882ae4e"
}
Frame {
msec: 5792
- hash: "eb7761ac018dbb93b72acd3126a7eace"
+ hash: "e0abe402f89c5d84e5a02f0e4bcbd5e3"
}
Frame {
msec: 5808
- hash: "a70638789eeaada677afa68a7dcc1f97"
+ hash: "067ca20bcfab459a28af7e8dc2830032"
}
Frame {
msec: 5824
- hash: "bb709f17058d1f41b34831d1055195cc"
+ hash: "d27dc1a08c66cf5f4a84efe3be522ec3"
}
Frame {
msec: 5840
- hash: "3b459f10eb299712180fed277c75ca22"
+ hash: "639f7555adc7958e807c2e774694fe25"
}
Frame {
msec: 5856
- hash: "8f77a04a3690f7cbfae4858c8fff1a24"
+ hash: "b55f5fcbc2284736695049b2cdc9c8ce"
}
Key {
type: 7
@@ -1630,107 +1630,107 @@ VisualTest {
}
Frame {
msec: 5872
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5888
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5904
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5920
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5936
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5952
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5968
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 5984
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6000
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6016
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6032
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6048
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6064
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6080
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6096
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6112
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6128
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6144
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6160
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6176
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6192
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6208
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6224
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6240
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6256
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Frame {
msec: 6272
- hash: "0d20e56256c2aa305c487c7875249c45"
+ hash: "f209867bbf74dbe0385655a522e322f1"
}
Key {
type: 6
@@ -1742,39 +1742,39 @@ VisualTest {
}
Frame {
msec: 6288
- hash: "80a729efc25a86d09977f6abe4b96e77"
+ hash: "48910947dd160b33251c54ff45f6a0db"
}
Frame {
msec: 6304
- hash: "80a729efc25a86d09977f6abe4b96e77"
+ hash: "48910947dd160b33251c54ff45f6a0db"
}
Frame {
msec: 6320
- hash: "75e57461badc3fd9c38548c751a86b62"
+ hash: "20b0f988a1517d67a0d3c78ae8af4e5a"
}
Frame {
msec: 6336
- hash: "b0f49c8a67bdf1285334514d78a6b613"
+ hash: "355b5b161176c31bcbae198b1581f59b"
}
Frame {
msec: 6352
- hash: "564bca050cfc30f19b77989a1e3a26d8"
+ hash: "19cbb853a93bd062a53d7908df54bfbd"
}
Frame {
msec: 6368
- hash: "caca4855c581f42b26623bf717302884"
+ hash: "13fbe723f288cffd09f0a86b71457161"
}
Frame {
msec: 6384
- hash: "89db7709fcec729023c910608b504665"
+ hash: "0014ed3b1a868cf75bfffedb52674c5c"
}
Frame {
msec: 6400
- hash: "5501f75f4b8b3229a7db38df4e9cc938"
+ hash: "a1c444be02b90e69319096b8a508947d"
}
Frame {
msec: 6416
- hash: "505d12f5900fa920f47c650d24745ec5"
+ hash: "b88a3f2f3290e4262757b1f5741cb5ce"
}
Key {
type: 7
@@ -1786,75 +1786,75 @@ VisualTest {
}
Frame {
msec: 6432
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6448
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6464
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6480
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6496
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6512
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6528
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6544
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6560
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6576
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6592
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6608
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6624
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6640
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6656
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6672
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6688
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6704
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6720
@@ -1862,35 +1862,35 @@ VisualTest {
}
Frame {
msec: 6736
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6752
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6768
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6784
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6800
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6816
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6832
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Frame {
msec: 6848
- hash: "4e9b6719737e92ef409b76772a9d6b4a"
+ hash: "dc708a762ba7f1120eb14105571943f8"
}
Key {
type: 6
@@ -1902,39 +1902,39 @@ VisualTest {
}
Frame {
msec: 6864
- hash: "240f48d1c5aa1c23bf1c660a0a468283"
+ hash: "a44bb76233c69780c178dddd79cc1968"
}
Frame {
msec: 6880
- hash: "240f48d1c5aa1c23bf1c660a0a468283"
+ hash: "a44bb76233c69780c178dddd79cc1968"
}
Frame {
msec: 6896
- hash: "e1ba9a4edfd19acffdf25e51dbbc94a5"
+ hash: "154b11fd0468aa18d1ef1895f2e2923c"
}
Frame {
msec: 6912
- hash: "e40877ef6876be3f44db947af54287bc"
+ hash: "fe7ecb02e63fbb7584405e7162f0ee21"
}
Frame {
msec: 6928
- hash: "a72d66c4691d03e7b9a12df9df3d4b4d"
+ hash: "90b6fea69d106c628a9c7ff23a97e6c2"
}
Frame {
msec: 6944
- hash: "26cda82027725475f2be660a8e8b2463"
+ hash: "3e233e837e24976d441b6cabc3b74098"
}
Frame {
msec: 6960
- hash: "233e9b1c58cc338d22e3d3ca8669a33a"
+ hash: "7a490f7be5c4c0ae09421f884e9adadb"
}
Frame {
msec: 6976
- hash: "316788ce1340cb0e151d12d244a48068"
+ hash: "462d44603dd661ccf126c81197608056"
}
Frame {
msec: 6992
- hash: "6213c8fde998ae5b819f9e3f7f7ea857"
+ hash: "0b7ca73497c37255bccad6787d690236"
}
Key {
type: 7
@@ -1946,115 +1946,115 @@ VisualTest {
}
Frame {
msec: 7008
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7024
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7040
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7056
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7072
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7088
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7104
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7120
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7136
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7152
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7168
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7184
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7200
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7216
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7232
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7248
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7264
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7280
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7296
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7312
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7328
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7344
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7360
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7376
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7392
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7408
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7424
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Frame {
msec: 7440
- hash: "316d165df776e906015714372e67f452"
+ hash: "224ade5c942415100b5418a11d043611"
}
Key {
type: 6
@@ -2066,31 +2066,31 @@ VisualTest {
}
Frame {
msec: 7456
- hash: "37bfd610be786be852b78bdb933b9a01"
+ hash: "95ff2a535a13fcdded94229d53848f7c"
}
Frame {
msec: 7472
- hash: "37bfd610be786be852b78bdb933b9a01"
+ hash: "95ff2a535a13fcdded94229d53848f7c"
}
Frame {
msec: 7488
- hash: "05b41d669cdb7821d3db181c444f9667"
+ hash: "d2386e4137632f15aa5ba9dd1a138a67"
}
Frame {
msec: 7504
- hash: "2ddf3b590860a1db12d04ab4dde830a3"
+ hash: "9f2c40191c1a81f37543f5bfcb852bdf"
}
Frame {
msec: 7520
- hash: "ecc85633bf413d41da38b87d21c92653"
+ hash: "5facdbcc9d7ab0adfcb2ca9d1812a3f5"
}
Frame {
msec: 7536
- hash: "829b18a6568680d9fbf720926ec65954"
+ hash: "7bbb08470e4f3eeabe710e0ea327c467"
}
Frame {
msec: 7552
- hash: "04f844fe5b2f944d435a9c66d93d2907"
+ hash: "630abf60d09d3a685d79e6da627b3aa2"
}
Key {
type: 7
@@ -2102,31 +2102,31 @@ VisualTest {
}
Frame {
msec: 7568
- hash: "49680fff1a16c74de135a72c6b13d156"
+ hash: "d8aed706508814cdbd1ef0984f112b94"
}
Frame {
msec: 7584
- hash: "a4b4e3a49ce12e8a8a1a43a808555243"
+ hash: "d191c2dc3e2edd05bfd649dcfa51029e"
}
Frame {
msec: 7600
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7616
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7632
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7648
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7664
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7680
@@ -2134,75 +2134,75 @@ VisualTest {
}
Frame {
msec: 7696
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7712
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7728
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7744
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7760
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7776
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7792
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7808
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7824
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7840
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7856
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7872
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7888
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7904
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7920
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7936
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7952
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Frame {
msec: 7968
- hash: "aa35e3c7afbb686aca85da5f4d3dc17b"
+ hash: "7ee37281a3f5788305f779bdd33852e5"
}
Key {
type: 6
@@ -2214,39 +2214,39 @@ VisualTest {
}
Frame {
msec: 7984
- hash: "0211b4e4fe18757e34bec35eab5fde3b"
+ hash: "fb386abfd73a3feb05b573d16ffa93f9"
}
Frame {
msec: 8000
- hash: "0211b4e4fe18757e34bec35eab5fde3b"
+ hash: "fb386abfd73a3feb05b573d16ffa93f9"
}
Frame {
msec: 8016
- hash: "abbd3f1a519e8f667b2eebe75c9b4cb3"
+ hash: "fa1374155fc5427c72bd09ec5a315172"
}
Frame {
msec: 8032
- hash: "803607ec60ef51b54444a184462beb0f"
+ hash: "ee35a3edf91865e28b16b9fcab8b4c1c"
}
Frame {
msec: 8048
- hash: "e0b670a80137b3fa8ca9ae8fab5aa123"
+ hash: "10f2677f7c8efe9f64e401940dec3ef7"
}
Frame {
msec: 8064
- hash: "a291881f5d7a42973ac4a6054418259a"
+ hash: "b2c53bb14a8a6643e69cad2bbb4aacf4"
}
Frame {
msec: 8080
- hash: "c5ed7f0b91af1bf0eba6c149bccb72ab"
+ hash: "7b7c7d167aca55464d1874ed726ec646"
}
Frame {
msec: 8096
- hash: "25b094fc7f6e8442ae672439a5b10a79"
+ hash: "19a828ca70133801f1f470f6e348857b"
}
Frame {
msec: 8112
- hash: "9bc4a4dc68228a400b9e87d645e29828"
+ hash: "bc829873ea3cf8ca8484d990d4b80aa2"
}
Key {
type: 7
@@ -2258,99 +2258,99 @@ VisualTest {
}
Frame {
msec: 8128
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8144
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8160
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8176
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8192
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8208
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8224
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8240
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8256
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8272
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8288
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8304
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8320
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8336
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8352
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8368
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8384
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8400
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8416
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8432
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8448
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8464
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8480
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Frame {
msec: 8496
- hash: "4baf177df487bf872c7edd4ab4561120"
+ hash: "201b90bc27073e945bb00c85501f4dc8"
}
Key {
type: 6
@@ -2362,35 +2362,35 @@ VisualTest {
}
Frame {
msec: 8512
- hash: "2eabf99cadf1ded6a355bdf39715ad57"
+ hash: "d0d487fd66bcf4177188d4862bd74bc0"
}
Frame {
msec: 8528
- hash: "2eabf99cadf1ded6a355bdf39715ad57"
+ hash: "d0d487fd66bcf4177188d4862bd74bc0"
}
Frame {
msec: 8544
- hash: "7e70fd7a53929ef47f69c63273818ee1"
+ hash: "4a4c2e49e4852748916a4d68710e4ae6"
}
Frame {
msec: 8560
- hash: "e76066a86a120d7abf0d645c804c9e69"
+ hash: "0135092d8a296b7121495cc3994a0f9d"
}
Frame {
msec: 8576
- hash: "e79a0e6badc18ded04e07ce6b805b493"
+ hash: "7e004aae70236568d635ba929e085b2b"
}
Frame {
msec: 8592
- hash: "67891f5078a0c34a3fb17bbc325b9011"
+ hash: "3e6a4f60a57515a6bfe4d803c7c22da8"
}
Frame {
msec: 8608
- hash: "6533d214e86aa581da50d26cc1bcd34e"
+ hash: "142b866861f539837b0bdabaf48028e7"
}
Frame {
msec: 8624
- hash: "c649e873c3ce3fe5639e8d9b9912eafe"
+ hash: "32a4757602c923366566d9005c78f6cf"
}
Key {
type: 7
@@ -2406,107 +2406,107 @@ VisualTest {
}
Frame {
msec: 8656
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8672
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8688
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8704
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8720
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8736
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8752
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8768
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8784
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8800
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8816
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8832
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8848
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8864
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8880
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8896
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8912
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8928
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8944
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8960
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8976
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 8992
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 9008
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 9024
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 9040
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Frame {
msec: 9056
- hash: "3b0e8ae88404e6c12e7918bfc30dc49e"
+ hash: "358a3fbfa70526a40f2179cb2fd100d4"
}
Key {
type: 6
@@ -2518,39 +2518,39 @@ VisualTest {
}
Frame {
msec: 9072
- hash: "72494522826c29edd9a763342d8ee909"
+ hash: "b1dc330f31b064f1e3ff4e913773cde8"
}
Frame {
msec: 9088
- hash: "72494522826c29edd9a763342d8ee909"
+ hash: "b1dc330f31b064f1e3ff4e913773cde8"
}
Frame {
msec: 9104
- hash: "ecba7d108741a940d77920db52f6bc47"
+ hash: "a0419dede71451f36c93960c8ef8c00c"
}
Frame {
msec: 9120
- hash: "6aa456342c3bb8b6071c28c5d550929e"
+ hash: "b8141758fc93aa1b286fd60f91e6fa7e"
}
Frame {
msec: 9136
- hash: "bd94dbfa0651b9060cacdbe9a9adc38c"
+ hash: "8b0d786f239c545be3f51622c336f1e1"
}
Frame {
msec: 9152
- hash: "bb6e75073be7b1e9f3c66761b72611b2"
+ hash: "25ec52efac83de4f8cade8f257b93b8e"
}
Frame {
msec: 9168
- hash: "11bfc218dd57a9909b1fd7f021577cfa"
+ hash: "5a1476841b9aaa0e85c397c0447be352"
}
Frame {
msec: 9184
- hash: "d2fbc4d380862423ad2d3a33468b417d"
+ hash: "d648b0911e6ab78e53121fde8b66b50b"
}
Frame {
msec: 9200
- hash: "0ca09d4275b1c36575e484d79a7d8d2a"
+ hash: "f552863ff4b76286d03240409c0a928b"
}
Key {
type: 7
@@ -2562,99 +2562,99 @@ VisualTest {
}
Frame {
msec: 9216
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9232
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9248
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9264
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9280
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9296
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9312
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9328
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9344
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9360
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9376
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9392
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9408
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9424
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9440
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9456
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9472
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9488
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9504
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9520
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9536
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9552
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9568
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9584
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9600
@@ -2662,218 +2662,218 @@ VisualTest {
}
Frame {
msec: 9616
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9632
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9648
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9664
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9680
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9696
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9712
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9728
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9744
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9760
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9776
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9792
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9808
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9824
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9840
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9856
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9872
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9888
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9904
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9920
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9936
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9952
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9968
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 9984
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10000
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10016
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10032
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10048
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10064
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10080
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10096
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10112
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10128
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10144
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10160
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10176
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10192
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10208
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10224
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10240
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10256
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10272
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10288
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10304
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10320
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10336
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10352
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10368
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Key {
type: 6
key: 16777249
- modifiers: 0
+ modifiers: 67108864
text: ""
autorep: false
count: 1
}
Frame {
msec: 10384
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10400
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10416
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
Frame {
msec: 10432
- hash: "d157fdaf13170250e66768364e90e820"
+ hash: "f3b4cab7975190f756c923f16ce4c298"
}
}
diff --git a/tests/auto/declarative/visual/focusscope/test3.qml b/tests/auto/declarative/visual/focusscope/test3.qml
index af06469..b5feeb5 100644
--- a/tests/auto/declarative/visual/focusscope/test3.qml
+++ b/tests/auto/declarative/visual/focusscope/test3.qml
@@ -41,7 +41,7 @@ Rectangle {
delegate: VerticalDelegate
preferredHighlightBegin: 100
preferredHighlightEnd: 101
- strictlyEnforceHighlightRange: true
+ highlightRangeMode: ListView.StrictlyEnforceRange
}
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.0.png b/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.0.png
index b2734e4..5631a46 100644
--- a/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.0.png
+++ b/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.qml b/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.qml
index d5f1cff..cfd832e 100644
--- a/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.qml
+++ b/tests/auto/declarative/visual/qfxtext/elide/data-X11/elide.qml
@@ -6,239 +6,239 @@ VisualTest {
}
Frame {
msec: 16
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 32
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 48
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 64
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 80
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 96
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 112
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 128
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 144
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 160
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 176
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 192
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 208
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 224
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 240
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 256
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 272
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 288
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 304
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 320
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 336
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 352
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 368
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 384
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 400
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 416
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 432
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 448
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 464
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 480
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 496
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 512
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 528
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 544
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 560
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 576
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 592
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 608
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 624
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 640
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 656
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 672
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 688
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 704
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 720
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 736
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 752
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 768
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 784
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 800
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 816
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 832
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 848
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 864
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 880
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 896
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 912
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 928
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 944
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 960
@@ -246,34 +246,34 @@ VisualTest {
}
Frame {
msec: 976
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Key {
type: 6
key: 16777249
- modifiers: 0
+ modifiers: 67108864
text: ""
autorep: false
count: 1
}
Frame {
msec: 992
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 1008
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 1024
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 1040
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
Frame {
msec: 1056
- hash: "dd213807dd517c25972f0f6f42b01c17"
+ hash: "48e2da07fd229d9db6afc0eda494cd11"
}
}
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.0.png b/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.0.png
index 6d3931c..6e2b625 100644
--- a/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.0.png
+++ b/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.qml b/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.qml
index a43fcdd..0c06196 100644
--- a/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.qml
+++ b/tests/auto/declarative/visual/qfxtext/elide/data-X11/multilength.qml
@@ -6,239 +6,239 @@ VisualTest {
}
Frame {
msec: 16
- hash: "0d036aed3200afec73b1fc10cda324af"
+ hash: "873e914454b7a040b05649ebd1a2f8c5"
}
Frame {
msec: 32
- hash: "e117576c30a5bebb866ee8e0d596f510"
+ hash: "7682a4f1e361ca252da9713734a598e8"
}
Frame {
msec: 48
- hash: "2a00d57edee71da236ef9a041e7ed0d6"
+ hash: "fa8884b550c8df872f96b61557163bcf"
}
Frame {
msec: 64
- hash: "fa326ddfc21828d98dd38964c6e9b09b"
+ hash: "b84ecf9e38f126c3e32defee831d9462"
}
Frame {
msec: 80
- hash: "02d3d8f626f0a3afd57affce32f10cff"
+ hash: "21cc08f22d1f1fcb38b27a3a4259debe"
}
Frame {
msec: 96
- hash: "81abd357826e75917f5cb3758c0cdd4a"
+ hash: "93bdfeab813e25e85917f49c0d5f1314"
}
Frame {
msec: 112
- hash: "3c544d599c735224bda95a3a9cbf413f"
+ hash: "5f03c252602e60fe19879945fa77c203"
}
Frame {
msec: 128
- hash: "59ef105daf3d509ab17b618fc761b4dc"
+ hash: "f0b2079f6c512bf80989ebfdbec4cfd8"
}
Frame {
msec: 144
- hash: "f61d62a092cc1adf7576992d285eb60a"
+ hash: "9e7bb12d5b7605fc1d78ed9b2a549527"
}
Frame {
msec: 160
- hash: "8c0f2f793ea61df2dff38ac609365da1"
+ hash: "242bbbe6da87708c92fd47607ecb789d"
}
Frame {
msec: 176
- hash: "28f9372f9ecfd6c33e5578ea2b8bd202"
+ hash: "f1db5c3a230b4d3e2e1dfefe6bf032a1"
}
Frame {
msec: 192
- hash: "129757726f161c58ad52c8a2bb8ff54d"
+ hash: "a416e820efd8e173cc52372218513e33"
}
Frame {
msec: 208
- hash: "517aa84afac3efea0b21fff497951e69"
+ hash: "df711ab70c6087f8138fded16167f069"
}
Frame {
msec: 224
- hash: "fce8967bf12f6525b21c644aaca2fffd"
+ hash: "fb28eb2eeccfab28299640ef996c1115"
}
Frame {
msec: 240
- hash: "926108bca8cb3a21b29207e0dca29d9d"
+ hash: "c72c6d79a50dd7147f6b33784880eb36"
}
Frame {
msec: 256
- hash: "41c0d7a87ad0995c3343f9e2bee558a4"
+ hash: "4421027e65e95f98499ca53c57220ede"
}
Frame {
msec: 272
- hash: "7992a2eb7a561aa28a9a2f693dab0d5f"
+ hash: "b7fbfb90d8cc167809e8e846d9021b4b"
}
Frame {
msec: 288
- hash: "b2712c6162cea59cfd18966713252512"
+ hash: "004614b1bf18e9aa78e78509c4f289aa"
}
Frame {
msec: 304
- hash: "1fa71faa48d7f414a4a6b93214a39a44"
+ hash: "1792bbd8b69bae1d92fed2a6bcfe0187"
}
Frame {
msec: 320
- hash: "f1ffc3a012ae78f88a5f698944f605a2"
+ hash: "957a8b95d6e85885d854b8eb1db10b04"
}
Frame {
msec: 336
- hash: "62dfc0e3846e7641453f6bf077bb0671"
+ hash: "d00c3e4d6d8e8d04b949840c28d73a33"
}
Frame {
msec: 352
- hash: "167f30be62b60eb0e08af046fe18fbb7"
+ hash: "2b79feaa62d773d92d8a684685b2004c"
}
Frame {
msec: 368
- hash: "1e441db0c591642ce9c0457436708d13"
+ hash: "ef2f11b187028de0c56b23db3168fbc8"
}
Frame {
msec: 384
- hash: "f4400c089b8e4391c6827323333ef733"
+ hash: "3a489a96aaeca80355313198b935691d"
}
Frame {
msec: 400
- hash: "6b4e44cb73c62dd833cf52391e8b55a2"
+ hash: "389f1798f900795a8686c38ace755974"
}
Frame {
msec: 416
- hash: "12286364840fa446009a9005ca0b25fe"
+ hash: "34fc20be52fe3843420819b9adb90b22"
}
Frame {
msec: 432
- hash: "67971a61bfe3113dcf7404137d58cc65"
+ hash: "fa715c5b6640eafe204bf3b8095c74b9"
}
Frame {
msec: 448
- hash: "3ff170f552466fa3a0494fc489363f68"
+ hash: "8e8315edcf23167ac58228b8c28b43e6"
}
Frame {
msec: 464
- hash: "c946293a166077db9426757b2e393006"
+ hash: "c18e82038f57dd869112cb1be14e4cfe"
}
Frame {
msec: 480
- hash: "14d716e18c7fa7d27b69c93d815df9b9"
+ hash: "3f07e95b09e39f2e5d93216850f4a4d9"
}
Frame {
msec: 496
- hash: "7bc490a27378ab400658bff0334cb7dd"
+ hash: "20f0e6eaeac04d6f93565adfab485218"
}
Frame {
msec: 512
- hash: "2a3bd86f88aeb8f09f6feea8ba282942"
+ hash: "e3f66d1dfe88dd868a54a8493828ef5f"
}
Frame {
msec: 528
- hash: "1ad04b814df09f9a1c672da659ff7390"
+ hash: "d39d34f63e1b29c187249cb388552b38"
}
Frame {
msec: 544
- hash: "05a4b8bf3ceb70a01d33a5692467bd7e"
+ hash: "5d2e8df5003732f3b53fff4aaddea06c"
}
Frame {
msec: 560
- hash: "aca0effde610ed1c216b138a7dfe407f"
+ hash: "35c3aa2dae481a8f817d849b3f3151f2"
}
Frame {
msec: 576
- hash: "296b234ae49eaae3548c7d31447c0765"
+ hash: "966b78018879224948b4d85fe73d7985"
}
Frame {
msec: 592
- hash: "1254ac81bb961f210dd14cfa650da680"
+ hash: "0db067bf9debc3f36dd539cf83652fb8"
}
Frame {
msec: 608
- hash: "2b6a03813152cd87469b351339690736"
+ hash: "ea1c3249ffd2439533907ceaeaafbc56"
}
Frame {
msec: 624
- hash: "12080186fcdd5b9e73720f267cdf1065"
+ hash: "da85c0e14b95ca9a729984b67ebd52ad"
}
Frame {
msec: 640
- hash: "0cf99a1742df091f0715489d7a54bcd8"
+ hash: "5c26ae844ac52dbe131fed0638787aac"
}
Frame {
msec: 656
- hash: "bbbde5370000d3bec9872eab0d2c0bd0"
+ hash: "4b09c23ad624db80afcb2a6c1d5ddb96"
}
Frame {
msec: 672
- hash: "32cb6332b3028ef515ce328450769bd7"
+ hash: "9995deb3d22b418a19093b4b988b3fcc"
}
Frame {
msec: 688
- hash: "9696c6ea620e833cc1290710895d164f"
+ hash: "77e53358f2d4392d0ba988187e7e272c"
}
Frame {
msec: 704
- hash: "cce4fc1f40467d22a1a05ec005cad93a"
+ hash: "3fbbb73e790cf4a0583531fe1580f761"
}
Frame {
msec: 720
- hash: "5466c6bec6b3b0eee159ffcb5ad1130c"
+ hash: "9d562e141095a258ee61463e644d9889"
}
Frame {
msec: 736
- hash: "2d8ccdca543eb52b1f5f947490d284c5"
+ hash: "d05633ca49f96bf327bed5c9c0f6ac98"
}
Frame {
msec: 752
- hash: "a72cf61a2e5c70cbdb2b9e99d588ffe1"
+ hash: "34c38e40e831dbede8fa83de31ed76aa"
}
Frame {
msec: 768
- hash: "2885a4a60d231b8bed4f444f110cd735"
+ hash: "288e52c8be54f4914f687cef4ce1f24a"
}
Frame {
msec: 784
- hash: "4167cbe045e6f922797eeed9378e96b6"
+ hash: "0b8b744aaf67e8b17fa459bb0ffb6db5"
}
Frame {
msec: 800
- hash: "2a903361ed6c58659741274eac6c19f4"
+ hash: "273dbe3e8c21bfeafa516d07778928c8"
}
Frame {
msec: 816
- hash: "e98ad2f87ebb183832efba5954228bea"
+ hash: "ef94ee1885287c72fa78038547d98b96"
}
Frame {
msec: 832
- hash: "e875b1d4412fd8a86a6e71b08c078fe0"
+ hash: "965e6387672319ac04fdc42768e581f1"
}
Frame {
msec: 848
- hash: "6fb0d9e4237a74552b9067c288e0d5dd"
+ hash: "95553d8aaece94c7017e57b03cd46c9a"
}
Frame {
msec: 864
- hash: "a64b5a60fe0184b4e439b157409f7567"
+ hash: "bdaf35b920e5b08b8639d452afd2d51e"
}
Frame {
msec: 880
- hash: "102d5f88cf9ae13af9983936dbc2ecae"
+ hash: "0ed16f00e89327dc8679bec42179c4ce"
}
Frame {
msec: 896
- hash: "e1d58edd9cdc3902af02c263b9b357a1"
+ hash: "8c93e0ac399e09e98e34b90654e0e42a"
}
Frame {
msec: 912
- hash: "d8a934c488f1e80ed49108b360022576"
+ hash: "93798fbb33adb6c813018757cfa34017"
}
Frame {
msec: 928
- hash: "d918eae34d503a0c3669fa0b5fbd7dad"
+ hash: "db4d7581e9a1f082a2c29ef7482a7893"
}
Frame {
msec: 944
- hash: "bba616d8933bb054735e235782689c95"
+ hash: "67e074c1e083334de84a3549f4ee9ca4"
}
Frame {
msec: 960
@@ -246,58 +246,58 @@ VisualTest {
}
Frame {
msec: 976
- hash: "12b8f8889033ecddabf0b20585157a5e"
+ hash: "b1122c815a755c9988bcf03a3f7d7d6d"
}
Frame {
msec: 992
- hash: "afe7a8d6184f9ebef435e1857a7f08b2"
+ hash: "31148bae6653bdc3f1827d06de845663"
}
Frame {
msec: 1008
- hash: "d222b51d852e63a9e2401c57b86c17f7"
+ hash: "812428a944086ca46e102891964dac69"
}
Frame {
msec: 1024
- hash: "36196bcde10012a2e0624ae062da5fdb"
+ hash: "ee7bb66bd7e8623325200ac994f8b41a"
}
Frame {
msec: 1040
- hash: "e4cb79b57774c652c3bcf86b7e8cbce9"
+ hash: "6bd21a98e5c373a2c78334a0255e7750"
}
Frame {
msec: 1056
- hash: "79c040be179aa486c6a3e2a5198944af"
+ hash: "2e8e1eea14068b0e82464ed52ec1ab7a"
}
Frame {
msec: 1072
- hash: "4334a272bed3fdaa1e44bb81c55d3e3a"
+ hash: "6dca5756e20eeb778e31d7b602ce77d7"
}
Frame {
msec: 1088
- hash: "5aeebf849fb7101b87ec699c4590a348"
+ hash: "3cbb6700b9e30864a2b1e3d4d71d2a78"
}
Frame {
msec: 1104
- hash: "c18780619ee3069f2ba17d00b85d6941"
+ hash: "c4d0230d2c4f73191a514e5df4c0b083"
}
Frame {
msec: 1120
- hash: "ef17d1d1b566fc0e51cef54e3f460b91"
+ hash: "a33df967fe43151dfc503d2ac78f8ca8"
}
Frame {
msec: 1136
- hash: "2c76668596c354dadea513325b79d14e"
+ hash: "0c7ff101efe60b600cacaf8d04d79053"
}
Frame {
msec: 1152
- hash: "6055f676c9fa2a3333301e6dac958b34"
+ hash: "d246cfb75d89b9666877860aaf45ba60"
}
Frame {
msec: 1168
- hash: "3fc9e199eac26907d95381e064c0e5cd"
+ hash: "1130998aa2618a29ec6bc4b9219eedfa"
}
Frame {
msec: 1184
- hash: "60edfb3a25700ead1795e226015eb229"
+ hash: "741dd83003633bbf8d28c2d4ddd8a2d0"
}
}
diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png b/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png
new file mode 100644
index 0000000..1f28b9a
--- /dev/null
+++ b/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml b/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml
new file mode 100644
index 0000000..d920a4c
--- /dev/null
+++ b/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml
@@ -0,0 +1,83 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 32
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 48
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 64
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 80
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 96
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 112
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 128
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 144
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 160
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 176
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 192
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 208
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 224
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 240
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 256
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 272
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 288
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+ Frame {
+ msec: 304
+ hash: "0c70d855adc847fe33d7959ccb98bb8b"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml
new file mode 100644
index 0000000..0ceaf49
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml
@@ -0,0 +1,55 @@
+import Qt 4.6
+import "content"
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 1030; height: 540
+
+ MyBorderImage {
+ x: 20; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30; antialiased: true
+ }
+ MyBorderImage {
+ x: 270; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240; antialiased: true
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 520; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240; antialiased: true
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 770; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240; antialiased: true
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+ }
+ MyBorderImage {
+ x: 20; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200; antialiased: true
+ source: "content/bw.png"; margin: 10
+ }
+ MyBorderImage {
+ x: 270; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200; antialiased: true
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 520; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200; antialiased: true
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 770; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200; antialiased: true
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml
new file mode 100644
index 0000000..29c02b3
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml
@@ -0,0 +1,55 @@
+import Qt 4.6
+import "content"
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 1030; height: 540
+
+ MyBorderImage {
+ x: 20; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ }
+ MyBorderImage {
+ x: 270; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 520; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 770; y: 20; minWidth: 120; maxWidth: 240
+ minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+ }
+ MyBorderImage {
+ x: 20; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ }
+ MyBorderImage {
+ x: 270; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 520; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+ }
+ MyBorderImage {
+ x: 770; y: 280; minWidth: 60; maxWidth: 200
+ minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml
new file mode 100644
index 0000000..9879416
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml
@@ -0,0 +1,18 @@
+import Qt 4.6
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 520; height: 280
+
+ BorderImage {
+ x: 20; y: 20; width: 230; height: 240
+ smooth: true
+ source: "content/colors-stretch.sci"
+ }
+ BorderImage {
+ x: 270; y: 20; width: 230; height: 240
+ smooth: true
+ source: "content/colors-round.sci"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/MyBorderImage.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/MyBorderImage.qml
new file mode 100644
index 0000000..db722ae
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/MyBorderImage.qml
@@ -0,0 +1,38 @@
+import Qt 4.6
+
+Item {
+ property alias horizontalMode: image.horizontalTileMode
+ property alias verticalMode: image.verticalTileMode
+ property alias source: image.source
+ property alias antialiased: image.smooth
+
+ property int minWidth
+ property int minHeight
+ property int maxWidth
+ property int maxHeight
+ property int margin
+
+ id: container
+ width: 240; height: 240
+
+ BorderImage {
+ id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2
+
+ width: SequentialAnimation {
+ running: true; repeat: true
+ NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing: "easeInOutQuad"}
+ NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing: "easeInOutQuad" }
+ }
+
+ height: SequentialAnimation {
+ running: true; repeat: true
+ NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing: "easeInOutQuad"}
+ NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing: "easeInOutQuad" }
+ }
+
+ border.top: container.margin
+ border.left: container.margin
+ border.bottom: container.margin
+ border.right: container.margin
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.png
new file mode 100644
index 0000000..486eaae
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci
new file mode 100644
index 0000000..506f6f5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci
@@ -0,0 +1,7 @@
+border.left:30
+border.top:30
+border.right:30
+border.bottom:30
+horizontalTileRule:Round
+verticalTileRule:Round
+source:colors.png
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci
new file mode 100644
index 0000000..e4989a7
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci
@@ -0,0 +1,5 @@
+border.left:30
+border.top:30
+border.right:30
+border.bottom:30
+source:colors.png
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.png
new file mode 100644
index 0000000..dfb62f3
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.png
new file mode 100644
index 0000000..9a6b079
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.png
new file mode 100644
index 0000000..1f960e5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.png
new file mode 100644
index 0000000..85a2729
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.png
new file mode 100644
index 0000000..de6ff7c
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.png
new file mode 100644
index 0000000..fe7d3dd
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.png
new file mode 100644
index 0000000..e73bef5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.png
new file mode 100644
index 0000000..0c75422
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml
new file mode 100644
index 0000000..96adb73
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml
@@ -0,0 +1,1823 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 32
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 48
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 64
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 80
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 96
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 128
+ hash: "cd2180be80101c2aa4350b51b7a6f502"
+ }
+ Frame {
+ msec: 144
+ hash: "de471829f8ad3b43bf1b4df9d1d65a4d"
+ }
+ Frame {
+ msec: 160
+ hash: "ed9f2ca797894612600bc4b7fbaecb84"
+ }
+ Frame {
+ msec: 176
+ hash: "59470d71fa4426d0283e86371f2bfc2a"
+ }
+ Frame {
+ msec: 192
+ hash: "9a2f92efb51bcc6293d6a8e82d5314ea"
+ }
+ Frame {
+ msec: 208
+ hash: "7b66e21652a7d0982226e281a48411a9"
+ }
+ Frame {
+ msec: 224
+ hash: "a716c8d2c94433dee719f92f0822c8ec"
+ }
+ Frame {
+ msec: 240
+ hash: "f22a47b846cfee96ebdf39bbce2e6d51"
+ }
+ Frame {
+ msec: 256
+ hash: "5a8932d13d624932a65694fd19ec05cd"
+ }
+ Frame {
+ msec: 272
+ hash: "48e62dd171f5da82b5aa26c765e4042c"
+ }
+ Frame {
+ msec: 288
+ hash: "63d3c47f7dec1236440a05e0a8380900"
+ }
+ Frame {
+ msec: 304
+ hash: "323af110731b7af0c30f8862ff59b833"
+ }
+ Frame {
+ msec: 320
+ hash: "83c029e328e80af83158c37089cf0ece"
+ }
+ Frame {
+ msec: 336
+ hash: "3f9a09ae19be34348bb2552915360cf7"
+ }
+ Frame {
+ msec: 352
+ hash: "df624d70cae1bcefda8d69c0ff055d83"
+ }
+ Frame {
+ msec: 368
+ hash: "d671a3b971468e1d8aa30ab655e020a9"
+ }
+ Frame {
+ msec: 384
+ hash: "74c837b29f7f05b615123f0e608b523f"
+ }
+ Frame {
+ msec: 400
+ hash: "277ef98ea859fb7685fe6cd44a538a7d"
+ }
+ Frame {
+ msec: 416
+ hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9"
+ }
+ Frame {
+ msec: 432
+ hash: "456be9c208d690c479ba12bf6325dde0"
+ }
+ Frame {
+ msec: 448
+ hash: "10307beea6d99ab0ff5863f8e35555ed"
+ }
+ Frame {
+ msec: 464
+ hash: "170a1d5fe3422cf5223a78015a6a45fd"
+ }
+ Frame {
+ msec: 480
+ hash: "64ecb03aa538e74d0b99c6dec7751401"
+ }
+ Frame {
+ msec: 496
+ hash: "f3a7e74a1839f9366f9eeec4d2b80d1e"
+ }
+ Frame {
+ msec: 512
+ hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154"
+ }
+ Frame {
+ msec: 528
+ hash: "0af81ee0d76ff8335a0e347dc086ca37"
+ }
+ Frame {
+ msec: 544
+ hash: "061406edcbd2d4930ab89c3fcab63c7f"
+ }
+ Frame {
+ msec: 560
+ hash: "31d65134f340d82dd40f2401bda3fb7e"
+ }
+ Frame {
+ msec: 576
+ hash: "16c16c77c65b36d1e0954d5ead2642be"
+ }
+ Frame {
+ msec: 592
+ hash: "61c16009b65a55bffb63e27727e1615e"
+ }
+ Frame {
+ msec: 608
+ hash: "e1474c2cdd8768ca1ef45bf3bc5234ca"
+ }
+ Frame {
+ msec: 624
+ hash: "89c159ef00d273ecfe61332e1bf7244d"
+ }
+ Frame {
+ msec: 640
+ hash: "f4d0d3bca25e67908b38910f47b4757e"
+ }
+ Frame {
+ msec: 656
+ hash: "0e0c40f8e11a7bd499c80562ac6f8a82"
+ }
+ Frame {
+ msec: 672
+ hash: "4310a4c3037d845f088f21ad608f366a"
+ }
+ Frame {
+ msec: 688
+ hash: "3d518cd0348d6202243364af1dd6ce89"
+ }
+ Frame {
+ msec: 704
+ hash: "41987e6b4248d7944c0dbc6eb3862023"
+ }
+ Frame {
+ msec: 720
+ hash: "3e81338d38723d56f2d6c428271f81c1"
+ }
+ Frame {
+ msec: 736
+ hash: "902683d72f789399e9d99d1cea1bf177"
+ }
+ Frame {
+ msec: 752
+ hash: "efc119983701908a904deb24108c59cb"
+ }
+ Frame {
+ msec: 768
+ hash: "3a77785cfd7755f567619d8e04583f6a"
+ }
+ Frame {
+ msec: 784
+ hash: "fd85d1dd931033973283a408b5e328a8"
+ }
+ Frame {
+ msec: 800
+ hash: "5d3e85acabe5e5ff802eb7731676274f"
+ }
+ Frame {
+ msec: 816
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 832
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 848
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 864
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 880
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 896
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 912
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 928
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 944
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Frame {
+ msec: 960
+ image: "animated-smooth.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 992
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 1008
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 1024
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 1040
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 1056
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 1072
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 1088
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 1104
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 1120
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 1136
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 1152
+ hash: "23291a0239c69ea07db959e709b1ff5f"
+ }
+ Frame {
+ msec: 1168
+ hash: "2192094410e2d7c8d9d4aa5f8deacff5"
+ }
+ Frame {
+ msec: 1184
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 1200
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 1216
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 1232
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 1248
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 1264
+ hash: "7f9999a9c87af43b9703323efab31770"
+ }
+ Frame {
+ msec: 1280
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 1296
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 1312
+ hash: "fce2648975106bc5c0ca9a4530f7f748"
+ }
+ Frame {
+ msec: 1328
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 1344
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 1360
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 1376
+ hash: "49a1df977b0494c7c72ca0b65c394e13"
+ }
+ Frame {
+ msec: 1392
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 1408
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 1424
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 1440
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 1456
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 1472
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 1488
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 1504
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 1520
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 1536
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 1552
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 1568
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 1584
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 1600
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 1616
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 1632
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 1648
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 1664
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 1680
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 1696
+ hash: "d8e398a1ce9ca45c19951e93bd5c932a"
+ }
+ Frame {
+ msec: 1712
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 1728
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 1744
+ hash: "fc913807eb1069d611495fbd5d43ee3d"
+ }
+ Frame {
+ msec: 1760
+ hash: "5d9ee853f083d514fbe51d6953d8e000"
+ }
+ Frame {
+ msec: 1776
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 1792
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 1808
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 1824
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 1840
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 1856
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 1872
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 1888
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 1904
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 1920
+ image: "animated-smooth.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 1952
+ hash: "3991bc7760b7981d80665e3a7654c9f4"
+ }
+ Frame {
+ msec: 1968
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 1984
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 2000
+ hash: "723f87da7e5b002a2e9b0bcbc81f9458"
+ }
+ Frame {
+ msec: 2016
+ hash: "6b8ded0d9386a3fff0601a100c513080"
+ }
+ Frame {
+ msec: 2032
+ hash: "f976cd5046ef5391536859e63db905bd"
+ }
+ Frame {
+ msec: 2048
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 2064
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 2080
+ hash: "b980703c1d0018937e83a8ba8862469e"
+ }
+ Frame {
+ msec: 2096
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 2112
+ hash: "3b7b83e97d17440b42e6ef4b962076d8"
+ }
+ Frame {
+ msec: 2128
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 2144
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 2160
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 2176
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 2192
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 2208
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 2224
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 2240
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 2256
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 2272
+ hash: "5d9ee853f083d514fbe51d6953d8e000"
+ }
+ Frame {
+ msec: 2288
+ hash: "fe899138116774df4c4441687e3019c5"
+ }
+ Frame {
+ msec: 2304
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 2320
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 2336
+ hash: "64cd225202ed6c91b02c368a9160a656"
+ }
+ Frame {
+ msec: 2352
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 2368
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 2384
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 2400
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 2416
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 2432
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 2448
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 2464
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 2480
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 2496
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 2512
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 2528
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 2544
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 2560
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 2576
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 2592
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 2608
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 2624
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 2640
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 2656
+ hash: "a676f45d946aeb9fa577c0e862735b01"
+ }
+ Frame {
+ msec: 2672
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 2688
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 2704
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 2720
+ hash: "fce2648975106bc5c0ca9a4530f7f748"
+ }
+ Frame {
+ msec: 2736
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 2752
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 2768
+ hash: "2084ccc60ddd493399c128717816d33b"
+ }
+ Frame {
+ msec: 2784
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 2800
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 2816
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 2832
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 2848
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 2864
+ hash: "85ef33fcb3f91e4fc20391bf94455984"
+ }
+ Frame {
+ msec: 2880
+ image: "animated-smooth.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 2912
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 2928
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 2944
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 2960
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 2976
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 2992
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 3008
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 3024
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 3040
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 3056
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 3072
+ hash: "d7e96278583f83ab636ed68fa130e4d2"
+ }
+ Frame {
+ msec: 3088
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Frame {
+ msec: 3104
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 3120
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 3136
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 3152
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 3168
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 3184
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 3200
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 3216
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 3232
+ hash: "5d3e85acabe5e5ff802eb7731676274f"
+ }
+ Frame {
+ msec: 3248
+ hash: "fd85d1dd931033973283a408b5e328a8"
+ }
+ Frame {
+ msec: 3264
+ hash: "3a77785cfd7755f567619d8e04583f6a"
+ }
+ Frame {
+ msec: 3280
+ hash: "efc119983701908a904deb24108c59cb"
+ }
+ Frame {
+ msec: 3296
+ hash: "902683d72f789399e9d99d1cea1bf177"
+ }
+ Frame {
+ msec: 3312
+ hash: "3e81338d38723d56f2d6c428271f81c1"
+ }
+ Frame {
+ msec: 3328
+ hash: "41987e6b4248d7944c0dbc6eb3862023"
+ }
+ Frame {
+ msec: 3344
+ hash: "3d518cd0348d6202243364af1dd6ce89"
+ }
+ Frame {
+ msec: 3360
+ hash: "4310a4c3037d845f088f21ad608f366a"
+ }
+ Frame {
+ msec: 3376
+ hash: "0e0c40f8e11a7bd499c80562ac6f8a82"
+ }
+ Frame {
+ msec: 3392
+ hash: "f4d0d3bca25e67908b38910f47b4757e"
+ }
+ Frame {
+ msec: 3408
+ hash: "f602e3eda1889d1a7e49560f0dfb5d4c"
+ }
+ Frame {
+ msec: 3424
+ hash: "e1474c2cdd8768ca1ef45bf3bc5234ca"
+ }
+ Frame {
+ msec: 3440
+ hash: "c8312ede0998636a6bd6451d13636577"
+ }
+ Frame {
+ msec: 3456
+ hash: "16c16c77c65b36d1e0954d5ead2642be"
+ }
+ Frame {
+ msec: 3472
+ hash: "31d65134f340d82dd40f2401bda3fb7e"
+ }
+ Frame {
+ msec: 3488
+ hash: "061406edcbd2d4930ab89c3fcab63c7f"
+ }
+ Frame {
+ msec: 3504
+ hash: "0af81ee0d76ff8335a0e347dc086ca37"
+ }
+ Frame {
+ msec: 3520
+ hash: "0f347763f25350ebb62dda1536372b45"
+ }
+ Frame {
+ msec: 3536
+ hash: "f3a7e74a1839f9366f9eeec4d2b80d1e"
+ }
+ Frame {
+ msec: 3552
+ hash: "64ecb03aa538e74d0b99c6dec7751401"
+ }
+ Frame {
+ msec: 3568
+ hash: "170a1d5fe3422cf5223a78015a6a45fd"
+ }
+ Frame {
+ msec: 3584
+ hash: "10307beea6d99ab0ff5863f8e35555ed"
+ }
+ Frame {
+ msec: 3600
+ hash: "456be9c208d690c479ba12bf6325dde0"
+ }
+ Frame {
+ msec: 3616
+ hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9"
+ }
+ Frame {
+ msec: 3632
+ hash: "277ef98ea859fb7685fe6cd44a538a7d"
+ }
+ Frame {
+ msec: 3648
+ hash: "74c837b29f7f05b615123f0e608b523f"
+ }
+ Frame {
+ msec: 3664
+ hash: "d671a3b971468e1d8aa30ab655e020a9"
+ }
+ Frame {
+ msec: 3680
+ hash: "df624d70cae1bcefda8d69c0ff055d83"
+ }
+ Frame {
+ msec: 3696
+ hash: "3f9a09ae19be34348bb2552915360cf7"
+ }
+ Frame {
+ msec: 3712
+ hash: "83c029e328e80af83158c37089cf0ece"
+ }
+ Frame {
+ msec: 3728
+ hash: "323af110731b7af0c30f8862ff59b833"
+ }
+ Frame {
+ msec: 3744
+ hash: "63d3c47f7dec1236440a05e0a8380900"
+ }
+ Frame {
+ msec: 3760
+ hash: "48e62dd171f5da82b5aa26c765e4042c"
+ }
+ Frame {
+ msec: 3776
+ hash: "5a8932d13d624932a65694fd19ec05cd"
+ }
+ Frame {
+ msec: 3792
+ hash: "8419b295f67cae133760da79dfc26505"
+ }
+ Frame {
+ msec: 3808
+ hash: "a716c8d2c94433dee719f92f0822c8ec"
+ }
+ Frame {
+ msec: 3824
+ hash: "7b66e21652a7d0982226e281a48411a9"
+ }
+ Frame {
+ msec: 3840
+ image: "animated-smooth.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "59470d71fa4426d0283e86371f2bfc2a"
+ }
+ Frame {
+ msec: 3872
+ hash: "d56ba74d38c1889a278929d1c1b7f17a"
+ }
+ Frame {
+ msec: 3888
+ hash: "de471829f8ad3b43bf1b4df9d1d65a4d"
+ }
+ Frame {
+ msec: 3904
+ hash: "cd2180be80101c2aa4350b51b7a6f502"
+ }
+ Frame {
+ msec: 3920
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3936
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3952
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3968
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3984
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4000
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4016
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4032
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4048
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4064
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4080
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4096
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4128
+ hash: "cd2180be80101c2aa4350b51b7a6f502"
+ }
+ Frame {
+ msec: 4144
+ hash: "de471829f8ad3b43bf1b4df9d1d65a4d"
+ }
+ Frame {
+ msec: 4160
+ hash: "ed9f2ca797894612600bc4b7fbaecb84"
+ }
+ Frame {
+ msec: 4176
+ hash: "59470d71fa4426d0283e86371f2bfc2a"
+ }
+ Frame {
+ msec: 4192
+ hash: "9a2f92efb51bcc6293d6a8e82d5314ea"
+ }
+ Frame {
+ msec: 4208
+ hash: "7b66e21652a7d0982226e281a48411a9"
+ }
+ Frame {
+ msec: 4224
+ hash: "a716c8d2c94433dee719f92f0822c8ec"
+ }
+ Frame {
+ msec: 4240
+ hash: "f22a47b846cfee96ebdf39bbce2e6d51"
+ }
+ Frame {
+ msec: 4256
+ hash: "5a8932d13d624932a65694fd19ec05cd"
+ }
+ Frame {
+ msec: 4272
+ hash: "48e62dd171f5da82b5aa26c765e4042c"
+ }
+ Frame {
+ msec: 4288
+ hash: "63d3c47f7dec1236440a05e0a8380900"
+ }
+ Frame {
+ msec: 4304
+ hash: "323af110731b7af0c30f8862ff59b833"
+ }
+ Frame {
+ msec: 4320
+ hash: "83c029e328e80af83158c37089cf0ece"
+ }
+ Frame {
+ msec: 4336
+ hash: "3f9a09ae19be34348bb2552915360cf7"
+ }
+ Frame {
+ msec: 4352
+ hash: "df624d70cae1bcefda8d69c0ff055d83"
+ }
+ Frame {
+ msec: 4368
+ hash: "d671a3b971468e1d8aa30ab655e020a9"
+ }
+ Frame {
+ msec: 4384
+ hash: "74c837b29f7f05b615123f0e608b523f"
+ }
+ Frame {
+ msec: 4400
+ hash: "277ef98ea859fb7685fe6cd44a538a7d"
+ }
+ Frame {
+ msec: 4416
+ hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9"
+ }
+ Frame {
+ msec: 4432
+ hash: "456be9c208d690c479ba12bf6325dde0"
+ }
+ Frame {
+ msec: 4448
+ hash: "10307beea6d99ab0ff5863f8e35555ed"
+ }
+ Frame {
+ msec: 4464
+ hash: "170a1d5fe3422cf5223a78015a6a45fd"
+ }
+ Frame {
+ msec: 4480
+ hash: "64ecb03aa538e74d0b99c6dec7751401"
+ }
+ Frame {
+ msec: 4496
+ hash: "f3a7e74a1839f9366f9eeec4d2b80d1e"
+ }
+ Frame {
+ msec: 4512
+ hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154"
+ }
+ Frame {
+ msec: 4528
+ hash: "0af81ee0d76ff8335a0e347dc086ca37"
+ }
+ Frame {
+ msec: 4544
+ hash: "061406edcbd2d4930ab89c3fcab63c7f"
+ }
+ Frame {
+ msec: 4560
+ hash: "31d65134f340d82dd40f2401bda3fb7e"
+ }
+ Frame {
+ msec: 4576
+ hash: "16c16c77c65b36d1e0954d5ead2642be"
+ }
+ Frame {
+ msec: 4592
+ hash: "61c16009b65a55bffb63e27727e1615e"
+ }
+ Frame {
+ msec: 4608
+ hash: "e1474c2cdd8768ca1ef45bf3bc5234ca"
+ }
+ Frame {
+ msec: 4624
+ hash: "89c159ef00d273ecfe61332e1bf7244d"
+ }
+ Frame {
+ msec: 4640
+ hash: "f4d0d3bca25e67908b38910f47b4757e"
+ }
+ Frame {
+ msec: 4656
+ hash: "0e0c40f8e11a7bd499c80562ac6f8a82"
+ }
+ Frame {
+ msec: 4672
+ hash: "4310a4c3037d845f088f21ad608f366a"
+ }
+ Frame {
+ msec: 4688
+ hash: "3d518cd0348d6202243364af1dd6ce89"
+ }
+ Frame {
+ msec: 4704
+ hash: "41987e6b4248d7944c0dbc6eb3862023"
+ }
+ Frame {
+ msec: 4720
+ hash: "3e81338d38723d56f2d6c428271f81c1"
+ }
+ Frame {
+ msec: 4736
+ hash: "902683d72f789399e9d99d1cea1bf177"
+ }
+ Frame {
+ msec: 4752
+ hash: "efc119983701908a904deb24108c59cb"
+ }
+ Frame {
+ msec: 4768
+ hash: "3a77785cfd7755f567619d8e04583f6a"
+ }
+ Frame {
+ msec: 4784
+ hash: "fd85d1dd931033973283a408b5e328a8"
+ }
+ Frame {
+ msec: 4800
+ image: "animated-smooth.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 4832
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 4848
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 4864
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 4880
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 4896
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 4912
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 4928
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 4944
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Frame {
+ msec: 4960
+ hash: "d7e96278583f83ab636ed68fa130e4d2"
+ }
+ Frame {
+ msec: 4976
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 4992
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 5008
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 5024
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 5040
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 5056
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 5072
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 5088
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 5104
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 5120
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 5136
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 5152
+ hash: "23291a0239c69ea07db959e709b1ff5f"
+ }
+ Frame {
+ msec: 5168
+ hash: "2192094410e2d7c8d9d4aa5f8deacff5"
+ }
+ Frame {
+ msec: 5184
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 5200
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 5216
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 5232
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 5248
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 5264
+ hash: "7f9999a9c87af43b9703323efab31770"
+ }
+ Frame {
+ msec: 5280
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 5296
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 5312
+ hash: "fce2648975106bc5c0ca9a4530f7f748"
+ }
+ Frame {
+ msec: 5328
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 5344
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 5360
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 5376
+ hash: "49a1df977b0494c7c72ca0b65c394e13"
+ }
+ Frame {
+ msec: 5392
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 5408
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 5424
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 5440
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 5456
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 5472
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 5488
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 5504
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 5520
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 5536
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 5552
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 5568
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 5584
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 5600
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 5616
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 5632
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 5648
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 5664
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 5680
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 5696
+ hash: "d8e398a1ce9ca45c19951e93bd5c932a"
+ }
+ Frame {
+ msec: 5712
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 5728
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 5744
+ hash: "fc913807eb1069d611495fbd5d43ee3d"
+ }
+ Frame {
+ msec: 5760
+ image: "animated-smooth.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 5792
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 5808
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 5824
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 5840
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 5856
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 5872
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 5888
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 5904
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 5920
+ hash: "ec7e1190dd4fe122545e6ce6c8740500"
+ }
+ Frame {
+ msec: 5936
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 5952
+ hash: "3991bc7760b7981d80665e3a7654c9f4"
+ }
+ Frame {
+ msec: 5968
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 5984
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 6000
+ hash: "723f87da7e5b002a2e9b0bcbc81f9458"
+ }
+ Frame {
+ msec: 6016
+ hash: "6b8ded0d9386a3fff0601a100c513080"
+ }
+ Frame {
+ msec: 6032
+ hash: "f976cd5046ef5391536859e63db905bd"
+ }
+ Frame {
+ msec: 6048
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 6064
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 6080
+ hash: "b980703c1d0018937e83a8ba8862469e"
+ }
+ Frame {
+ msec: 6096
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 6112
+ hash: "3b7b83e97d17440b42e6ef4b962076d8"
+ }
+ Frame {
+ msec: 6128
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 6144
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 6160
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 6176
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 6192
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 6208
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 6224
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 6240
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 6256
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 6272
+ hash: "5d9ee853f083d514fbe51d6953d8e000"
+ }
+ Frame {
+ msec: 6288
+ hash: "fe899138116774df4c4441687e3019c5"
+ }
+ Frame {
+ msec: 6304
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 6320
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 6336
+ hash: "64cd225202ed6c91b02c368a9160a656"
+ }
+ Frame {
+ msec: 6352
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 6368
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 6384
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 6400
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 6416
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 6432
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 6448
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 6464
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 6480
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 6496
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 6512
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 6528
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 6544
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 6560
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 6576
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 6592
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 6608
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 6624
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 6640
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 6656
+ hash: "a676f45d946aeb9fa577c0e862735b01"
+ }
+ Frame {
+ msec: 6672
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 6688
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 6704
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 6720
+ image: "animated-smooth.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 6752
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 6768
+ hash: "2084ccc60ddd493399c128717816d33b"
+ }
+ Frame {
+ msec: 6784
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 6800
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 6816
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 6832
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 6848
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 6864
+ hash: "85ef33fcb3f91e4fc20391bf94455984"
+ }
+ Frame {
+ msec: 6880
+ hash: "23291a0239c69ea07db959e709b1ff5f"
+ }
+ Frame {
+ msec: 6896
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 6912
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 6928
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 6944
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 6960
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 6976
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 6992
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 7008
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 7024
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 7040
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 7056
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 7072
+ hash: "d7e96278583f83ab636ed68fa130e4d2"
+ }
+ Frame {
+ msec: 7088
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 0
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7104
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 7120
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 7136
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 7152
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 7168
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 7184
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 7200
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 7216
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 7232
+ hash: "5d3e85acabe5e5ff802eb7731676274f"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.png
new file mode 100644
index 0000000..99228f9
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.png
new file mode 100644
index 0000000..a2dcd00
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.png
new file mode 100644
index 0000000..8a80020
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.png
new file mode 100644
index 0000000..02b57ef
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.png
new file mode 100644
index 0000000..df0f6cc
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.png
new file mode 100644
index 0000000..0add64d
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.png
new file mode 100644
index 0000000..0886207
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.png
new file mode 100644
index 0000000..bc1a7b0
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml
new file mode 100644
index 0000000..29e591a
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml
@@ -0,0 +1,2091 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 32
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 48
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 64
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 80
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 96
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 128
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 144
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 160
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 176
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 192
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 208
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 224
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 240
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 256
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 272
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 288
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 304
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 320
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 336
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 352
+ hash: "a85ee8be6a47bbd1b14137803ce606ec"
+ }
+ Frame {
+ msec: 368
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 384
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 400
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 416
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 432
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 448
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 464
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 480
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 496
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 512
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 528
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 544
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 560
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 576
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 592
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 608
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 624
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 640
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 656
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 672
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 688
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 704
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 720
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 736
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 752
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 768
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 784
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 800
+ hash: "593a8a45c3a0cd7ce1cb6bd1913136ba"
+ }
+ Frame {
+ msec: 816
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 832
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 848
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 864
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 880
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 896
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 912
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 928
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 944
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 960
+ image: "animated.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 992
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 1008
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 1024
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 1040
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 1056
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 1072
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 1088
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 1104
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 1120
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 1136
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 1152
+ hash: "c3a1f12febc979150028737722d6d045"
+ }
+ Frame {
+ msec: 1168
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 1184
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 1200
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 1216
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 1232
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 1248
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 1264
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 1280
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 1296
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 1312
+ hash: "94084ca4998fcda408f6987f52c34185"
+ }
+ Frame {
+ msec: 1328
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 1344
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 1360
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 1376
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 1392
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 1408
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 1424
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 1440
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 1456
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 1472
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 1488
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 1504
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 1520
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 1536
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 1552
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 1568
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 1584
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 1600
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 1616
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 1632
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 1648
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 1664
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 1680
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 1696
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 1712
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 1728
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 1744
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 1760
+ hash: "a88d6fc324ef48aa52c642a1662ec679"
+ }
+ Frame {
+ msec: 1776
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 1792
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 1808
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 1824
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 1840
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 1856
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 1872
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 1888
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 1904
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 1920
+ image: "animated.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 1952
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 1968
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 1984
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 2000
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 2016
+ hash: "911591db1519ba264847f09868e38e0e"
+ }
+ Frame {
+ msec: 2032
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 2048
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 2064
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 2080
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 2096
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 2112
+ hash: "63ebaa4869728f5e2891d068e4b0091c"
+ }
+ Frame {
+ msec: 2128
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 2144
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 2160
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 2176
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 2192
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 2208
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 2224
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 2240
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 2256
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 2272
+ hash: "a88d6fc324ef48aa52c642a1662ec679"
+ }
+ Frame {
+ msec: 2288
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 2304
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 2320
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 2336
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 2352
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 2368
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 2384
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 2400
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 2416
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 2432
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 2448
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 2464
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 2480
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 2496
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 2512
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 2528
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 2544
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 2560
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 2576
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 2592
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 2608
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 2624
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 2640
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 2656
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 2672
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 2688
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 2704
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 2720
+ hash: "94084ca4998fcda408f6987f52c34185"
+ }
+ Frame {
+ msec: 2736
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 2752
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 2768
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 2784
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 2800
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 2816
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 2832
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 2848
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 2864
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 2880
+ image: "animated.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 2912
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 2928
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 2944
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 2960
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 2976
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 2992
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 3008
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 3024
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 3040
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 3056
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 3072
+ hash: "280288a7988736e30a2a3e4289ac3b0c"
+ }
+ Frame {
+ msec: 3088
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 3104
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 3120
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 3136
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 3152
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 3168
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 3184
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 3200
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 3216
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 3232
+ hash: "593a8a45c3a0cd7ce1cb6bd1913136ba"
+ }
+ Frame {
+ msec: 3248
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 3264
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 3280
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 3296
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 3312
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 3328
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 3344
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 3360
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 3376
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 3392
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 3408
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 3424
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 3440
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 3456
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 3472
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 3488
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 3504
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 3520
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 3536
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 3552
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 3568
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 3584
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 3600
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 3616
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 3632
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 3648
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 3664
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 3680
+ hash: "a85ee8be6a47bbd1b14137803ce606ec"
+ }
+ Frame {
+ msec: 3696
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 3712
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 3728
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 3744
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 3760
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 3776
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 3792
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 3808
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 3824
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 3840
+ image: "animated.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 3872
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 3888
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 3904
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 3920
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3936
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3952
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3968
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3984
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4000
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4016
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4032
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4048
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4064
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4080
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4096
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4128
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 4144
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 4160
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 4176
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 4192
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 4208
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 4224
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 4240
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 4256
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 4272
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 4288
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 4304
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 4320
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 4336
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 4352
+ hash: "a85ee8be6a47bbd1b14137803ce606ec"
+ }
+ Frame {
+ msec: 4368
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 4384
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 4400
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 4416
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 4432
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 4448
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 4464
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 4480
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 4496
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 4512
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 4528
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 4544
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 4560
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 4576
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 4592
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 4608
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 4624
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 4640
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 4656
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 4672
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 4688
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 4704
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 4720
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 4736
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 4752
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 4768
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 4784
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 4800
+ image: "animated.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 4832
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 4848
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 4864
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 4880
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 4896
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 4912
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 4928
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 4944
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 4960
+ hash: "280288a7988736e30a2a3e4289ac3b0c"
+ }
+ Frame {
+ msec: 4976
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 4992
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 5008
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 5024
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 5040
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 5056
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 5072
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 5088
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 5104
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 5120
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 5136
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 5152
+ hash: "c3a1f12febc979150028737722d6d045"
+ }
+ Frame {
+ msec: 5168
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 5184
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 5200
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 5216
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 5232
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 5248
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 5264
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 5280
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 5296
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 5312
+ hash: "94084ca4998fcda408f6987f52c34185"
+ }
+ Frame {
+ msec: 5328
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 5344
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 5360
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 5376
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 5392
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 5408
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 5424
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 5440
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 5456
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 5472
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 5488
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 5504
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 5520
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 5536
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 5552
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 5568
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 5584
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 5600
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 5616
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 5632
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 5648
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 5664
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 5680
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 5696
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 5712
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 5728
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 5744
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 5760
+ image: "animated.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 5792
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 5808
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 5824
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 5840
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 5856
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 5872
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 5888
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 5904
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 5920
+ hash: "63ebaa4869728f5e2891d068e4b0091c"
+ }
+ Frame {
+ msec: 5936
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 5952
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 5968
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 5984
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 6000
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 6016
+ hash: "911591db1519ba264847f09868e38e0e"
+ }
+ Frame {
+ msec: 6032
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 6048
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 6064
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 6080
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 6096
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 6112
+ hash: "63ebaa4869728f5e2891d068e4b0091c"
+ }
+ Frame {
+ msec: 6128
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 6144
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 6160
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 6176
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 6192
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 6208
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 6224
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 6240
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 6256
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 6272
+ hash: "a88d6fc324ef48aa52c642a1662ec679"
+ }
+ Frame {
+ msec: 6288
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 6304
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 6320
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 6336
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 6352
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 6368
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 6384
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 6400
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 6416
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 6432
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 6448
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 6464
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 6480
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 6496
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 6512
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 6528
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 6544
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 6560
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 6576
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 6592
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 6608
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 6624
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 6640
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 6656
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 6672
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 6688
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 6704
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 6720
+ image: "animated.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 6752
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 6768
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 6784
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 6800
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 6816
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 6832
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 6848
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 6864
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 6880
+ hash: "c3a1f12febc979150028737722d6d045"
+ }
+ Frame {
+ msec: 6896
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 6912
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 6928
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 6944
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 6960
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 6976
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 6992
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 7008
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 7024
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 7040
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 7056
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 7072
+ hash: "280288a7988736e30a2a3e4289ac3b0c"
+ }
+ Frame {
+ msec: 7088
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 7104
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 7120
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 7136
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 7152
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 7168
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 7184
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 7200
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 7216
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 7232
+ hash: "593a8a45c3a0cd7ce1cb6bd1913136ba"
+ }
+ Frame {
+ msec: 7248
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 7264
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 7280
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 7296
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 7312
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 7328
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 7344
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 7360
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 7376
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 7392
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 7408
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 7424
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 7440
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 7456
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 7472
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 7488
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 7504
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 7520
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 7536
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 7552
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 7568
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 7584
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 7600
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 7616
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 7632
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 7648
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 7664
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 7680
+ image: "animated.7.png"
+ }
+ Frame {
+ msec: 7696
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 7712
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 7728
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 7744
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 7760
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 7776
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 7792
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 7808
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 7824
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 7840
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 7856
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 7872
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 7888
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 7904
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 7920
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7936
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7952
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7968
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7984
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8000
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8016
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8032
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8048
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8064
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8080
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8096
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8128
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 8144
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 8160
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 8176
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 8192
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 8208
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 8224
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 8240
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 8256
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 8272
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 0
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8288
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 8304
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml
new file mode 100644
index 0000000..16cd5e9
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml
@@ -0,0 +1,1359 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 32
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 48
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 64
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 80
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 96
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 112
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 128
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 144
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 160
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 176
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 192
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 208
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 224
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 240
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 256
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 272
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 288
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 304
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 320
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 336
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 352
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 368
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 384
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 400
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 416
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 432
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 448
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 464
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 480
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 496
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 512
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 528
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 544
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 560
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 576
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 592
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 608
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 624
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 640
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 656
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 672
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 688
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 704
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 720
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 736
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 752
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 768
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 784
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 800
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 816
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 832
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 848
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 864
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 880
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 896
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 912
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 928
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 944
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 960
+ image: "borders.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 992
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1008
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1024
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1040
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1056
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1072
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1088
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1104
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1120
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1136
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1152
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1168
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1184
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1200
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1216
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1232
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1248
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1264
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1280
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1296
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1312
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1328
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1344
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1360
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1376
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1392
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1408
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1424
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1440
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1456
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1472
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1488
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1504
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1520
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1536
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1552
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1568
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1584
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1600
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1616
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1632
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1648
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1664
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1680
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1696
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1712
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1728
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1744
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1760
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1776
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1792
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1808
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1824
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1840
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1856
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1872
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1888
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1904
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1920
+ image: "borders.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1952
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1968
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1984
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2000
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2016
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2032
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2048
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2064
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2080
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2096
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2112
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2128
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2144
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2160
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2176
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2192
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2208
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2224
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2240
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2256
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2272
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2288
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2304
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2320
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2336
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2352
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2368
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2384
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2400
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2416
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2432
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2448
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2464
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2480
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2496
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2512
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2528
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2544
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2560
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2576
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2592
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2608
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2624
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2640
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2656
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2672
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2688
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2704
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2720
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2736
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2752
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2768
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2784
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2800
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2816
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2832
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2848
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2864
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2880
+ image: "borders.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2912
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2928
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2944
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2960
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2976
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2992
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3008
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3024
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3040
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3056
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3072
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3088
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3104
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3120
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3136
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3152
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3168
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3184
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3200
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3216
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3232
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3248
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3264
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3280
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3296
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3312
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3328
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3344
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3360
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3376
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3392
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3408
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3424
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3440
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3456
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3472
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3488
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3504
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3520
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3536
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3552
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3568
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3584
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3600
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3616
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3632
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3648
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3664
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3680
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3696
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3712
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3728
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3744
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3760
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3776
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3792
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3808
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3824
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3840
+ image: "borders.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3872
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3888
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3904
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3920
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3936
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3952
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3968
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3984
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4000
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4016
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4032
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4048
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4064
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4080
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4096
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4112
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4128
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4144
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4160
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4176
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4192
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4208
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4224
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4240
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4256
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4272
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4288
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4304
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4320
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4336
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4352
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4368
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4384
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4400
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4416
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4432
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4448
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4464
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4480
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4496
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4512
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4528
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4544
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4560
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4576
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4592
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4608
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4624
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4640
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4656
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4672
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4688
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4704
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4720
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4736
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4752
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4768
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4784
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4800
+ image: "borders.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4832
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4848
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4864
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4880
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4896
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4912
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4928
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4944
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4960
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4976
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4992
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5008
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5024
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5040
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5056
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5072
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5088
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5104
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5120
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5136
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5152
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5168
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5184
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5200
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5216
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5232
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5248
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5264
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5280
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5296
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5312
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5328
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5344
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5360
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5376
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5392
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5408
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.png
new file mode 100644
index 0000000..9a6b079
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.png
new file mode 100644
index 0000000..1f960e5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.png
new file mode 100644
index 0000000..85a2729
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.png
new file mode 100644
index 0000000..de6ff7c
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.png
new file mode 100644
index 0000000..fe7d3dd
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.png
new file mode 100644
index 0000000..e73bef5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.png
new file mode 100644
index 0000000..0c75422
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml
new file mode 100644
index 0000000..043f5e2
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml
@@ -0,0 +1,1823 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 32
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 48
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 64
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 80
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 96
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 128
+ hash: "cd2180be80101c2aa4350b51b7a6f502"
+ }
+ Frame {
+ msec: 144
+ hash: "de471829f8ad3b43bf1b4df9d1d65a4d"
+ }
+ Frame {
+ msec: 160
+ hash: "ed9f2ca797894612600bc4b7fbaecb84"
+ }
+ Frame {
+ msec: 176
+ hash: "59470d71fa4426d0283e86371f2bfc2a"
+ }
+ Frame {
+ msec: 192
+ hash: "9a2f92efb51bcc6293d6a8e82d5314ea"
+ }
+ Frame {
+ msec: 208
+ hash: "7b66e21652a7d0982226e281a48411a9"
+ }
+ Frame {
+ msec: 224
+ hash: "a716c8d2c94433dee719f92f0822c8ec"
+ }
+ Frame {
+ msec: 240
+ hash: "f22a47b846cfee96ebdf39bbce2e6d51"
+ }
+ Frame {
+ msec: 256
+ hash: "5a8932d13d624932a65694fd19ec05cd"
+ }
+ Frame {
+ msec: 272
+ hash: "48e62dd171f5da82b5aa26c765e4042c"
+ }
+ Frame {
+ msec: 288
+ hash: "63d3c47f7dec1236440a05e0a8380900"
+ }
+ Frame {
+ msec: 304
+ hash: "323af110731b7af0c30f8862ff59b833"
+ }
+ Frame {
+ msec: 320
+ hash: "83c029e328e80af83158c37089cf0ece"
+ }
+ Frame {
+ msec: 336
+ hash: "3f9a09ae19be34348bb2552915360cf7"
+ }
+ Frame {
+ msec: 352
+ hash: "df624d70cae1bcefda8d69c0ff055d83"
+ }
+ Frame {
+ msec: 368
+ hash: "d671a3b971468e1d8aa30ab655e020a9"
+ }
+ Frame {
+ msec: 384
+ hash: "74c837b29f7f05b615123f0e608b523f"
+ }
+ Frame {
+ msec: 400
+ hash: "277ef98ea859fb7685fe6cd44a538a7d"
+ }
+ Frame {
+ msec: 416
+ hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9"
+ }
+ Frame {
+ msec: 432
+ hash: "456be9c208d690c479ba12bf6325dde0"
+ }
+ Frame {
+ msec: 448
+ hash: "10307beea6d99ab0ff5863f8e35555ed"
+ }
+ Frame {
+ msec: 464
+ hash: "170a1d5fe3422cf5223a78015a6a45fd"
+ }
+ Frame {
+ msec: 480
+ hash: "64ecb03aa538e74d0b99c6dec7751401"
+ }
+ Frame {
+ msec: 496
+ hash: "f3a7e74a1839f9366f9eeec4d2b80d1e"
+ }
+ Frame {
+ msec: 512
+ hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154"
+ }
+ Frame {
+ msec: 528
+ hash: "0af81ee0d76ff8335a0e347dc086ca37"
+ }
+ Frame {
+ msec: 544
+ hash: "061406edcbd2d4930ab89c3fcab63c7f"
+ }
+ Frame {
+ msec: 560
+ hash: "31d65134f340d82dd40f2401bda3fb7e"
+ }
+ Frame {
+ msec: 576
+ hash: "16c16c77c65b36d1e0954d5ead2642be"
+ }
+ Frame {
+ msec: 592
+ hash: "61c16009b65a55bffb63e27727e1615e"
+ }
+ Frame {
+ msec: 608
+ hash: "e1474c2cdd8768ca1ef45bf3bc5234ca"
+ }
+ Frame {
+ msec: 624
+ hash: "89c159ef00d273ecfe61332e1bf7244d"
+ }
+ Frame {
+ msec: 640
+ hash: "f4d0d3bca25e67908b38910f47b4757e"
+ }
+ Frame {
+ msec: 656
+ hash: "0e0c40f8e11a7bd499c80562ac6f8a82"
+ }
+ Frame {
+ msec: 672
+ hash: "4310a4c3037d845f088f21ad608f366a"
+ }
+ Frame {
+ msec: 688
+ hash: "3d518cd0348d6202243364af1dd6ce89"
+ }
+ Frame {
+ msec: 704
+ hash: "41987e6b4248d7944c0dbc6eb3862023"
+ }
+ Frame {
+ msec: 720
+ hash: "3e81338d38723d56f2d6c428271f81c1"
+ }
+ Frame {
+ msec: 736
+ hash: "902683d72f789399e9d99d1cea1bf177"
+ }
+ Frame {
+ msec: 752
+ hash: "efc119983701908a904deb24108c59cb"
+ }
+ Frame {
+ msec: 768
+ hash: "3a77785cfd7755f567619d8e04583f6a"
+ }
+ Frame {
+ msec: 784
+ hash: "fd85d1dd931033973283a408b5e328a8"
+ }
+ Frame {
+ msec: 800
+ hash: "5d3e85acabe5e5ff802eb7731676274f"
+ }
+ Frame {
+ msec: 816
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 832
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 848
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 864
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 880
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 896
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 912
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 928
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 944
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Frame {
+ msec: 960
+ image: "animated-smooth.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 992
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 1008
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 1024
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 1040
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 1056
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 1072
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 1088
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 1104
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 1120
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 1136
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 1152
+ hash: "23291a0239c69ea07db959e709b1ff5f"
+ }
+ Frame {
+ msec: 1168
+ hash: "2192094410e2d7c8d9d4aa5f8deacff5"
+ }
+ Frame {
+ msec: 1184
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 1200
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 1216
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 1232
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 1248
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 1264
+ hash: "7f9999a9c87af43b9703323efab31770"
+ }
+ Frame {
+ msec: 1280
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 1296
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 1312
+ hash: "fce2648975106bc5c0ca9a4530f7f748"
+ }
+ Frame {
+ msec: 1328
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 1344
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 1360
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 1376
+ hash: "49a1df977b0494c7c72ca0b65c394e13"
+ }
+ Frame {
+ msec: 1392
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 1408
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 1424
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 1440
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 1456
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 1472
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 1488
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 1504
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 1520
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 1536
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 1552
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 1568
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 1584
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 1600
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 1616
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 1632
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 1648
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 1664
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 1680
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 1696
+ hash: "d8e398a1ce9ca45c19951e93bd5c932a"
+ }
+ Frame {
+ msec: 1712
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 1728
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 1744
+ hash: "fc913807eb1069d611495fbd5d43ee3d"
+ }
+ Frame {
+ msec: 1760
+ hash: "5d9ee853f083d514fbe51d6953d8e000"
+ }
+ Frame {
+ msec: 1776
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 1792
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 1808
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 1824
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 1840
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 1856
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 1872
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 1888
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 1904
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 1920
+ image: "animated-smooth.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 1952
+ hash: "3991bc7760b7981d80665e3a7654c9f4"
+ }
+ Frame {
+ msec: 1968
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 1984
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 2000
+ hash: "723f87da7e5b002a2e9b0bcbc81f9458"
+ }
+ Frame {
+ msec: 2016
+ hash: "6b8ded0d9386a3fff0601a100c513080"
+ }
+ Frame {
+ msec: 2032
+ hash: "f976cd5046ef5391536859e63db905bd"
+ }
+ Frame {
+ msec: 2048
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 2064
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 2080
+ hash: "b980703c1d0018937e83a8ba8862469e"
+ }
+ Frame {
+ msec: 2096
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 2112
+ hash: "3b7b83e97d17440b42e6ef4b962076d8"
+ }
+ Frame {
+ msec: 2128
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 2144
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 2160
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 2176
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 2192
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 2208
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 2224
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 2240
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 2256
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 2272
+ hash: "5d9ee853f083d514fbe51d6953d8e000"
+ }
+ Frame {
+ msec: 2288
+ hash: "fe899138116774df4c4441687e3019c5"
+ }
+ Frame {
+ msec: 2304
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 2320
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 2336
+ hash: "64cd225202ed6c91b02c368a9160a656"
+ }
+ Frame {
+ msec: 2352
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 2368
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 2384
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 2400
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 2416
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 2432
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 2448
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 2464
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 2480
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 2496
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 2512
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 2528
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 2544
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 2560
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 2576
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 2592
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 2608
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 2624
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 2640
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 2656
+ hash: "a676f45d946aeb9fa577c0e862735b01"
+ }
+ Frame {
+ msec: 2672
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 2688
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 2704
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 2720
+ hash: "fce2648975106bc5c0ca9a4530f7f748"
+ }
+ Frame {
+ msec: 2736
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 2752
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 2768
+ hash: "2084ccc60ddd493399c128717816d33b"
+ }
+ Frame {
+ msec: 2784
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 2800
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 2816
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 2832
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 2848
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 2864
+ hash: "85ef33fcb3f91e4fc20391bf94455984"
+ }
+ Frame {
+ msec: 2880
+ image: "animated-smooth.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 2912
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 2928
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 2944
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 2960
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 2976
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 2992
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 3008
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 3024
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 3040
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 3056
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 3072
+ hash: "d7e96278583f83ab636ed68fa130e4d2"
+ }
+ Frame {
+ msec: 3088
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Frame {
+ msec: 3104
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 3120
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 3136
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 3152
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 3168
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 3184
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 3200
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 3216
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 3232
+ hash: "5d3e85acabe5e5ff802eb7731676274f"
+ }
+ Frame {
+ msec: 3248
+ hash: "fd85d1dd931033973283a408b5e328a8"
+ }
+ Frame {
+ msec: 3264
+ hash: "3a77785cfd7755f567619d8e04583f6a"
+ }
+ Frame {
+ msec: 3280
+ hash: "efc119983701908a904deb24108c59cb"
+ }
+ Frame {
+ msec: 3296
+ hash: "902683d72f789399e9d99d1cea1bf177"
+ }
+ Frame {
+ msec: 3312
+ hash: "3e81338d38723d56f2d6c428271f81c1"
+ }
+ Frame {
+ msec: 3328
+ hash: "41987e6b4248d7944c0dbc6eb3862023"
+ }
+ Frame {
+ msec: 3344
+ hash: "3d518cd0348d6202243364af1dd6ce89"
+ }
+ Frame {
+ msec: 3360
+ hash: "4310a4c3037d845f088f21ad608f366a"
+ }
+ Frame {
+ msec: 3376
+ hash: "0e0c40f8e11a7bd499c80562ac6f8a82"
+ }
+ Frame {
+ msec: 3392
+ hash: "f4d0d3bca25e67908b38910f47b4757e"
+ }
+ Frame {
+ msec: 3408
+ hash: "f602e3eda1889d1a7e49560f0dfb5d4c"
+ }
+ Frame {
+ msec: 3424
+ hash: "e1474c2cdd8768ca1ef45bf3bc5234ca"
+ }
+ Frame {
+ msec: 3440
+ hash: "c8312ede0998636a6bd6451d13636577"
+ }
+ Frame {
+ msec: 3456
+ hash: "16c16c77c65b36d1e0954d5ead2642be"
+ }
+ Frame {
+ msec: 3472
+ hash: "31d65134f340d82dd40f2401bda3fb7e"
+ }
+ Frame {
+ msec: 3488
+ hash: "061406edcbd2d4930ab89c3fcab63c7f"
+ }
+ Frame {
+ msec: 3504
+ hash: "0af81ee0d76ff8335a0e347dc086ca37"
+ }
+ Frame {
+ msec: 3520
+ hash: "0f347763f25350ebb62dda1536372b45"
+ }
+ Frame {
+ msec: 3536
+ hash: "f3a7e74a1839f9366f9eeec4d2b80d1e"
+ }
+ Frame {
+ msec: 3552
+ hash: "64ecb03aa538e74d0b99c6dec7751401"
+ }
+ Frame {
+ msec: 3568
+ hash: "170a1d5fe3422cf5223a78015a6a45fd"
+ }
+ Frame {
+ msec: 3584
+ hash: "10307beea6d99ab0ff5863f8e35555ed"
+ }
+ Frame {
+ msec: 3600
+ hash: "456be9c208d690c479ba12bf6325dde0"
+ }
+ Frame {
+ msec: 3616
+ hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9"
+ }
+ Frame {
+ msec: 3632
+ hash: "277ef98ea859fb7685fe6cd44a538a7d"
+ }
+ Frame {
+ msec: 3648
+ hash: "74c837b29f7f05b615123f0e608b523f"
+ }
+ Frame {
+ msec: 3664
+ hash: "d671a3b971468e1d8aa30ab655e020a9"
+ }
+ Frame {
+ msec: 3680
+ hash: "df624d70cae1bcefda8d69c0ff055d83"
+ }
+ Frame {
+ msec: 3696
+ hash: "3f9a09ae19be34348bb2552915360cf7"
+ }
+ Frame {
+ msec: 3712
+ hash: "83c029e328e80af83158c37089cf0ece"
+ }
+ Frame {
+ msec: 3728
+ hash: "323af110731b7af0c30f8862ff59b833"
+ }
+ Frame {
+ msec: 3744
+ hash: "63d3c47f7dec1236440a05e0a8380900"
+ }
+ Frame {
+ msec: 3760
+ hash: "48e62dd171f5da82b5aa26c765e4042c"
+ }
+ Frame {
+ msec: 3776
+ hash: "5a8932d13d624932a65694fd19ec05cd"
+ }
+ Frame {
+ msec: 3792
+ hash: "8419b295f67cae133760da79dfc26505"
+ }
+ Frame {
+ msec: 3808
+ hash: "a716c8d2c94433dee719f92f0822c8ec"
+ }
+ Frame {
+ msec: 3824
+ hash: "7b66e21652a7d0982226e281a48411a9"
+ }
+ Frame {
+ msec: 3840
+ image: "animated-smooth.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "59470d71fa4426d0283e86371f2bfc2a"
+ }
+ Frame {
+ msec: 3872
+ hash: "d56ba74d38c1889a278929d1c1b7f17a"
+ }
+ Frame {
+ msec: 3888
+ hash: "de471829f8ad3b43bf1b4df9d1d65a4d"
+ }
+ Frame {
+ msec: 3904
+ hash: "cd2180be80101c2aa4350b51b7a6f502"
+ }
+ Frame {
+ msec: 3920
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3936
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3952
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3968
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3984
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4000
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4016
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4032
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4048
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4064
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4080
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4096
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4128
+ hash: "cd2180be80101c2aa4350b51b7a6f502"
+ }
+ Frame {
+ msec: 4144
+ hash: "de471829f8ad3b43bf1b4df9d1d65a4d"
+ }
+ Frame {
+ msec: 4160
+ hash: "ed9f2ca797894612600bc4b7fbaecb84"
+ }
+ Frame {
+ msec: 4176
+ hash: "59470d71fa4426d0283e86371f2bfc2a"
+ }
+ Frame {
+ msec: 4192
+ hash: "9a2f92efb51bcc6293d6a8e82d5314ea"
+ }
+ Frame {
+ msec: 4208
+ hash: "7b66e21652a7d0982226e281a48411a9"
+ }
+ Frame {
+ msec: 4224
+ hash: "a716c8d2c94433dee719f92f0822c8ec"
+ }
+ Frame {
+ msec: 4240
+ hash: "f22a47b846cfee96ebdf39bbce2e6d51"
+ }
+ Frame {
+ msec: 4256
+ hash: "5a8932d13d624932a65694fd19ec05cd"
+ }
+ Frame {
+ msec: 4272
+ hash: "48e62dd171f5da82b5aa26c765e4042c"
+ }
+ Frame {
+ msec: 4288
+ hash: "63d3c47f7dec1236440a05e0a8380900"
+ }
+ Frame {
+ msec: 4304
+ hash: "323af110731b7af0c30f8862ff59b833"
+ }
+ Frame {
+ msec: 4320
+ hash: "83c029e328e80af83158c37089cf0ece"
+ }
+ Frame {
+ msec: 4336
+ hash: "3f9a09ae19be34348bb2552915360cf7"
+ }
+ Frame {
+ msec: 4352
+ hash: "df624d70cae1bcefda8d69c0ff055d83"
+ }
+ Frame {
+ msec: 4368
+ hash: "d671a3b971468e1d8aa30ab655e020a9"
+ }
+ Frame {
+ msec: 4384
+ hash: "74c837b29f7f05b615123f0e608b523f"
+ }
+ Frame {
+ msec: 4400
+ hash: "277ef98ea859fb7685fe6cd44a538a7d"
+ }
+ Frame {
+ msec: 4416
+ hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9"
+ }
+ Frame {
+ msec: 4432
+ hash: "456be9c208d690c479ba12bf6325dde0"
+ }
+ Frame {
+ msec: 4448
+ hash: "10307beea6d99ab0ff5863f8e35555ed"
+ }
+ Frame {
+ msec: 4464
+ hash: "170a1d5fe3422cf5223a78015a6a45fd"
+ }
+ Frame {
+ msec: 4480
+ hash: "64ecb03aa538e74d0b99c6dec7751401"
+ }
+ Frame {
+ msec: 4496
+ hash: "f3a7e74a1839f9366f9eeec4d2b80d1e"
+ }
+ Frame {
+ msec: 4512
+ hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154"
+ }
+ Frame {
+ msec: 4528
+ hash: "0af81ee0d76ff8335a0e347dc086ca37"
+ }
+ Frame {
+ msec: 4544
+ hash: "061406edcbd2d4930ab89c3fcab63c7f"
+ }
+ Frame {
+ msec: 4560
+ hash: "31d65134f340d82dd40f2401bda3fb7e"
+ }
+ Frame {
+ msec: 4576
+ hash: "16c16c77c65b36d1e0954d5ead2642be"
+ }
+ Frame {
+ msec: 4592
+ hash: "61c16009b65a55bffb63e27727e1615e"
+ }
+ Frame {
+ msec: 4608
+ hash: "e1474c2cdd8768ca1ef45bf3bc5234ca"
+ }
+ Frame {
+ msec: 4624
+ hash: "89c159ef00d273ecfe61332e1bf7244d"
+ }
+ Frame {
+ msec: 4640
+ hash: "f4d0d3bca25e67908b38910f47b4757e"
+ }
+ Frame {
+ msec: 4656
+ hash: "0e0c40f8e11a7bd499c80562ac6f8a82"
+ }
+ Frame {
+ msec: 4672
+ hash: "4310a4c3037d845f088f21ad608f366a"
+ }
+ Frame {
+ msec: 4688
+ hash: "3d518cd0348d6202243364af1dd6ce89"
+ }
+ Frame {
+ msec: 4704
+ hash: "41987e6b4248d7944c0dbc6eb3862023"
+ }
+ Frame {
+ msec: 4720
+ hash: "3e81338d38723d56f2d6c428271f81c1"
+ }
+ Frame {
+ msec: 4736
+ hash: "902683d72f789399e9d99d1cea1bf177"
+ }
+ Frame {
+ msec: 4752
+ hash: "efc119983701908a904deb24108c59cb"
+ }
+ Frame {
+ msec: 4768
+ hash: "3a77785cfd7755f567619d8e04583f6a"
+ }
+ Frame {
+ msec: 4784
+ hash: "fd85d1dd931033973283a408b5e328a8"
+ }
+ Frame {
+ msec: 4800
+ image: "animated-smooth.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 4832
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 4848
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 4864
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 4880
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 4896
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 4912
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 4928
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 4944
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Frame {
+ msec: 4960
+ hash: "d7e96278583f83ab636ed68fa130e4d2"
+ }
+ Frame {
+ msec: 4976
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 4992
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 5008
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 5024
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 5040
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 5056
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 5072
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 5088
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 5104
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 5120
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 5136
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 5152
+ hash: "23291a0239c69ea07db959e709b1ff5f"
+ }
+ Frame {
+ msec: 5168
+ hash: "2192094410e2d7c8d9d4aa5f8deacff5"
+ }
+ Frame {
+ msec: 5184
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 5200
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 5216
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 5232
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 5248
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 5264
+ hash: "7f9999a9c87af43b9703323efab31770"
+ }
+ Frame {
+ msec: 5280
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 5296
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 5312
+ hash: "fce2648975106bc5c0ca9a4530f7f748"
+ }
+ Frame {
+ msec: 5328
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 5344
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 5360
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 5376
+ hash: "49a1df977b0494c7c72ca0b65c394e13"
+ }
+ Frame {
+ msec: 5392
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 5408
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 5424
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 5440
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 5456
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 5472
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 5488
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 5504
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 5520
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 5536
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 5552
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 5568
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 5584
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 5600
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 5616
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 5632
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 5648
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 5664
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 5680
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 5696
+ hash: "d8e398a1ce9ca45c19951e93bd5c932a"
+ }
+ Frame {
+ msec: 5712
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 5728
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 5744
+ hash: "fc913807eb1069d611495fbd5d43ee3d"
+ }
+ Frame {
+ msec: 5760
+ image: "animated-smooth.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 5792
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 5808
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 5824
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 5840
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 5856
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 5872
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 5888
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 5904
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 5920
+ hash: "ec7e1190dd4fe122545e6ce6c8740500"
+ }
+ Frame {
+ msec: 5936
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 5952
+ hash: "3991bc7760b7981d80665e3a7654c9f4"
+ }
+ Frame {
+ msec: 5968
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 5984
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 6000
+ hash: "723f87da7e5b002a2e9b0bcbc81f9458"
+ }
+ Frame {
+ msec: 6016
+ hash: "6b8ded0d9386a3fff0601a100c513080"
+ }
+ Frame {
+ msec: 6032
+ hash: "f976cd5046ef5391536859e63db905bd"
+ }
+ Frame {
+ msec: 6048
+ hash: "a94de4e90a8f8eb4ec33fe902afd226c"
+ }
+ Frame {
+ msec: 6064
+ hash: "05312f9529c94d3331ace7d73c544284"
+ }
+ Frame {
+ msec: 6080
+ hash: "b980703c1d0018937e83a8ba8862469e"
+ }
+ Frame {
+ msec: 6096
+ hash: "c5e399e29b988148913e62ee208b3326"
+ }
+ Frame {
+ msec: 6112
+ hash: "3b7b83e97d17440b42e6ef4b962076d8"
+ }
+ Frame {
+ msec: 6128
+ hash: "3cbfded47413172ada64095e65c55e8a"
+ }
+ Frame {
+ msec: 6144
+ hash: "9a64706c52c9e962816953e32950b8ba"
+ }
+ Frame {
+ msec: 6160
+ hash: "25506557c853a0020e98cf3992956989"
+ }
+ Frame {
+ msec: 6176
+ hash: "89022a8e2feb3dcb845de69aafc333ad"
+ }
+ Frame {
+ msec: 6192
+ hash: "382d454f2366c1fb4ca472faa3bfa5e9"
+ }
+ Frame {
+ msec: 6208
+ hash: "fe04cae65aeec18697eca4f3f83a40e9"
+ }
+ Frame {
+ msec: 6224
+ hash: "48952ffa5e300778eafa768b9fe7df0c"
+ }
+ Frame {
+ msec: 6240
+ hash: "e3a2b5c7247acfc1b30825233fbfd56b"
+ }
+ Frame {
+ msec: 6256
+ hash: "5736362b42bc2d801e02edabb983663a"
+ }
+ Frame {
+ msec: 6272
+ hash: "5d9ee853f083d514fbe51d6953d8e000"
+ }
+ Frame {
+ msec: 6288
+ hash: "fe899138116774df4c4441687e3019c5"
+ }
+ Frame {
+ msec: 6304
+ hash: "47e920e3884ccf2f0f49e78070af6929"
+ }
+ Frame {
+ msec: 6320
+ hash: "2b7eb8a9fe26b032be8b4b9c00995912"
+ }
+ Frame {
+ msec: 6336
+ hash: "64cd225202ed6c91b02c368a9160a656"
+ }
+ Frame {
+ msec: 6352
+ hash: "774740a393f3e9b8f12b81cce8da8280"
+ }
+ Frame {
+ msec: 6368
+ hash: "3bae40654ec551d69e7c8c72f631c7a5"
+ }
+ Frame {
+ msec: 6384
+ hash: "83d49474db15d5779923972ff5f55917"
+ }
+ Frame {
+ msec: 6400
+ hash: "d1110817827c318ceb0c112e8c2bfc1d"
+ }
+ Frame {
+ msec: 6416
+ hash: "4520003d4b221a3de6834b2729b3026d"
+ }
+ Frame {
+ msec: 6432
+ hash: "64df51b4c1bf744b2aae1c6d908c2cc3"
+ }
+ Frame {
+ msec: 6448
+ hash: "a087b532ecb2f28e4ee60819228c2522"
+ }
+ Frame {
+ msec: 6464
+ hash: "e860e97ebd73b7d1d5d5d90458b34bfe"
+ }
+ Frame {
+ msec: 6480
+ hash: "a261be47ae89e6b53e6bc1c1197154ae"
+ }
+ Frame {
+ msec: 6496
+ hash: "c2edb016cfdd47c192d1c48281ee76ed"
+ }
+ Frame {
+ msec: 6512
+ hash: "deed4c06c9b713834490832b88e7acaf"
+ }
+ Frame {
+ msec: 6528
+ hash: "2fede2f5d871654f3f8a6e9d890adeac"
+ }
+ Frame {
+ msec: 6544
+ hash: "29ddde3300d0520a4c01b5536d8b9e7a"
+ }
+ Frame {
+ msec: 6560
+ hash: "c61d2aa7f934fb5a9f9f7883e063b51c"
+ }
+ Frame {
+ msec: 6576
+ hash: "ddf1f5c0b97fe4821719ec5bf4bd091b"
+ }
+ Frame {
+ msec: 6592
+ hash: "e5df07ea21e8e415c3ec82560f2d0f34"
+ }
+ Frame {
+ msec: 6608
+ hash: "5cc90d798786c270ddd2616512f4459f"
+ }
+ Frame {
+ msec: 6624
+ hash: "00ab7798bcd77a99886dff0414f35382"
+ }
+ Frame {
+ msec: 6640
+ hash: "05cbce0eaa80b4610a9067af8c40f819"
+ }
+ Frame {
+ msec: 6656
+ hash: "a676f45d946aeb9fa577c0e862735b01"
+ }
+ Frame {
+ msec: 6672
+ hash: "d65d50fbb920e683b041a1c72238225b"
+ }
+ Frame {
+ msec: 6688
+ hash: "39c46d85d20f7ef3eca1d09c7eb6a068"
+ }
+ Frame {
+ msec: 6704
+ hash: "39cc17ee2e889f17dd07179fda99e431"
+ }
+ Frame {
+ msec: 6720
+ image: "animated-smooth.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "7c9a98e2101c33e17c1bd7e6c2d921ff"
+ }
+ Frame {
+ msec: 6752
+ hash: "0640fcb0b24d3ba4ab8695f78271a438"
+ }
+ Frame {
+ msec: 6768
+ hash: "2084ccc60ddd493399c128717816d33b"
+ }
+ Frame {
+ msec: 6784
+ hash: "bd045f4532d78bba0ef1b64118fd9f24"
+ }
+ Frame {
+ msec: 6800
+ hash: "42be5d26afb9f066dd27cc9fbaf6ce20"
+ }
+ Frame {
+ msec: 6816
+ hash: "2a1fcfb753ca237b518da26e67c928e5"
+ }
+ Frame {
+ msec: 6832
+ hash: "92176cce4836dcae4dfca94e49b041a8"
+ }
+ Frame {
+ msec: 6848
+ hash: "d6615fc345831a3cc5b9a7196284b632"
+ }
+ Frame {
+ msec: 6864
+ hash: "85ef33fcb3f91e4fc20391bf94455984"
+ }
+ Frame {
+ msec: 6880
+ hash: "23291a0239c69ea07db959e709b1ff5f"
+ }
+ Frame {
+ msec: 6896
+ hash: "53f05993ba3b426949badd2e4cd66d84"
+ }
+ Frame {
+ msec: 6912
+ hash: "b375e723b2396b13b8f55cfc0c81c3c3"
+ }
+ Frame {
+ msec: 6928
+ hash: "bd70500fbdfe5aa2fe4362a97a1dee2d"
+ }
+ Frame {
+ msec: 6944
+ hash: "853429387cc639496c7338244de7e1b7"
+ }
+ Frame {
+ msec: 6960
+ hash: "3df54504f8891306fa8f1e9e2075a5e2"
+ }
+ Frame {
+ msec: 6976
+ hash: "0239d697642ca1d1b1d1daa3ea048e1e"
+ }
+ Frame {
+ msec: 6992
+ hash: "b0070117f1c24a4da87434725d4bb989"
+ }
+ Frame {
+ msec: 7008
+ hash: "8b8120cfc14de03e048632fdea61be21"
+ }
+ Frame {
+ msec: 7024
+ hash: "845170815a87565dc4229792032b3357"
+ }
+ Frame {
+ msec: 7040
+ hash: "0d407ee07692d0e5a480a60952807b3c"
+ }
+ Frame {
+ msec: 7056
+ hash: "64b21b89576fdd0083f60a26f57b9c11"
+ }
+ Frame {
+ msec: 7072
+ hash: "d7e96278583f83ab636ed68fa130e4d2"
+ }
+ Frame {
+ msec: 7088
+ hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7104
+ hash: "adc670a9aa0326744cb23e4f5912e6c7"
+ }
+ Frame {
+ msec: 7120
+ hash: "9cd29b4b023a8b92573575fb3c3dda83"
+ }
+ Frame {
+ msec: 7136
+ hash: "177666cb3bb784c83196886b2c6cf6b6"
+ }
+ Frame {
+ msec: 7152
+ hash: "ddd8a006ef048c8d929144aa9fcd7c5a"
+ }
+ Frame {
+ msec: 7168
+ hash: "b699285764f5e8866a9996f4a0dccc69"
+ }
+ Frame {
+ msec: 7184
+ hash: "84ef6dda8318b623832f58c46d762e89"
+ }
+ Frame {
+ msec: 7200
+ hash: "a15f19f374bbfb6a922b69d080a91eaa"
+ }
+ Frame {
+ msec: 7216
+ hash: "ae12f1f37a746e16b06e6b869c89fac1"
+ }
+ Frame {
+ msec: 7232
+ hash: "5d3e85acabe5e5ff802eb7731676274f"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.png
new file mode 100644
index 0000000..99228f9
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.png
new file mode 100644
index 0000000..a2dcd00
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.png
new file mode 100644
index 0000000..8a80020
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.png
new file mode 100644
index 0000000..02b57ef
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.png
new file mode 100644
index 0000000..df0f6cc
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.png
new file mode 100644
index 0000000..0add64d
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.png
new file mode 100644
index 0000000..0886207
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.png
new file mode 100644
index 0000000..bc1a7b0
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml
new file mode 100644
index 0000000..e25728c
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml
@@ -0,0 +1,2091 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 32
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 48
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 64
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 80
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 96
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 128
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 144
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 160
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 176
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 192
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 208
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 224
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 240
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 256
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 272
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 288
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 304
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 320
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 336
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 352
+ hash: "a85ee8be6a47bbd1b14137803ce606ec"
+ }
+ Frame {
+ msec: 368
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 384
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 400
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 416
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 432
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 448
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 464
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 480
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 496
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 512
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 528
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 544
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 560
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 576
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 592
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 608
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 624
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 640
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 656
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 672
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 688
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 704
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 720
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 736
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 752
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 768
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 784
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 800
+ hash: "593a8a45c3a0cd7ce1cb6bd1913136ba"
+ }
+ Frame {
+ msec: 816
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 832
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 848
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 864
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 880
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 896
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 912
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 928
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 944
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 960
+ image: "animated.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 992
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 1008
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 1024
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 1040
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 1056
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 1072
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 1088
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 1104
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 1120
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 1136
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 1152
+ hash: "c3a1f12febc979150028737722d6d045"
+ }
+ Frame {
+ msec: 1168
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 1184
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 1200
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 1216
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 1232
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 1248
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 1264
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 1280
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 1296
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 1312
+ hash: "94084ca4998fcda408f6987f52c34185"
+ }
+ Frame {
+ msec: 1328
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 1344
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 1360
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 1376
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 1392
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 1408
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 1424
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 1440
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 1456
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 1472
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 1488
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 1504
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 1520
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 1536
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 1552
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 1568
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 1584
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 1600
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 1616
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 1632
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 1648
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 1664
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 1680
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 1696
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 1712
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 1728
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 1744
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 1760
+ hash: "a88d6fc324ef48aa52c642a1662ec679"
+ }
+ Frame {
+ msec: 1776
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 1792
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 1808
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 1824
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 1840
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 1856
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 1872
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 1888
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 1904
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 1920
+ image: "animated.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 1952
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 1968
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 1984
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 2000
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 2016
+ hash: "911591db1519ba264847f09868e38e0e"
+ }
+ Frame {
+ msec: 2032
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 2048
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 2064
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 2080
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 2096
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 2112
+ hash: "63ebaa4869728f5e2891d068e4b0091c"
+ }
+ Frame {
+ msec: 2128
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 2144
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 2160
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 2176
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 2192
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 2208
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 2224
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 2240
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 2256
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 2272
+ hash: "a88d6fc324ef48aa52c642a1662ec679"
+ }
+ Frame {
+ msec: 2288
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 2304
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 2320
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 2336
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 2352
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 2368
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 2384
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 2400
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 2416
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 2432
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 2448
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 2464
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 2480
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 2496
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 2512
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 2528
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 2544
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 2560
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 2576
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 2592
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 2608
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 2624
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 2640
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 2656
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 2672
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 2688
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 2704
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 2720
+ hash: "94084ca4998fcda408f6987f52c34185"
+ }
+ Frame {
+ msec: 2736
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 2752
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 2768
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 2784
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 2800
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 2816
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 2832
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 2848
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 2864
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 2880
+ image: "animated.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 2912
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 2928
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 2944
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 2960
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 2976
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 2992
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 3008
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 3024
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 3040
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 3056
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 3072
+ hash: "280288a7988736e30a2a3e4289ac3b0c"
+ }
+ Frame {
+ msec: 3088
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 3104
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 3120
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 3136
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 3152
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 3168
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 3184
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 3200
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 3216
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 3232
+ hash: "593a8a45c3a0cd7ce1cb6bd1913136ba"
+ }
+ Frame {
+ msec: 3248
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 3264
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 3280
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 3296
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 3312
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 3328
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 3344
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 3360
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 3376
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 3392
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 3408
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 3424
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 3440
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 3456
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 3472
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 3488
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 3504
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 3520
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 3536
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 3552
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 3568
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 3584
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 3600
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 3616
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 3632
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 3648
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 3664
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 3680
+ hash: "a85ee8be6a47bbd1b14137803ce606ec"
+ }
+ Frame {
+ msec: 3696
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 3712
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 3728
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 3744
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 3760
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 3776
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 3792
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 3808
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 3824
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 3840
+ image: "animated.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 3872
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 3888
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 3904
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 3920
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3936
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3952
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3968
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 3984
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4000
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4016
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4032
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4048
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4064
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4080
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4096
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 4128
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 4144
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 4160
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 4176
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 4192
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 4208
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 4224
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 4240
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 4256
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 4272
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 4288
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 4304
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 4320
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 4336
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 4352
+ hash: "a85ee8be6a47bbd1b14137803ce606ec"
+ }
+ Frame {
+ msec: 4368
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 4384
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 4400
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 4416
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 4432
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 4448
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 4464
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 4480
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 4496
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 4512
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 4528
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 4544
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 4560
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 4576
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 4592
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 4608
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 4624
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 4640
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 4656
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 4672
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 4688
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 4704
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 4720
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 4736
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 4752
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 4768
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 4784
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 4800
+ image: "animated.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 4832
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 4848
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 4864
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 4880
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 4896
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 4912
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 4928
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 4944
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 4960
+ hash: "280288a7988736e30a2a3e4289ac3b0c"
+ }
+ Frame {
+ msec: 4976
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 4992
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 5008
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 5024
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 5040
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 5056
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 5072
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 5088
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 5104
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 5120
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 5136
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 5152
+ hash: "c3a1f12febc979150028737722d6d045"
+ }
+ Frame {
+ msec: 5168
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 5184
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 5200
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 5216
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 5232
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 5248
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 5264
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 5280
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 5296
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 5312
+ hash: "94084ca4998fcda408f6987f52c34185"
+ }
+ Frame {
+ msec: 5328
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 5344
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 5360
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 5376
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 5392
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 5408
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 5424
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 5440
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 5456
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 5472
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 5488
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 5504
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 5520
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 5536
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 5552
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 5568
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 5584
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 5600
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 5616
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 5632
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 5648
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 5664
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 5680
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 5696
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 5712
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 5728
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 5744
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 5760
+ image: "animated.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 5792
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 5808
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 5824
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 5840
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 5856
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 5872
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 5888
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 5904
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 5920
+ hash: "63ebaa4869728f5e2891d068e4b0091c"
+ }
+ Frame {
+ msec: 5936
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 5952
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 5968
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 5984
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 6000
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 6016
+ hash: "911591db1519ba264847f09868e38e0e"
+ }
+ Frame {
+ msec: 6032
+ hash: "ed5d80c33dbf72624385b1cf43784626"
+ }
+ Frame {
+ msec: 6048
+ hash: "fdf3b7a0391119e2fe77be8d6a17481d"
+ }
+ Frame {
+ msec: 6064
+ hash: "058c918e83bfdd665cd836566b53959b"
+ }
+ Frame {
+ msec: 6080
+ hash: "8a9dd7a2d10771633e6896f3f4a722ae"
+ }
+ Frame {
+ msec: 6096
+ hash: "29245946cbd811fe6bf6b2b41cc13002"
+ }
+ Frame {
+ msec: 6112
+ hash: "63ebaa4869728f5e2891d068e4b0091c"
+ }
+ Frame {
+ msec: 6128
+ hash: "d1ed4916cb1ecff60277d74369ff311b"
+ }
+ Frame {
+ msec: 6144
+ hash: "36c054064c9a76f4072492e55c70fb6c"
+ }
+ Frame {
+ msec: 6160
+ hash: "7aa0cbf73f7999be7cde4ec739efbc33"
+ }
+ Frame {
+ msec: 6176
+ hash: "affab9fb48c889a2680eb81458d400f9"
+ }
+ Frame {
+ msec: 6192
+ hash: "13ca95adab171d9fad9ee8b75d0226bc"
+ }
+ Frame {
+ msec: 6208
+ hash: "4887cd34d9926a361f3ca2e75be53ea6"
+ }
+ Frame {
+ msec: 6224
+ hash: "a67e9a0f55512fb1c55f13c6b483923b"
+ }
+ Frame {
+ msec: 6240
+ hash: "6eae517ad33f0609c31ef1f8f80ba899"
+ }
+ Frame {
+ msec: 6256
+ hash: "74c1e71378b502bc1b732a55806a10f1"
+ }
+ Frame {
+ msec: 6272
+ hash: "a88d6fc324ef48aa52c642a1662ec679"
+ }
+ Frame {
+ msec: 6288
+ hash: "8172e076b05d95248d89e815fde820ef"
+ }
+ Frame {
+ msec: 6304
+ hash: "7b78cba247f2c209ed81e003ca25d0a5"
+ }
+ Frame {
+ msec: 6320
+ hash: "f57727419bb51fb1e589b960ddeb20ae"
+ }
+ Frame {
+ msec: 6336
+ hash: "3fb20f9dbd40b4729235e13af9643afc"
+ }
+ Frame {
+ msec: 6352
+ hash: "b12faa76c07adc21634cd8f8cb8436ae"
+ }
+ Frame {
+ msec: 6368
+ hash: "3b644aac161f0a75bfb64f5075373190"
+ }
+ Frame {
+ msec: 6384
+ hash: "a790f0e884ab85f7802dd094e4ef550f"
+ }
+ Frame {
+ msec: 6400
+ hash: "a6937ee49648ed0cb409063bf1da3b87"
+ }
+ Frame {
+ msec: 6416
+ hash: "0b1a741975e3d9ef8f5e78f371c89441"
+ }
+ Frame {
+ msec: 6432
+ hash: "1bf7a98884b506b38326f59f85a53f41"
+ }
+ Frame {
+ msec: 6448
+ hash: "fb17df681d99d5de05f6329bba697ea5"
+ }
+ Frame {
+ msec: 6464
+ hash: "acd9a2e76b22ab0ff809fd3ec3a018ec"
+ }
+ Frame {
+ msec: 6480
+ hash: "73c5f23f51797a33f4d2898738e6356e"
+ }
+ Frame {
+ msec: 6496
+ hash: "65c514c9e926affe1da0b4826d2754c7"
+ }
+ Frame {
+ msec: 6512
+ hash: "5b027815ea3c1ea54e1a02c798c468db"
+ }
+ Frame {
+ msec: 6528
+ hash: "e1e6c7a7f51bcccd749710dbbf9e97f6"
+ }
+ Frame {
+ msec: 6544
+ hash: "11673a112566a64aca3c7010b9cc9c4d"
+ }
+ Frame {
+ msec: 6560
+ hash: "826c7741ba0c51de407bb799e8f360b5"
+ }
+ Frame {
+ msec: 6576
+ hash: "3b95eb8cbfc831e1ebee2e456b026ab4"
+ }
+ Frame {
+ msec: 6592
+ hash: "95d776c84fe155617fc4ee51bdb45b7e"
+ }
+ Frame {
+ msec: 6608
+ hash: "a1bd4e995365e79389dba80f9e3b7af8"
+ }
+ Frame {
+ msec: 6624
+ hash: "44072400ca3f0237d1aebae28a94becc"
+ }
+ Frame {
+ msec: 6640
+ hash: "99de44f74f8e1f79652ab46afb4bb59e"
+ }
+ Frame {
+ msec: 6656
+ hash: "4f1eace868a6688e5b24ce48a1f0fd18"
+ }
+ Frame {
+ msec: 6672
+ hash: "84c94704c16e246df1048f958cc8cefb"
+ }
+ Frame {
+ msec: 6688
+ hash: "e880d93963c80e4fab5173554c9600fc"
+ }
+ Frame {
+ msec: 6704
+ hash: "e91bb914c1eb63cd4269b30a220a128a"
+ }
+ Frame {
+ msec: 6720
+ image: "animated.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "985868869ef2c332da379460a2f3a71b"
+ }
+ Frame {
+ msec: 6752
+ hash: "587cb6e05048579088e88e0180e3ad48"
+ }
+ Frame {
+ msec: 6768
+ hash: "97f7a2175dcf9ac2581a92d614d72f88"
+ }
+ Frame {
+ msec: 6784
+ hash: "93128906d054e44bfd126fc22bdc3102"
+ }
+ Frame {
+ msec: 6800
+ hash: "08f55088cdce741c67539f73291e53ab"
+ }
+ Frame {
+ msec: 6816
+ hash: "30f84a7f67b13a945ba6d5935ea92da5"
+ }
+ Frame {
+ msec: 6832
+ hash: "5359f5e45e5467c62c2d9521c8199c48"
+ }
+ Frame {
+ msec: 6848
+ hash: "7c22fc3e30377cc14326833bdd23ddd8"
+ }
+ Frame {
+ msec: 6864
+ hash: "80ebac4d923f67fb8dba3d133ce657ba"
+ }
+ Frame {
+ msec: 6880
+ hash: "c3a1f12febc979150028737722d6d045"
+ }
+ Frame {
+ msec: 6896
+ hash: "81d2fc6727dc7449d1a87b4abea9b704"
+ }
+ Frame {
+ msec: 6912
+ hash: "68dae343cf324391ec6721cea14575f7"
+ }
+ Frame {
+ msec: 6928
+ hash: "ec0aea8dc8c269d1f0aee5817347ac55"
+ }
+ Frame {
+ msec: 6944
+ hash: "a4ddb4956d71fd642d54757938100cf3"
+ }
+ Frame {
+ msec: 6960
+ hash: "956429472da133324c970774f77784f5"
+ }
+ Frame {
+ msec: 6976
+ hash: "c763f56728e17fc119539a4d45dfccc3"
+ }
+ Frame {
+ msec: 6992
+ hash: "ae48da4a66f93c806725ce749700aac8"
+ }
+ Frame {
+ msec: 7008
+ hash: "bccb4b8a494bd45bd70c2524a02a9dc3"
+ }
+ Frame {
+ msec: 7024
+ hash: "bc747167dfb3388ac63e9e68a86b9a03"
+ }
+ Frame {
+ msec: 7040
+ hash: "86360bd58bba5fdd901c105ddb2e3ade"
+ }
+ Frame {
+ msec: 7056
+ hash: "7383209c80b403b93da3264eadbc047f"
+ }
+ Frame {
+ msec: 7072
+ hash: "280288a7988736e30a2a3e4289ac3b0c"
+ }
+ Frame {
+ msec: 7088
+ hash: "ff0928dfd16b2da9811a172c19817a97"
+ }
+ Frame {
+ msec: 7104
+ hash: "eac4600372f0fdfadee88896ac915a48"
+ }
+ Frame {
+ msec: 7120
+ hash: "f04e84ad3579d6334077abe73101d206"
+ }
+ Frame {
+ msec: 7136
+ hash: "8861bf848da5c96b35addff736b01520"
+ }
+ Frame {
+ msec: 7152
+ hash: "1ac8c393f084aa1894c26610b7f40ea6"
+ }
+ Frame {
+ msec: 7168
+ hash: "e8a61d3858244127cb2b2812f04f5ce9"
+ }
+ Frame {
+ msec: 7184
+ hash: "93cf31eabb454ec536c638a506be0648"
+ }
+ Frame {
+ msec: 7200
+ hash: "0cba07ca38c7f0483244832a42d9ac53"
+ }
+ Frame {
+ msec: 7216
+ hash: "c7eb7837dce71c914186326216214eeb"
+ }
+ Frame {
+ msec: 7232
+ hash: "593a8a45c3a0cd7ce1cb6bd1913136ba"
+ }
+ Frame {
+ msec: 7248
+ hash: "1ea07ee309ce2c52cbc36370b75a872f"
+ }
+ Frame {
+ msec: 7264
+ hash: "93d9f0a7c387cbe653a9a088f8f4ef2b"
+ }
+ Frame {
+ msec: 7280
+ hash: "a6f17da2dd581bdc249ff62f833dc025"
+ }
+ Frame {
+ msec: 7296
+ hash: "b74521d6ac531414aeeca0fb28379d11"
+ }
+ Frame {
+ msec: 7312
+ hash: "6a521f952e05d91b86ad78fd6f5de4f9"
+ }
+ Frame {
+ msec: 7328
+ hash: "4e60300cfab8634e04dcd1b556251d31"
+ }
+ Frame {
+ msec: 7344
+ hash: "60f158382f75103c78e2b9b408e0fe65"
+ }
+ Frame {
+ msec: 7360
+ hash: "153237f8cf37e29ad2f32f7a8a6aecdb"
+ }
+ Frame {
+ msec: 7376
+ hash: "554e1d360463871e7c05cfe6f8abe1dd"
+ }
+ Frame {
+ msec: 7392
+ hash: "e418b5f54705515dce5ce3b4cbc45d19"
+ }
+ Frame {
+ msec: 7408
+ hash: "19d05a96f3ae7388e854bbf1075b51c1"
+ }
+ Frame {
+ msec: 7424
+ hash: "4ae120bb6dc2bd5ff81cc99ae03c191e"
+ }
+ Frame {
+ msec: 7440
+ hash: "18c2f321a149e38b258ac264d40c2376"
+ }
+ Frame {
+ msec: 7456
+ hash: "a40014d842471784e1222eb205395f6f"
+ }
+ Frame {
+ msec: 7472
+ hash: "f1a7a4a67a21f5025294af4bea3f8998"
+ }
+ Frame {
+ msec: 7488
+ hash: "3152e5f29015ece423fbdd11a2b382b8"
+ }
+ Frame {
+ msec: 7504
+ hash: "2a7bed775824968e318c3d40fbc5b1c2"
+ }
+ Frame {
+ msec: 7520
+ hash: "dd4c9e63001bc6e0e63ea4db2d85301f"
+ }
+ Frame {
+ msec: 7536
+ hash: "ac8f096e8c7cc23bfb01de69cf3e266e"
+ }
+ Frame {
+ msec: 7552
+ hash: "6b48bfd0c7993f746d6301c2a0f61d23"
+ }
+ Frame {
+ msec: 7568
+ hash: "06d8d8a1a41893d4e27725948a75caf4"
+ }
+ Frame {
+ msec: 7584
+ hash: "3f62f032239d412d3637198f5e3e83d6"
+ }
+ Frame {
+ msec: 7600
+ hash: "01947e631c3db43f7c5b4427229bc0c8"
+ }
+ Frame {
+ msec: 7616
+ hash: "2266df495ab5265e7514a506d3bf5bc6"
+ }
+ Frame {
+ msec: 7632
+ hash: "8c66a33d26eec2a1133f4362710a5fab"
+ }
+ Frame {
+ msec: 7648
+ hash: "75c9bf83ca3fe24612c245698c089430"
+ }
+ Frame {
+ msec: 7664
+ hash: "c1936628aec13e08e9581dcd2c6d5717"
+ }
+ Frame {
+ msec: 7680
+ image: "animated.7.png"
+ }
+ Frame {
+ msec: 7696
+ hash: "8419f1d75b14130730bcfec4e3a9b058"
+ }
+ Frame {
+ msec: 7712
+ hash: "482bb92d4f0ad5d7c7e379b9e1ad326e"
+ }
+ Frame {
+ msec: 7728
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+ Frame {
+ msec: 7744
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 7760
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Frame {
+ msec: 7776
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 7792
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 7808
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 7824
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 7840
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 7856
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 7872
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 7888
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 7904
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 7920
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7936
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7952
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7968
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 7984
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8000
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8016
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8032
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8048
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8064
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8080
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8096
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8112
+ hash: "aec13bcab337e55832b0a02fb5c6b526"
+ }
+ Frame {
+ msec: 8128
+ hash: "4c60d345821f515c7811f3b69eb94607"
+ }
+ Frame {
+ msec: 8144
+ hash: "aacf9ae3c23d174a1c1cda493600e355"
+ }
+ Frame {
+ msec: 8160
+ hash: "228d5312c261d1a5455faf69ec2f2520"
+ }
+ Frame {
+ msec: 8176
+ hash: "465ec993948f7b75aeb5759976f4620d"
+ }
+ Frame {
+ msec: 8192
+ hash: "755cfccc38bababc468fe6e1076804bb"
+ }
+ Frame {
+ msec: 8208
+ hash: "b63e4d1686057828fd8781f1c33585f5"
+ }
+ Frame {
+ msec: 8224
+ hash: "c5b3dede34b0d1d78135e39c41d117c6"
+ }
+ Frame {
+ msec: 8240
+ hash: "4d45d70f997c2c67166905c97a900d2e"
+ }
+ Frame {
+ msec: 8256
+ hash: "7b4d12e5a877507e7454aa1b8ed87c2d"
+ }
+ Frame {
+ msec: 8272
+ hash: "08b9be66e23c7b6f6f629c7470394601"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8288
+ hash: "3dac1d9632378bd18c1c938a4868e3fb"
+ }
+ Frame {
+ msec: 8304
+ hash: "406224b535b4425d2708df0083acdc8e"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.png
new file mode 100644
index 0000000..80cbd26
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml
new file mode 100644
index 0000000..16cd5e9
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml
@@ -0,0 +1,1359 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 32
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 48
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 64
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 80
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 96
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 112
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 128
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 144
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 160
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 176
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 192
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 208
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 224
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 240
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 256
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 272
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 288
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 304
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 320
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 336
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 352
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 368
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 384
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 400
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 416
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 432
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 448
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 464
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 480
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 496
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 512
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 528
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 544
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 560
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 576
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 592
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 608
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 624
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 640
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 656
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 672
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 688
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 704
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 720
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 736
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 752
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 768
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 784
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 800
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 816
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 832
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 848
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 864
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 880
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 896
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 912
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 928
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 944
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 960
+ image: "borders.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 992
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1008
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1024
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1040
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1056
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1072
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1088
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1104
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1120
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1136
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1152
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1168
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1184
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1200
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1216
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1232
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1248
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1264
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1280
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1296
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1312
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1328
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1344
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1360
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1376
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1392
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1408
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1424
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1440
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1456
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1472
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1488
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1504
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1520
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1536
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1552
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1568
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1584
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1600
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1616
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1632
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1648
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1664
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1680
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1696
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1712
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1728
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1744
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1760
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1776
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1792
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1808
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1824
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1840
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1856
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1872
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1888
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1904
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1920
+ image: "borders.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1952
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1968
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 1984
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2000
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2016
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2032
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2048
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2064
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2080
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2096
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2112
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2128
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2144
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2160
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2176
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2192
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2208
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2224
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2240
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2256
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2272
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2288
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2304
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2320
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2336
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2352
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2368
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2384
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2400
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2416
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2432
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2448
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2464
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2480
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2496
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2512
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2528
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2544
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2560
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2576
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2592
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2608
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2624
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2640
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2656
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2672
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2688
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2704
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2720
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2736
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2752
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2768
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2784
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2800
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2816
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2832
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2848
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2864
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2880
+ image: "borders.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2912
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2928
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2944
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2960
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2976
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 2992
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3008
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3024
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3040
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3056
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3072
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3088
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3104
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3120
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3136
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3152
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3168
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3184
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3200
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3216
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3232
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3248
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3264
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3280
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3296
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3312
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3328
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3344
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3360
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3376
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3392
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3408
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3424
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3440
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3456
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3472
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3488
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3504
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3520
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3536
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3552
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3568
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3584
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3600
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3616
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3632
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3648
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3664
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3680
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3696
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3712
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3728
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3744
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3760
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3776
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3792
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3808
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3824
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3840
+ image: "borders.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3872
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3888
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3904
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3920
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3936
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3952
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3968
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 3984
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4000
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4016
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4032
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4048
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4064
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4080
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4096
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4112
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4128
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4144
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4160
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4176
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4192
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4208
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4224
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4240
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4256
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4272
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4288
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4304
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4320
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4336
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4352
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4368
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4384
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4400
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4416
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4432
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4448
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4464
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4480
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4496
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4512
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4528
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4544
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4560
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4576
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4592
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4608
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4624
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4640
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4656
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4672
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4688
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4704
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4720
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4736
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4752
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4768
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4784
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4800
+ image: "borders.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4832
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4848
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4864
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4880
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4896
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4912
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4928
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4944
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4960
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4976
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 4992
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5008
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5024
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5040
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5056
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5072
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5088
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5104
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5120
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5136
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5152
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5168
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5184
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5200
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5216
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5232
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5248
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5264
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5280
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5296
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5312
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5328
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5344
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5360
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5376
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5392
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+ Frame {
+ msec: 5408
+ hash: "ab9753116e289c932064144bb0845857"
+ }
+}
diff --git a/tests/auto/declarative/visual/rect/GradientRect.qml b/tests/auto/declarative/visual/rect/GradientRect.qml
index ed56418..1d3ec98 100644
--- a/tests/auto/declarative/visual/rect/GradientRect.qml
+++ b/tests/auto/declarative/visual/rect/GradientRect.qml
@@ -2,8 +2,8 @@ import Qt 4.6
Item {
id: rect
- property string color
- property string border : ""
+ property color color
+ property color border : Qt.rgba(0,0,0,0)
property int rotation
property int radius
property int borderWidth
@@ -14,7 +14,7 @@ Item {
anchors.centerIn: parent; rotation: rect.rotation;
Rectangle {
anchors.centerIn: parent; width: 80; height: 80
- border.color: rect.border; border.width: rect.border != "" ? 2 : 0
+ border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0
radius: rect.radius; smooth: rect.smooth
gradient: Gradient {
GradientStop { position: 0.0; color: rect.color }
diff --git a/tests/auto/declarative/visual/rect/MyRect.qml b/tests/auto/declarative/visual/rect/MyRect.qml
index 9b6c3ae..22e0948 100644
--- a/tests/auto/declarative/visual/rect/MyRect.qml
+++ b/tests/auto/declarative/visual/rect/MyRect.qml
@@ -2,8 +2,8 @@ import Qt 4.6
Item {
id: rect
- property string color
- property string border : ""
+ property color color
+ property color border : Qt.rgba(0,0,0,0)
property int rotation
property int radius
property int borderWidth
@@ -14,7 +14,7 @@ Item {
anchors.centerIn: parent; rotation: rect.rotation;
Rectangle {
anchors.centerIn: parent; width: 80; height: 80
- color: rect.color; border.color: rect.border; border.width: rect.border != "" ? 2 : 0
+ color: rect.color; border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0
radius: rect.radius; smooth: rect.smooth
}
}
diff --git a/tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.png b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.png
new file mode 100644
index 0000000..0b45874
--- /dev/null
+++ b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml
new file mode 100644
index 0000000..438096e
--- /dev/null
+++ b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml
@@ -0,0 +1,355 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 32
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 48
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 64
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 80
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 96
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 112
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 128
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 144
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 160
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 176
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 192
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 208
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 224
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 240
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 256
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 272
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 288
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 304
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 320
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 336
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 352
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 368
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 384
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 400
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 416
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 432
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 448
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 464
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 480
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 496
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 512
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 528
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 544
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 560
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 576
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 592
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 608
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 624
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 640
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 656
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 672
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 688
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 704
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 720
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 736
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 752
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 768
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 784
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 800
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 816
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 832
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 848
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 864
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 880
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 896
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 912
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 928
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 944
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 960
+ image: "rect-painting.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 992
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1008
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1024
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1040
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1056
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1072
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1088
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1104
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1120
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1136
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1152
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1168
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1184
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1200
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1216
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1232
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1248
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1264
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1280
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1296
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1312
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 0
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1328
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1344
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+ Frame {
+ msec: 1360
+ hash: "f38360b51d832ed7f70614dfe1964ec8"
+ }
+}
diff --git a/tests/auto/declarative/visual/rect/data-X11/rect-painting.0.png b/tests/auto/declarative/visual/rect/data-X11/rect-painting.0.png
new file mode 100644
index 0000000..9af5b68
--- /dev/null
+++ b/tests/auto/declarative/visual/rect/data-X11/rect-painting.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/rect/data-X11/rect-painting.qml b/tests/auto/declarative/visual/rect/data-X11/rect-painting.qml
new file mode 100644
index 0000000..8f780e1
--- /dev/null
+++ b/tests/auto/declarative/visual/rect/data-X11/rect-painting.qml
@@ -0,0 +1,355 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 32
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 48
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 64
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 80
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 96
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 112
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 128
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 144
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 160
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 176
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 192
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 208
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 224
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 240
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 256
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 272
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 288
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 304
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 320
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 336
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 352
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 368
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 384
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 400
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 416
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 432
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 448
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 464
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 480
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 496
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 512
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 528
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 544
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 560
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 576
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 592
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 608
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 624
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 640
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 656
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 672
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 688
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 704
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 720
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 736
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 752
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 768
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 784
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 800
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 816
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 832
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 848
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 864
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 880
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 896
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 912
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 928
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 944
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 960
+ image: "rect-painting.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 992
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1008
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1024
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1040
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1056
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1072
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1088
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1104
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1120
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1136
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1152
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1168
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1184
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1200
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1216
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1232
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1248
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1264
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1280
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1296
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1312
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1328
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1344
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+ Frame {
+ msec: 1360
+ hash: "8a4f7a3d55b1b19fb1b8c211c00a7ba7"
+ }
+}
diff --git a/tests/auto/declarative/visual/tst_visual.cpp b/tests/auto/declarative/visual/tst_visual.cpp
index 0cd712b..e40dec7 100644
--- a/tests/auto/declarative/visual/tst_visual.cpp
+++ b/tests/auto/declarative/visual/tst_visual.cpp
@@ -258,10 +258,39 @@ void usage()
fprintf(stderr, "\n");
fprintf(stderr, "QML related options\n");
fprintf(stderr, " -record file : record new test data for file\n");
+ fprintf(stderr, " -recordnovisuals file : record new test data for file, but ignore visuals\n");
fprintf(stderr, " -play file : playback test data for file, printing errors\n");
fprintf(stderr, " -testvisuals file : playback test data for file, without errors\n");
fprintf(stderr, " -updatevisuals file : playback test data for file, accept new visuals for file\n");
fprintf(stderr, " -updateplatformvisuals file : playback test data for file, accept new visuals for file only on current platform (MacOSX/Win32/X11/QWS/S60)\n");
+ fprintf(stderr, "\n"
+ "Visual tests are recordings of manual interactions with a QML test,\n"
+ "that can then be run automatically. To record a new test, run:\n"
+ "\n"
+ " tst_visuals -record yourtestdir/yourtest # Note, no .qml extension\n"
+ "\n"
+ "This records everything you do (try to keep it short).\n"
+ "To play back a test, run:\n"
+ "\n"
+ " tst_visuals -play yourtestdir/yourtest\n"
+ "\n"
+ "Your test may include QML code to test itself, reporting any error to an\n"
+ "'error' property on the root object - the test will fail if this property\n"
+ "gets set to anything non-empty.\n"
+ "\n"
+ "If your test changes slightly but is still correct (check with -play), you\n"
+ "can update the visuals by running:\n"
+ "\n"
+ " tst_visuals -updatevisuals yourtestdir/yourtest\n"
+ "\n"
+ "If your test includes platform-sensitive visuals (eg. text in system fonts),\n"
+ "you should create platform-specific visuals, using -updateplatformvisuals\n"
+ "instead.\n"
+ "\n"
+ "If you ONLY wish to use the 'error' property, you can record your test with\n"
+ "-recordnovisuals, or discard existing visuals with -removevisuals; the test\n"
+ "will then only fail on a syntax error, crash, or non-empty 'error' property.\n"
+ );
}
int main(int argc, char **argv)
@@ -303,7 +332,7 @@ int main(int argc, char **argv)
newArgv[newArgc++] = argv[ii];
}
- if (arg == "-help") {
+ if (arg == "-help" || arg == "-?") {
atexit(usage);
showHelp = true;
}
diff --git a/tools/qmlviewer/qfxtester.cpp b/tools/qmlviewer/qfxtester.cpp
index 287771b..802a927 100644
--- a/tools/qmlviewer/qfxtester.cpp
+++ b/tools/qmlviewer/qfxtester.cpp
@@ -52,10 +52,10 @@
QT_BEGIN_NAMESPACE
-QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, VisualTest, QmlGraphicsVisualTest);
-QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Frame, QmlGraphicsVisualTestFrame);
-QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Mouse, QmlGraphicsVisualTestMouse);
-QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Key, QmlGraphicsVisualTestKey);
+QML_DEFINE_TYPE(Qt.VisualTest, 4,6, VisualTest, QmlGraphicsVisualTest);
+QML_DEFINE_TYPE(Qt.VisualTest, 4,6, Frame, QmlGraphicsVisualTestFrame);
+QML_DEFINE_TYPE(Qt.VisualTest, 4,6, Mouse, QmlGraphicsVisualTestMouse);
+QML_DEFINE_TYPE(Qt.VisualTest, 4,6, Key, QmlGraphicsVisualTestKey);
QmlGraphicsTester::QmlGraphicsTester(const QString &script, QmlViewer::ScriptOptions opts,
QmlView *parent)
@@ -306,17 +306,15 @@ void QmlGraphicsTester::updateCurrentTime(int msec)
QObject *event = testscript->event(testscriptidx);
if (QmlGraphicsVisualTestFrame *frame = qobject_cast<QmlGraphicsVisualTestFrame *>(event)) {
- if ((options & QmlViewer::TestImages) && (options & QmlViewer::Record))
- break; // recording and playing, no point "testing" results
if (frame->msec() < msec) {
- if (options & QmlViewer::TestImages) {
+ if (options & QmlViewer::TestImages && !(options & QmlViewer::Record)) {
qWarning() << "QmlGraphicsTester: Extra frame. Seen:"
<< msec << "Expected:" << frame->msec();
imagefailure();
}
} else if (frame->msec() == msec) {
if (!frame->hash().isEmpty() && frame->hash().toUtf8() != fe.hash.toHex()) {
- if (options & QmlViewer::TestImages) {
+ if (options & QmlViewer::TestImages && !(options & QmlViewer::Record)) {
qWarning() << "QmlGraphicsTester: Mismatched frame hash. Seen:"
<< fe.hash.toHex() << "Expected:"
<< frame->hash().toUtf8();
@@ -327,7 +325,7 @@ void QmlGraphicsTester::updateCurrentTime(int msec)
break;
}
- if (options & QmlViewer::TestImages && !frame->image().isEmpty()) {
+ if (options & QmlViewer::TestImages && !(options & QmlViewer::Record) && !frame->image().isEmpty()) {
QImage goodImage(frame->image().toLocalFile());
if (goodImage != img) {
QString reject(frame->image().toLocalFile() + ".reject.png");
diff --git a/tools/qmlviewer/qmlviewer.cpp b/tools/qmlviewer/qmlviewer.cpp
index b9f3e67..b6a3627 100644
--- a/tools/qmlviewer/qmlviewer.cpp
+++ b/tools/qmlviewer/qmlviewer.cpp
@@ -366,7 +366,7 @@ QmlViewer::QmlViewer(QWidget *parent, Qt::WindowFlags flags)
void QmlViewer::adjustSizeSlot()
{
- adjustSize();
+ resize(sizeHint());
}
QMenuBar *QmlViewer::menuBar() const
@@ -722,7 +722,7 @@ void QmlViewer::openQml(const QString& file_or_url)
canvas->updateGeometry();
if (mb)
mb->updateGeometry();
- adjustSize();
+ resize(sizeHint());
} else {
if (scaleSkin)
canvas->resize(canvas->sizeHint());