From 4ddf22fdbf9da5f05f1af8c8611db268419de42d Mon Sep 17 00:00:00 2001 From: Jerome Pasion Date: Tue, 9 Nov 2010 13:50:23 +0100 Subject: Added the location of Getting Started with QML code. Task-number: QTBUG-15042 Reviewed-by: David Boddie --- doc/src/getting-started/gettingstartedqml.qdoc | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc index c555627..54fa098 100644 --- a/doc/src/getting-started/gettingstartedqml.qdoc +++ b/doc/src/getting-started/gettingstartedqml.qdoc @@ -58,7 +58,12 @@ \image qml-texteditor5_editmenu.png - To run the QML example code, merely provide the included \l{QML Viewer}{qmlviewer} + The final source code is in the \c{examples/tutorials/gettingStarted/gsQml} + directory. You may need to compile the C++ plugin in the + \c{examples/tutorials/gettingStarted/gsQml/} first. This will put the + C++ plugin in a directory where the QML files may find it. + + To launch the text editor, merely provide the included \l{QML Viewer}{qmlviewer} tool with the QML file as the argument. The C++ portion of this tutorial assumes that the reader possesses basic knowledge of Qt's compilation procedures. @@ -1005,4 +1010,14 @@ The application can function as a simple text editor, able to accept text and save the text into a file. The text editor can also load from a file and perform text manipulation. + + \section1 Running the Text Editor + + We need to compile the file dialog C++ plugin before the text editor can run. + To compile, enter the \c gsQml directory, then run \c qmake and compile + using \c make or \c nmake, depending on your platform. To run, launch + qmlviewer and open the \c texteditor.qml file. + + The source code is in the \c{examples/tutorials/gettingStarted/gsQml} + directory. */ -- cgit v0.12 From 749632c12feb8a43594d52309ea630c2bc8c5161 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 11 Nov 2010 09:50:30 +0100 Subject: qdoc: Fixed virtualness and constness of the fileBase() function. Task-number: QTBUG-13939 --- tools/qdoc3/htmlgenerator.cpp | 9 ++++++--- tools/qdoc3/htmlgenerator.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index 9e45f8c..76ee4e8 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -3413,7 +3413,7 @@ QString HtmlGenerator::protect(const QString &string, const QString &outputEncod #undef APPEND } -QString HtmlGenerator::fileBase(const Node *node) +QString HtmlGenerator::fileBase(const Node *node) const { QString result; @@ -3544,8 +3544,11 @@ QString HtmlGenerator::linkForNode(const Node *node, const Node *relative) return QString(); fn = fileName(node); -/* if (!node->url().isEmpty()) - return fn;*/ +#if 0 + if (!node->url().isEmpty()) + return fn; +#endif + #if 0 // ### reintroduce this test, without breaking .dcf files if (fn != outFileName()) diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index d885ada..b96d737 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -241,7 +241,7 @@ class HtmlGenerator : public PageGenerator void generateStatus(const Node *node, CodeMarker *marker); QString registerRef(const QString& ref); - QString fileBase(const Node *node); + virtual QString fileBase(const Node *node) const; #if 0 QString fileBase(const Node *node, const SectionIterator& section); #endif -- cgit v0.12 From 772fbf9f5fb7578c5006f4f8a98856b8546f1f71 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 10 Nov 2010 19:32:29 +0100 Subject: Fix compilation by s/intptr_t/quintptr/ intptr_t is defined in some C header that we don't include. I don't know which one it is, but without it, it fails to compile with: declarative/qml/qdeclarativecontext.cpp:477: error: 'intptr_t' was not declared in this scope Reviewed-By: Trust Me --- src/declarative/qml/qdeclarativecompiledbindings.cpp | 2 +- src/declarative/qml/qdeclarativecontext.cpp | 4 ++-- src/declarative/qml/qdeclarativeobjectscriptclass.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp index 5f0fd56..fbe5829 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings.cpp +++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp @@ -601,7 +601,7 @@ struct QDeclarativeBindingCompilerPrivate QDeclarativeImports imports; QDeclarativeEnginePrivate *engine; - QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((intptr_t)context, 16); } + QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((quintptr)context, 16); } bool compile(QDeclarativeJS::AST::Node *); diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 1e58a71..3ee0e6f 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -474,7 +474,7 @@ int QDeclarativeContextPrivate::context_count(QDeclarativeListProperty { QDeclarativeContext *context = static_cast(prop->object); QDeclarativeContextPrivate *d = QDeclarativeContextPrivate::get(context); - int contextProperty = (int)(intptr_t)prop->data; + int contextProperty = (int)(quintptr)prop->data; if (d->propertyValues.at(contextProperty).userType() != qMetaTypeId >()) { return 0; @@ -487,7 +487,7 @@ QObject *QDeclarativeContextPrivate::context_at(QDeclarativeListProperty(prop->object); QDeclarativeContextPrivate *d = QDeclarativeContextPrivate::get(context); - int contextProperty = (int)(intptr_t)prop->data; + int contextProperty = (int)(quintptr)prop->data; if (d->propertyValues.at(contextProperty).userType() != qMetaTypeId >()) { return 0; diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp index ea92111..eff59df 100644 --- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp +++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp @@ -421,7 +421,7 @@ QScriptValue QDeclarativeObjectScriptClass::tostring(QScriptContext *context, QS ret += QString::fromUtf8(obj->metaObject()->className()); ret += QLatin1String("(0x"); - ret += QString::number((intptr_t)obj,16); + ret += QString::number((quintptr)obj,16); if (!objectName.isEmpty()) { ret += QLatin1String(", \""); -- cgit v0.12 From 661c9f93a90a8855c4dd8b6a215312387387ee9c Mon Sep 17 00:00:00 2001 From: Philip Van Hoof Date: Mon, 1 Nov 2010 16:59:44 +0100 Subject: Push and pop the thread-default context for the current thread Merge-request: 869 Reviewed-by: Thiago Macieira (cherry picked from commit aa88b7044dd86850e6986aa80104bb38bb7b12eb) --- src/corelib/kernel/qeventdispatcher_glib.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp index 8390275..6fa2707 100644 --- a/src/corelib/kernel/qeventdispatcher_glib.cpp +++ b/src/corelib/kernel/qeventdispatcher_glib.cpp @@ -311,6 +311,10 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context) } } +#if GLIB_CHECK_VERSION (2, 22, 0) + g_main_context_push_thread_default (mainContext); +#endif + // setup post event source postEventSource = reinterpret_cast(g_source_new(&postEventSourceFuncs, sizeof(GPostEventSource))); @@ -389,6 +393,9 @@ QEventDispatcherGlib::~QEventDispatcherGlib() d->postEventSource = 0; Q_ASSERT(d->mainContext != 0); +#if GLIB_CHECK_VERSION (2, 22, 0) + g_main_context_pop_thread_default (d->mainContext); +#endif g_main_context_unref(d->mainContext); d->mainContext = 0; } -- cgit v0.12 From 9022b0e50cac244790463905511ae5a868be3526 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 10 Nov 2010 11:28:36 +0100 Subject: Added an example for QTest::touchEvent to the documentation. Reviewed-by: trustme --- doc/src/snippets/code/src_qtestlib_qtestcase.cpp | 16 ++++++++++++++++ src/testlib/qtestcase.cpp | 3 +++ 2 files changed, 19 insertions(+) diff --git a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp index 6ae8939..adb0c34 100644 --- a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp +++ b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp @@ -230,5 +230,21 @@ widget.show(); QTest::qWaitForWindowShown(&widget); //! [24] +//! [25] +QWidget widget; + +QTest::touchEvent(&widget) + .press(0, QPoint(10, 10)); +QTest::touchEvent(&widget) + .stationary(0) + .press(1, QPoint(40, 10)); +QTest::touchEvent(&widget) + .move(0, QPoint(12, 12)) + .move(1, QPoint(45, 5)); +QTest::touchEvent(&widget) + .release(0) + .release(1); +//! [25] + } diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 17f1a6b..e3a8726 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -755,6 +755,9 @@ QT_BEGIN_NAMESPACE QTest::touchEvent to create a QTouchEventSequence instance. Add touch events to the sequence by calling press(), move(), release() and stationary(), and let the instance run out of scope to commit the sequence to the event system. + + Example: + \snippet doc/src/snippets/code/src_qtestlib_qtestcase.cpp 25 */ /*! -- cgit v0.12 From db1170458ca4a005f63e6aee9fe9cb346e8f54b6 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Thu, 11 Nov 2010 10:42:31 +0100 Subject: SSL internals: upon error, read all errors from OpenSSL ... and not only the last one. One call to OpenSSL can produce several errors, which we should always read all. Otherwise, malicious clients could intentionally poison the error queue. Inspired-by: Merge request 2290 Reviewed-by: Olivier Goffart Reviewed-by: Markus Goetz Task-number: QTBUG-14513 --- src/network/ssl/qsslsocket_openssl.cpp | 43 ++++++++++++++++++++-------------- src/network/ssl/qsslsocket_openssl_p.h | 1 + 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 2910538..1347b99 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -80,9 +80,6 @@ QT_BEGIN_NAMESPACE bool QSslSocketPrivate::s_libraryLoaded = false; bool QSslSocketPrivate::s_loadedCiphersAndCerts = false; -// Useful defines -#define SSL_ERRORSTR() QString::fromLocal8Bit(q_ERR_error_string(q_ERR_get_error(), NULL)) - /* \internal From OpenSSL's thread(3) manual page: @@ -272,7 +269,7 @@ init_context: } // ### Bad error code - q->setErrorString(QSslSocket::tr("Error creating SSL context (%1)").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error creating SSL context (%1)").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -297,7 +294,7 @@ init_context: if (!q_SSL_CTX_set_cipher_list(ctx, cipherString.data())) { // ### Bad error code - q->setErrorString(QSslSocket::tr("Invalid or empty cipher list (%1)").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Invalid or empty cipher list (%1)").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -325,14 +322,14 @@ init_context: if (!configuration.localCertificate.isNull()) { // Require a private key as well. if (configuration.privateKey.isNull()) { - q->setErrorString(QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } // Load certificate if (!q_SSL_CTX_use_certificate(ctx, (X509 *)configuration.localCertificate.handle())) { - q->setErrorString(QSslSocket::tr("Error loading local certificate, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error loading local certificate, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } @@ -347,14 +344,14 @@ init_context: else q_EVP_PKEY_set1_DSA(pkey, (DSA *)configuration.privateKey.handle()); if (!q_SSL_CTX_use_PrivateKey(ctx, pkey)) { - q->setErrorString(QSslSocket::tr("Error loading private key, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error loading private key, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } // Check if the certificate matches the private key. if (!q_SSL_CTX_check_private_key(ctx)) { - q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } @@ -374,7 +371,7 @@ init_context: // Create and initialize SSL session if (!(ssl = q_SSL_new(ctx))) { // ### Bad error code - q->setErrorString(QSslSocket::tr("Error creating SSL session, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error creating SSL session, %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -389,7 +386,7 @@ init_context: writeBio = q_BIO_new(q_BIO_s_mem()); if (!readBio || !writeBio) { // ### Bad error code - q->setErrorString(QSslSocket::tr("Error creating SSL session: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error creating SSL session: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -868,7 +865,7 @@ void QSslSocketBackendPrivate::transmit() int writtenBytes = q_SSL_write(ssl, writeBuffer.readPointer(), nextDataBlockSize); if (writtenBytes <= 0) { // ### Better error handling. - q->setErrorString(QSslSocket::tr("Unable to write data: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Unable to write data: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return; @@ -931,7 +928,7 @@ void QSslSocketBackendPrivate::transmit() plainSocket->read(data.data(), writtenToBio); } else { // ### Better error handling. - q->setErrorString(QSslSocket::tr("Unable to decrypt data: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Unable to decrypt data: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return; @@ -1009,7 +1006,7 @@ void QSslSocketBackendPrivate::transmit() case SSL_ERROR_SSL: // error in the SSL library // we do not know exactly what the error is, nor whether we can recover from it, // so just return to prevent an endless loop in the outer "while" statement - q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return; @@ -1019,7 +1016,7 @@ void QSslSocketBackendPrivate::transmit() // SSL_ERROR_WANT_X509_LOOKUP: can only happen with a // SSL_CTX_set_client_cert_cb(), which we do not call. // So this default case should never be triggered. - q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); break; @@ -1114,8 +1111,7 @@ bool QSslSocketBackendPrivate::startHandshake() // The handshake is not yet complete. break; default: - // ### Handle errors better - q->setErrorString(QSslSocket::tr("Error during SSL handshake: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error during SSL handshake: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::SslHandshakeFailedError); #ifdef QSSLSOCKET_DEBUG qDebug() << "QSslSocketBackendPrivate::startHandshake: error!" << q->errorString(); @@ -1291,6 +1287,19 @@ QList QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates return certificates; } +QString QSslSocketBackendPrivate::getErrorsFromOpenSsl() +{ + QString errorString; + unsigned long errNum; + while((errNum = q_ERR_get_error())) { + if (! errorString.isEmpty()) + errorString.append(QLatin1String(", ")); + const char *error = q_ERR_error_string(errNum, NULL); + errorString.append(QString::fromAscii(error)); // error is ascii according to man ERR_error_string + } + return errorString; +} + bool QSslSocketBackendPrivate::isMatchingHostname(const QString &cn, const QString &hostname) { int wildcard = cn.indexOf(QLatin1Char('*')); diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h index dec98ae..bd5902d 100644 --- a/src/network/ssl/qsslsocket_openssl_p.h +++ b/src/network/ssl/qsslsocket_openssl_p.h @@ -117,6 +117,7 @@ public: static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher); static QList STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509); Q_AUTOTEST_EXPORT static bool isMatchingHostname(const QString &cn, const QString &hostname); + static QString getErrorsFromOpenSsl(); }; #if defined(Q_OS_SYMBIAN) -- cgit v0.12 From fac68dca46131d63f11c37210834073848f5a93d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 11 Nov 2010 10:39:09 +0100 Subject: Don't set -mfpu=neon globally if the compiler supports neon. By default only drawhelpers and image loaders will now use neon. If -mfpu=neon has been explicitly enabled in the mkspec, QT_ALWAYS_HAVE_NEON will be defined, allowing the use of neon intrinsics elsewhere. Task-number: QTBUG-15163 Reviewed-by: Benjamin Poulain --- configure | 5 ++--- src/corelib/corelib.pro | 7 ------- src/corelib/tools/qsimd.cpp | 2 +- src/corelib/tools/qsimd_p.h | 3 ++- src/corelib/tools/qstring.cpp | 2 +- src/gui/gui.pro | 3 +-- 6 files changed, 7 insertions(+), 15 deletions(-) diff --git a/configure b/configure index a238300..5aab180 100755 --- a/configure +++ b/configure @@ -3526,7 +3526,7 @@ Usage: $relconf [-h] [-prefix ] [-prefix-install] [-bindir ] [-libdir [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv] [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui] [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2] - [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] + [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon] [-qtnamespace ] [-qtlibinfix ] [-separate-debug-info] [-armfpa] [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns] [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend] @@ -3730,6 +3730,7 @@ cat << EOF -no-sse4.1.......... Do not compile with use of SSE4.1 instructions. -no-sse4.2.......... Do not compile with use of SSE4.2 instructions. -no-avx ............ Do not compile with use of AVX instructions. + -no-neon ........... Do not compile with use of NEON instructions. -qtnamespace Wraps all Qt library code in 'namespace {...}'. -qtlibinfix Renames all libQt*.so to libQt*.so. @@ -4161,8 +4162,6 @@ Qt for Embedded Linux only: -iwmmxt ............ Compile using the iWMMXt instruction set (available on some XScale CPUs). - - -no-neon ........... Do not compile with use of NEON instructions. EOF fi diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index b7d6034..a001940 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -37,10 +37,3 @@ symbian: { MMP_RULES -= PAGED MMP_RULES *= UNPAGED } - -neon { - DEFINES += QT_HAVE_NEON - QMAKE_CXXFLAGS *= -mfpu=neon -} - - diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index b2fe2da..63ebafb 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -135,7 +135,7 @@ static inline uint detectProcessorFeatures() #if defined(QT_HAVE_IWMMXT) // runtime detection only available when running as a previlegied process features = IWMMXT; -#elif defined(QT_HAVE_NEON) +#elif defined(QT_ALWAYS_HAVE_NEON) features = NEON; #endif diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 664543b..87fa770 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -105,7 +105,8 @@ QT_BEGIN_HEADER #endif // defined(QT_HAVE_SSE2) && (defined(__SSE2__) || defined(Q_CC_MSVC)) // NEON intrinsics -#if defined(QT_HAVE_NEON) +#if defined __ARM_NEON__ +#define QT_ALWAYS_HAVE_NEON #include #endif diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index bfbdb73..d4a1248 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -3572,7 +3572,7 @@ static QByteArray toLatin1_helper(const QChar *data, int length) } length = length % 16; } -#elif QT_HAVE_NEON +#elif QT_ALWAYS_HAVE_NEON // Refer to the documentation of the SSE2 implementation // this use eactly the same method as for SSE except: // 1) neon has unsigned comparison diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 90b5de5..4d51fa8 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -64,13 +64,12 @@ symbian { neon:*-g++* { DEFINES += QT_HAVE_NEON - QMAKE_CXXFLAGS *= -mfpu=neon HEADERS += $$NEON_HEADERS SOURCES += $$NEON_SOURCES DRAWHELPER_NEON_ASM_FILES = $$NEON_ASM - neon_compiler.commands = $$QMAKE_CXX -c + neon_compiler.commands = $$QMAKE_CXX -c -mfpu=neon neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} neon_compiler.dependency_type = TYPE_C neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} -- cgit v0.12 From 76d9e79d1faf174a7052b197b0fe92425bb85f3a Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 11 Nov 2010 15:07:30 +0100 Subject: qdoc: Added QML Elements to the Assistant index Task-number: QTBUG-15081 --- tools/qdoc3/helpprojectwriter.cpp | 16 +++++++++------- tools/qdoc3/test/qt-build-docs.qdocconf | 8 ++++++-- tools/qdoc3/test/qt.qdocconf | 6 +++++- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp index 98246c4..63e8df7 100644 --- a/tools/qdoc3/helpprojectwriter.cpp +++ b/tools/qdoc3/helpprojectwriter.cpp @@ -49,6 +49,7 @@ #include "config.h" #include "node.h" #include "tree.h" +#include QT_BEGIN_NAMESPACE @@ -250,8 +251,9 @@ bool HelpProjectWriter::generateSection(HelpProject &project, foreach (const QString &name, project.subprojects.keys()) { SubProject subproject = project.subprojects[name]; // No selectors: accept all nodes. - if (subproject.selectors.isEmpty()) + if (subproject.selectors.isEmpty()) { project.subprojects[name].nodes[objName] = node; + } else if (subproject.selectors.contains(node->type())) { // Accept only the node types in the selectors hash. if (node->type() != Node::Fake) @@ -262,9 +264,10 @@ bool HelpProjectWriter::generateSection(HelpProject &project, const FakeNode *fakeNode = static_cast(node); if (subproject.selectors[node->type()].contains(fakeNode->subType()) && fakeNode->subType() != Node::ExternalPage && - !fakeNode->fullTitle().isEmpty()) + !fakeNode->fullTitle().isEmpty()) { project.subprojects[name].nodes[objName] = node; + } } } } @@ -527,13 +530,11 @@ void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer writer.writeStartElement("section"); writer.writeAttribute("ref", href); writer.writeAttribute("title", fakeNode->fullTitle()); - // qDebug() << "Title:" << fakeNode->fullTitle(); - if (fakeNode->subType() == Node::HeaderFile) { - + if ((fakeNode->subType() == Node::HeaderFile) || (fakeNode->subType() == Node::QmlClass)) { // Write subsections for all members, obsolete members and Qt 3 // members. - if (!project.memberStatus[node].isEmpty()) { + if (!project.memberStatus[node].isEmpty() || (fakeNode->subType() == Node::QmlClass)) { QString membersPath = href.left(href.size()-5) + "-members.html"; writer.writeStartElement("section"); writer.writeAttribute("ref", membersPath); @@ -690,8 +691,9 @@ void HelpProjectWriter::generateProject(HelpProject &project) if (subproject.sortPages) { QStringList titles = subproject.nodes.keys(); titles.sort(); - foreach (const QString &title, titles) + foreach (const QString &title, titles) { writeNode(project, writer, subproject.nodes[title]); + } } else { // Find a contents node and navigate from there, using the NextLink values. foreach (const Node *node, subproject.nodes) { diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf index dcabeb4..358f17f 100644 --- a/tools/qdoc3/test/qt-build-docs.qdocconf +++ b/tools/qdoc3/test/qt-build-docs.qdocconf @@ -62,11 +62,15 @@ qhp.Qt.extraFiles = index.html \ qhp.Qt.filterAttributes = qt 4.7.1 qtrefdoc qhp.Qt.customFilters.Qt.name = Qt 4.7.1 qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.1 -qhp.Qt.subprojects = classes overviews examples +qhp.Qt.subprojects = classes qmlelements overviews examples qhp.Qt.subprojects.classes.title = Classes -qhp.Qt.subprojects.classes.indexTitle = Qt's Classes +qhp.Qt.subprojects.classes.indexTitle = All Classes qhp.Qt.subprojects.classes.selectors = class fake:headerfile qhp.Qt.subprojects.classes.sortPages = true +qhp.Qt.subprojects.qmlelements.title = QML Elements +qhp.Qt.subprojects.qmlelements.indexTitle = QML Elements +qhp.Qt.subprojects.qmlelements.selectors = fake:qmlclass +qhp.Qt.subprojects.qmlelements.sortPages = true qhp.Qt.subprojects.overviews.title = Overviews qhp.Qt.subprojects.overviews.indexTitle = All Overviews and HOWTOs qhp.Qt.subprojects.overviews.selectors = fake:page,group,module diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf index ea97205..947beb2 100644 --- a/tools/qdoc3/test/qt.qdocconf +++ b/tools/qdoc3/test/qt.qdocconf @@ -62,11 +62,15 @@ qhp.Qt.extraFiles = index.html \ qhp.Qt.filterAttributes = qt 4.7.1 qtrefdoc qhp.Qt.customFilters.Qt.name = Qt 4.7.1 qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.1 -qhp.Qt.subprojects = classes overviews examples +qhp.Qt.subprojects = classes qmlelements overviews examples qhp.Qt.subprojects.classes.title = Classes qhp.Qt.subprojects.classes.indexTitle = Qt's Classes qhp.Qt.subprojects.classes.selectors = class fake:headerfile qhp.Qt.subprojects.classes.sortPages = true +qhp.Qt.subprojects.qmlelements.title = QML Elements +qhp.Qt.subprojects.qmlelements.indexTitle = QML Elements +qhp.Qt.subprojects.qmlelements.selectors = fake:qmlclass +qhp.Qt.subprojects.qmlelements.sortPages = true qhp.Qt.subprojects.overviews.title = Overviews qhp.Qt.subprojects.overviews.indexTitle = All Overviews and HOWTOs qhp.Qt.subprojects.overviews.selectors = fake:page,group,module -- cgit v0.12 From 978f67a14a1a28881214a6ae31c3852c6cfdc7c9 Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Thu, 11 Nov 2010 18:30:40 +0100 Subject: Add FreeBSD's certificate bundle to the certificates list. The FreeBSD base system does not ship a certificate bundle, but the ca_root_nss port provides one extracted from Mozilla's root CA list. As discussed in QTBUG-14013, it should be preferrable to have bundle files than separate certificate files, so the path for the certificate has been added directly. Signed-off-by: Raphael Kubo da Costa Merge-request: 896 Reviewed-by: Thiago Macieira --- src/network/ssl/qsslsocket_openssl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 1347b99..0aeaba9 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -797,6 +797,7 @@ QList QSslSocketPrivate::systemCaCertificates() systemCerts.append(QSslCertificate::fromPath(it.next())); } systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora, Mandriva + systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/share/certs/ca-root-nss.crt"), QSsl::Pem)); // FreeBSD's ca_root_nss #elif defined(Q_OS_SYMBIAN) QList certs; -- cgit v0.12 From acde750479653837612131a847b2fb1246a1ff10 Mon Sep 17 00:00:00 2001 From: Sam Magnuson Date: Mon, 8 Nov 2010 13:21:05 -0800 Subject: Implement brush transformations for directfb. Merge-request: 915 Reviewed-by: Donald Carr (cherry picked from commit b62079cf17044e09999eb1808788926ea921fb05) --- .../gfxdrivers/directfb/qdirectfbpaintengine.cpp | 42 ++++++++++++++-------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index c16a242..85ff925 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -68,6 +68,14 @@ public: Matrix_BlitsUnsupported = (Matrix_NegativeScale|Matrix_RectsUnsupported) }; + inline static uint getTransformationType(const QTransform &transform) { + int ret = transform.type(); + if (qMin(transform.m11(), transform.m22()) < 0) { + ret |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale; + } + return ret; + } + enum CompositionModeStatus { PorterDuff_None = 0x0, PorterDuff_Supported = 0x1, @@ -99,7 +107,7 @@ public: inline bool isSimpleBrush(const QBrush &brush) const; - void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos); + void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos, const QTransform &pixmapTransform); void blit(const QRectF &dest, IDirectFBSurface *surface, const QRectF &src); inline bool supportsStretchBlit() const; @@ -707,7 +715,8 @@ void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap pix(data); QRasterPaintEngine::drawTiledPixmap(r, pix, offset); } else { - CLIPPED_PAINT(d->drawTiledPixmap(r, pixmap, offset)); + QTransform transform(state()->matrix); + CLIPPED_PAINT(d->drawTiledPixmap(r, pixmap, offset, transform)); } } @@ -827,9 +836,14 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush) return; } case Qt::TexturePattern: { + const QPointF &brushOrigin = state()->brushOrigin; + const QTransform stateTransform = state()->matrix; + QTransform transform(stateTransform); + transform.translate(brushOrigin.x(), brushOrigin.y()); + transform = brush.transform() * transform; if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported) - || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) - || (!d->supportsStretchBlit() && state()->matrix.isScaling())) { + || (QDirectFBPaintEnginePrivate::getTransformationType(transform) & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) + || (!d->supportsStretchBlit() && transform.isScaling())) { break; } @@ -837,7 +851,7 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush) if (texture.pixmapData()->classId() != QPixmapData::DirectFBClass) break; - CLIPPED_PAINT(d->drawTiledPixmap(rect, texture, rect.topLeft() - state()->brushOrigin)); + CLIPPED_PAINT(d->drawTiledPixmap(stateTransform.mapRect(rect), texture, rect.topLeft() - brushOrigin, transform)); return; } default: break; @@ -948,10 +962,7 @@ void QDirectFBPaintEnginePrivate::unlock(QDirectFBPaintDevice *device) void QDirectFBPaintEnginePrivate::setTransform(const QTransform &transform) { - transformationType = transform.type(); - if (qMin(transform.m11(), transform.m22()) < 0) { - transformationType |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale; - } + transformationType = getTransformationType(transform); setPen(q->state()->pen); } @@ -1153,10 +1164,12 @@ static inline qreal fixCoord(qreal rect_pos, qreal pixmapSize, qreal offset) return pos; } -void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &off) +void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, + const QPointF &off, const QTransform &pixmapTransform) { - Q_ASSERT(!(transformationType & Matrix_BlitsUnsupported)); const QTransform &transform = q->state()->matrix; + Q_ASSERT(!(getTransformationType(transform) & Matrix_BlitsUnsupported) && + !(getTransformationType(pixmapTransform) & Matrix_BlitsUnsupported)); const QRect destinationRect = transform.mapRect(dest).toRect().normalized(); QRect newClip = destinationRect; if (!currentClip.isEmpty()) @@ -1173,7 +1186,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix }; surface->SetClip(surface, &clip); - QPointF offset = off; + QPointF offset = pixmapTransform.inverted().map(off); Q_ASSERT(transform.type() <= QTransform::TxScale); QPixmapData *data = pixmap.pixmapData(); Q_ASSERT(data->classId() == QPixmapData::DirectFBClass); @@ -1187,13 +1200,14 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix prepareForBlit(blitFlags); QDirectFBPaintEnginePrivate::unlock(dfbData); const QSize pixmapSize = dfbData->size(); - if (transform.isScaling()) { + IDirectFBSurface *sourceSurface = dfbData->directFBSurface(); + if (transform.isScaling() || pixmapTransform.isScaling()) { Q_ASSERT(supportsStretchBlit()); Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0); offset.rx() *= transform.m11(); offset.ry() *= transform.m22(); - const QSizeF mappedSize(pixmapSize.width() * transform.m11(), pixmapSize.height() * transform.m22()); + const QSizeF mappedSize(pixmapSize.width() * pixmapTransform.m11(), pixmapSize.height() * pixmapTransform.m22()); qreal y = fixCoord(destinationRect.y(), mappedSize.height(), offset.y()); const qreal startX = fixCoord(destinationRect.x(), mappedSize.width(), offset.x()); while (y <= destinationRect.bottom()) { -- cgit v0.12 From 540d5bde104dd924b24850c0ed8e8ee285b6ec69 Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Thu, 11 Nov 2010 17:33:36 +0000 Subject: Minor adjustments to merge-request 915 Fix minor stylistic issue raised by Oswald Removed duplicate sourceSurface pointer introduced by sibling merge request --- src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index 85ff925..ceed7ae 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -68,7 +68,8 @@ public: Matrix_BlitsUnsupported = (Matrix_NegativeScale|Matrix_RectsUnsupported) }; - inline static uint getTransformationType(const QTransform &transform) { + inline static uint getTransformationType(const QTransform &transform) + { int ret = transform.type(); if (qMin(transform.m11(), transform.m22()) < 0) { ret |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale; @@ -1200,7 +1201,6 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix prepareForBlit(blitFlags); QDirectFBPaintEnginePrivate::unlock(dfbData); const QSize pixmapSize = dfbData->size(); - IDirectFBSurface *sourceSurface = dfbData->directFBSurface(); if (transform.isScaling() || pixmapTransform.isScaling()) { Q_ASSERT(supportsStretchBlit()); Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0); -- cgit v0.12 From 0b175f5f224e33f4e51873607fe78a4c203ab896 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 12 Nov 2010 13:39:58 +1000 Subject: Ensure loaded item's parent is set before component completion. Also documented Loader sizing behavior. Task-number: QTBUG-14873 Reviewed-by: Michael Brasser --- doc/src/snippets/declarative/loader/sizeitem.qml | 62 ++++++++++++++++++++++ doc/src/snippets/declarative/loader/sizeloader.qml | 62 ++++++++++++++++++++++ .../graphicsitems/qdeclarativeloader.cpp | 41 +++++++++++--- 3 files changed, 159 insertions(+), 6 deletions(-) create mode 100644 doc/src/snippets/declarative/loader/sizeitem.qml create mode 100644 doc/src/snippets/declarative/loader/sizeloader.qml diff --git a/doc/src/snippets/declarative/loader/sizeitem.qml b/doc/src/snippets/declarative/loader/sizeitem.qml new file mode 100644 index 0000000..6ace8d6 --- /dev/null +++ b/doc/src/snippets/declarative/loader/sizeitem.qml @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation 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$ +** +****************************************************************************/ +//![0] +import QtQuick 1.0 + +Item { + width: 200; height: 200 + + Loader { + // position the Loader in the center of the parent + anchors.centerIn: parent + sourceComponent: rect + } + + Component { + id: rect + Rectangle { + width: 50 + height: 50 + color: "red" + } + } +} +//![0] diff --git a/doc/src/snippets/declarative/loader/sizeloader.qml b/doc/src/snippets/declarative/loader/sizeloader.qml new file mode 100644 index 0000000..eac7d57 --- /dev/null +++ b/doc/src/snippets/declarative/loader/sizeloader.qml @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation 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$ +** +****************************************************************************/ +//![0] +import QtQuick 1.0 + +Item { + width: 200; height: 200 + + Loader { + // Explicitly set the size of the Loader to the parent item's size + anchors.fill: parent + sourceComponent: rect + } + + Component { + id: rect + Rectangle { + width: 50 + height: 50 + color: "red" + } + } +} +//![0] diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 109fbbb..1119b92 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -129,15 +129,41 @@ void QDeclarativeLoaderPrivate::initResize() The loaded item can be accessed using the \l item property. - Loader is like any other visual item and must be positioned and sized - accordingly to become visible. Once the component is loaded, the Loader - is automatically resized to the size of the component. - If the \l source or \l sourceComponent changes, any previously instantiated items are destroyed. Setting \l source to an empty string or setting \l sourceComponent to \c undefined destroys the currently loaded item, freeing resources and leaving the Loader empty. + \section2 Loader sizing behavior + + Loader is like any other visual item and must be positioned and sized + accordingly to become visible. + + \list + \o If an explicit size is not specified for the Loader, the Loader + is automatically resized to the size of the loaded item once the + component is loaded. + \o If the size of the Loader is specified explicitly by setting + the width, height or by anchoring, the loaded item will be resized + to the size of the Loader. + \endlist + + In both scenarios the size of the item and the Loader are identical. + This ensures that anchoring to the Loader is equivalent to anchoring + to the loaded item. + + \table + \row + \o sizeloader.qml + \o sizeitem.qml + \row + \o \snippet doc/src/snippets/declarative/loader/sizeloader.qml 0 + \o \snippet doc/src/snippets/declarative/loader/sizeitem.qml 0 + \row + \o The red rectangle will be sized to the size of the root item. + \o The red rectangle will be 50x50, centered in the root item. + \endtable + \section2 Receiving signals from loaded items @@ -343,12 +369,14 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() QDeclarativeContext *ctxt = new QDeclarativeContext(creationContext); ctxt->setContextObject(q); - QDeclarativeComponent *c = component; - QObject *obj = component->create(ctxt); + QDeclarativeGuard c = component; + QObject *obj = component->beginCreate(ctxt); if (component != c) { // component->create could trigger a change in source that causes // component to be set to something else. In that case we just // need to cleanup. + if (c) + c->completeCreate(); delete obj; delete ctxt; return; @@ -373,6 +401,7 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() delete ctxt; source = QUrl(); } + component->completeCreate(); emit q->sourceChanged(); emit q->statusChanged(); emit q->progressChanged(); -- cgit v0.12 From ec288ed3720ab3fdc41f3c3698fe58fb322ad090 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 12 Nov 2010 15:35:41 +1000 Subject: Ensure increment/decrementCurrentIndex always move items in the correct direction. With < 4 items the shortest distance algorithm doesn't work since it is equal distance either way. Task-number: QTBUG-15260 Reviewed-by: Yann Bodson --- .../graphicsitems/qdeclarativepathview.cpp | 30 +++++++++++++++------- .../graphicsitems/qdeclarativepathview_p_p.h | 4 ++- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index dc3d5ee..ea929cf 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -607,6 +607,8 @@ void QDeclarativePathView::setCurrentIndex(int idx) */ void QDeclarativePathView::incrementCurrentIndex() { + Q_D(QDeclarativePathView); + d->moveDirection = QDeclarativePathViewPrivate::Positive; setCurrentIndex(currentIndex()+1); } @@ -625,6 +627,7 @@ void QDeclarativePathView::decrementCurrentIndex() int idx = currentIndex()-1; if (idx < 0) idx = d->modelCount - 1; + d->moveDirection = QDeclarativePathViewPrivate::Negative; setCurrentIndex(idx); } } @@ -1636,7 +1639,7 @@ void QDeclarativePathViewPrivate::snapToCurrent() if (!model || modelCount <= 0) return; - qreal targetOffset = modelCount - currentIndex; + qreal targetOffset = qmlMod(modelCount - currentIndex, modelCount); moveReason = Other; offsetAdj = 0.0; @@ -1645,19 +1648,28 @@ void QDeclarativePathViewPrivate::snapToCurrent() const int duration = highlightMoveDuration; - if (targetOffset - offset > modelCount/2) { + if (moveDirection == Positive || (moveDirection == Shortest && targetOffset - offset > modelCount/2)) { qreal distance = modelCount - targetOffset + offset; - tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * offset / distance)); - tl.set(moveOffset, modelCount); - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * (modelCount-targetOffset) / distance)); - } else if (targetOffset - offset <= -modelCount/2) { + if (targetOffset > moveOffset) { + tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * offset / distance)); + tl.set(moveOffset, modelCount); + tl.move(moveOffset, targetOffset, QEasingCurve(offset == 0.0 ? QEasingCurve::InOutQuad : QEasingCurve::OutQuad), int(duration * (modelCount-targetOffset) / distance)); + } else { + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration); + } + } else if (moveDirection == Negative || targetOffset - offset <= -modelCount/2) { qreal distance = modelCount - offset + targetOffset; - tl.move(moveOffset, modelCount, QEasingCurve(QEasingCurve::InQuad), int(duration * (modelCount-offset) / distance)); - tl.set(moveOffset, 0.0); - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * targetOffset / distance)); + if (targetOffset < moveOffset) { + tl.move(moveOffset, modelCount, QEasingCurve(targetOffset == 0 ? QEasingCurve::InOutQuad : QEasingCurve::InQuad), int(duration * (modelCount-offset) / distance)); + tl.set(moveOffset, 0.0); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * targetOffset / distance)); + } else { + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration); + } } else { tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration); } + moveDirection = Shortest; } QDeclarativePathViewAttached *QDeclarativePathView::qmlAttachedProperties(QObject *obj) diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h index b217216..6232b83 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h @@ -82,7 +82,7 @@ public: , dragMargin(0), deceleration(100) , moveOffset(this, &QDeclarativePathViewPrivate::setAdjustedOffset) , firstIndex(-1), pathItems(-1), requestedIndex(-1) - , moveReason(Other), attType(0), highlightComponent(0), highlightItem(0) + , moveReason(Other), moveDirection(Shortest), attType(0), highlightComponent(0), highlightItem(0) , moveHighlight(this, &QDeclarativePathViewPrivate::setHighlightPosition) , highlightPosition(0) , highlightRangeStart(0), highlightRangeEnd(0) @@ -173,6 +173,8 @@ public: QVariant modelVariant; enum MovementReason { Other, SetIndex, Mouse }; MovementReason moveReason; + enum MovementDirection { Shortest, Negative, Positive }; + MovementDirection moveDirection; QDeclarativeOpenMetaObjectType *attType; QDeclarativeComponent *highlightComponent; QDeclarativeItem *highlightItem; -- cgit v0.12 From 4a01dc326faa0bc7d61f67e8848e194c3c3b99c5 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 12 Nov 2010 15:54:50 +1000 Subject: Fix PathView key navigation docs. Task-number: QTBUG-15222 Reviewed-by: Yann Bodson --- src/declarative/graphicsitems/qdeclarativepathview.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index ea929cf..926bec2 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -373,7 +373,21 @@ void QDeclarativePathViewPrivate::regenerate() opacity of the items as they rotate. This additional code can be seen in the PathAttribute documentation.) - The \c focus can be set to \c true to enable keyboard navigation. + PathView does not automatically handle keyboard navigation. This is because + the keys to use for navigation will depend upon the shape of the path. Navigation + can be added quite simply by setting \c focus to \c true and calling + \l decrementCurrentIndex() or \l incrementCurrentIndex(), for example to navigate + using the left and right arrow keys: + + \code + PathView { + ... + focus: true + Keys.onLeftPressed: decrementCurrentIndex() + Keys.onRightPressed: incrementCurrentIndex() + } + \endcode + The path view itself is a focus scope (see \l{qmlfocus#Acquiring Focus and Focus Scopes}{the focus documentation page} for more details). Delegates are instantiated as needed and may be destroyed at any time. -- cgit v0.12 From 54ce087390724b5e03f95b93a5661d0a60765daa Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Fri, 12 Nov 2010 10:47:55 +0100 Subject: Crash fix, when the Object will be deleted during handling a QGestureEvent. The QGestures will now not be deleted immediatly. QGestureManager waits until all QGestureEvents are processed and will delete the QGestures afterwards. Task: QT-4022 Reviewed By: Zeno Albisser --- src/gui/kernel/qgesturemanager.cpp | 10 ++++++++-- src/gui/kernel/qgesturemanager_p.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index 5e9a0cb..9519447 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -175,9 +175,9 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ m_activeGestures.remove(g); m_gestureOwners.remove(g); m_gestureTargets.remove(g); + m_gesturesToDelete.insert(g); } - qDeleteAll(gestures); iter = m_objectGestures.erase(iter); } else { ++iter; @@ -385,6 +385,11 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap > m_obsoleteGestures; QHash m_deletedRecognizers; + QSet m_gesturesToDelete; void cleanupGesturesForRemovedRecognizer(QGesture *gesture); QGesture *getState(QObject *widget, QGestureRecognizer *recognizer, -- cgit v0.12 From 4ba3dadcae97bfde6216c32cfa339f8f0e0253c7 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 12 Nov 2010 13:16:03 +0100 Subject: qmake vcxproj generator: fix description of custom build tools The description of custom build tools that handle more than one extra compiler cannot be separated by ampersands in Visual Studio 2010. This seems to be a msbuild bug. We'll just circumvent this issue by changing the separator in the description to comma. Task-number: QTBUG-13986 Reviewed-by: ossi --- qmake/generators/win32/msbuild_objectmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index c963f46..c3436b4 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -2507,7 +2507,7 @@ bool VCXFilter::addExtraCompiler(const VCXFilterFile &info) // Output in info.additionalFile ----------- if (!CustomBuildTool.Description.isEmpty()) - CustomBuildTool.Description += " & "; + CustomBuildTool.Description += ", "; CustomBuildTool.Description += cmd_name; CustomBuildTool.CommandLine += VCToolBase::fixCommandLine(cmd.trimmed()); int space = cmd.indexOf(' '); -- cgit v0.12 From f31f50852b8bbfc658708be44e7d495637a63f4f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 10 Nov 2010 19:32:29 +0100 Subject: Fix compilation by s/intptr_t/quintptr/ intptr_t is defined in some C header that we don't include. I don't know which one it is, but without it, it fails to compile with: declarative/qml/qdeclarativecontext.cpp:477: error: 'intptr_t' was not declared in this scope Reviewed-By: Trust Me --- src/declarative/qml/qdeclarativecompiledbindings.cpp | 2 +- src/declarative/qml/qdeclarativecontext.cpp | 4 ++-- src/declarative/qml/qdeclarativeobjectscriptclass.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp index 5f0fd56..fbe5829 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings.cpp +++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp @@ -601,7 +601,7 @@ struct QDeclarativeBindingCompilerPrivate QDeclarativeImports imports; QDeclarativeEnginePrivate *engine; - QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((intptr_t)context, 16); } + QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((quintptr)context, 16); } bool compile(QDeclarativeJS::AST::Node *); diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 1e58a71..3ee0e6f 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -474,7 +474,7 @@ int QDeclarativeContextPrivate::context_count(QDeclarativeListProperty { QDeclarativeContext *context = static_cast(prop->object); QDeclarativeContextPrivate *d = QDeclarativeContextPrivate::get(context); - int contextProperty = (int)(intptr_t)prop->data; + int contextProperty = (int)(quintptr)prop->data; if (d->propertyValues.at(contextProperty).userType() != qMetaTypeId >()) { return 0; @@ -487,7 +487,7 @@ QObject *QDeclarativeContextPrivate::context_at(QDeclarativeListProperty(prop->object); QDeclarativeContextPrivate *d = QDeclarativeContextPrivate::get(context); - int contextProperty = (int)(intptr_t)prop->data; + int contextProperty = (int)(quintptr)prop->data; if (d->propertyValues.at(contextProperty).userType() != qMetaTypeId >()) { return 0; diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp index ea92111..eff59df 100644 --- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp +++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp @@ -421,7 +421,7 @@ QScriptValue QDeclarativeObjectScriptClass::tostring(QScriptContext *context, QS ret += QString::fromUtf8(obj->metaObject()->className()); ret += QLatin1String("(0x"); - ret += QString::number((intptr_t)obj,16); + ret += QString::number((quintptr)obj,16); if (!objectName.isEmpty()) { ret += QLatin1String(", \""); -- cgit v0.12 From 4f8d55c493db989984ec64bd05453e14d7a0cab2 Mon Sep 17 00:00:00 2001 From: Philip Van Hoof Date: Mon, 1 Nov 2010 16:59:44 +0100 Subject: Push and pop the thread-default context for the current thread Merge-request: 869 Reviewed-by: Thiago Macieira (cherry picked from commit aa88b7044dd86850e6986aa80104bb38bb7b12eb) --- src/corelib/kernel/qeventdispatcher_glib.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp index 8390275..6fa2707 100644 --- a/src/corelib/kernel/qeventdispatcher_glib.cpp +++ b/src/corelib/kernel/qeventdispatcher_glib.cpp @@ -311,6 +311,10 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context) } } +#if GLIB_CHECK_VERSION (2, 22, 0) + g_main_context_push_thread_default (mainContext); +#endif + // setup post event source postEventSource = reinterpret_cast(g_source_new(&postEventSourceFuncs, sizeof(GPostEventSource))); @@ -389,6 +393,9 @@ QEventDispatcherGlib::~QEventDispatcherGlib() d->postEventSource = 0; Q_ASSERT(d->mainContext != 0); +#if GLIB_CHECK_VERSION (2, 22, 0) + g_main_context_pop_thread_default (d->mainContext); +#endif g_main_context_unref(d->mainContext); d->mainContext = 0; } -- cgit v0.12 From 18ac111fe5fafed5ac2b5db97def3be2a898df7e Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 10 Nov 2010 11:28:36 +0100 Subject: Added an example for QTest::touchEvent to the documentation. Reviewed-by: trustme --- doc/src/snippets/code/src_qtestlib_qtestcase.cpp | 16 ++++++++++++++++ src/testlib/qtestcase.cpp | 3 +++ 2 files changed, 19 insertions(+) diff --git a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp index 6ae8939..adb0c34 100644 --- a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp +++ b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp @@ -230,5 +230,21 @@ widget.show(); QTest::qWaitForWindowShown(&widget); //! [24] +//! [25] +QWidget widget; + +QTest::touchEvent(&widget) + .press(0, QPoint(10, 10)); +QTest::touchEvent(&widget) + .stationary(0) + .press(1, QPoint(40, 10)); +QTest::touchEvent(&widget) + .move(0, QPoint(12, 12)) + .move(1, QPoint(45, 5)); +QTest::touchEvent(&widget) + .release(0) + .release(1); +//! [25] + } diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 17f1a6b..e3a8726 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -755,6 +755,9 @@ QT_BEGIN_NAMESPACE QTest::touchEvent to create a QTouchEventSequence instance. Add touch events to the sequence by calling press(), move(), release() and stationary(), and let the instance run out of scope to commit the sequence to the event system. + + Example: + \snippet doc/src/snippets/code/src_qtestlib_qtestcase.cpp 25 */ /*! -- cgit v0.12 From 7298b6b708752f68d16088e35e0aa9614052957c Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Thu, 11 Nov 2010 10:42:31 +0100 Subject: SSL internals: upon error, read all errors from OpenSSL ... and not only the last one. One call to OpenSSL can produce several errors, which we should always read all. Otherwise, malicious clients could intentionally poison the error queue. Inspired-by: Merge request 2290 Reviewed-by: Olivier Goffart Reviewed-by: Markus Goetz Task-number: QTBUG-14513 --- src/network/ssl/qsslsocket_openssl.cpp | 43 ++++++++++++++++++++-------------- src/network/ssl/qsslsocket_openssl_p.h | 1 + 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 426b07a..adeb6f9 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -81,9 +81,6 @@ QT_BEGIN_NAMESPACE bool QSslSocketPrivate::s_libraryLoaded = false; bool QSslSocketPrivate::s_loadedCiphersAndCerts = false; -// Useful defines -#define SSL_ERRORSTR() QString::fromLocal8Bit(q_ERR_error_string(q_ERR_get_error(), NULL)) - /* \internal From OpenSSL's thread(3) manual page: @@ -273,7 +270,7 @@ init_context: } // ### Bad error code - q->setErrorString(QSslSocket::tr("Error creating SSL context (%1)").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error creating SSL context (%1)").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -298,7 +295,7 @@ init_context: if (!q_SSL_CTX_set_cipher_list(ctx, cipherString.data())) { // ### Bad error code - q->setErrorString(QSslSocket::tr("Invalid or empty cipher list (%1)").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Invalid or empty cipher list (%1)").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -326,14 +323,14 @@ init_context: if (!configuration.localCertificate.isNull()) { // Require a private key as well. if (configuration.privateKey.isNull()) { - q->setErrorString(QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } // Load certificate if (!q_SSL_CTX_use_certificate(ctx, (X509 *)configuration.localCertificate.handle())) { - q->setErrorString(QSslSocket::tr("Error loading local certificate, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error loading local certificate, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } @@ -348,14 +345,14 @@ init_context: else q_EVP_PKEY_set1_DSA(pkey, (DSA *)configuration.privateKey.handle()); if (!q_SSL_CTX_use_PrivateKey(ctx, pkey)) { - q->setErrorString(QSslSocket::tr("Error loading private key, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error loading private key, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } // Check if the certificate matches the private key. if (!q_SSL_CTX_check_private_key(ctx)) { - q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(getErrorsFromOpenSsl())); emit q->error(QAbstractSocket::UnknownSocketError); return false; } @@ -375,7 +372,7 @@ init_context: // Create and initialize SSL session if (!(ssl = q_SSL_new(ctx))) { // ### Bad error code - q->setErrorString(QSslSocket::tr("Error creating SSL session, %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error creating SSL session, %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -390,7 +387,7 @@ init_context: writeBio = q_BIO_new(q_BIO_s_mem()); if (!readBio || !writeBio) { // ### Bad error code - q->setErrorString(QSslSocket::tr("Error creating SSL session: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error creating SSL session: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return false; @@ -911,7 +908,7 @@ void QSslSocketBackendPrivate::transmit() int writtenBytes = q_SSL_write(ssl, writeBuffer.readPointer(), nextDataBlockSize); if (writtenBytes <= 0) { // ### Better error handling. - q->setErrorString(QSslSocket::tr("Unable to write data: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Unable to write data: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return; @@ -974,7 +971,7 @@ void QSslSocketBackendPrivate::transmit() plainSocket->read(data.data(), writtenToBio); } else { // ### Better error handling. - q->setErrorString(QSslSocket::tr("Unable to decrypt data: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Unable to decrypt data: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return; @@ -1052,7 +1049,7 @@ void QSslSocketBackendPrivate::transmit() case SSL_ERROR_SSL: // error in the SSL library // we do not know exactly what the error is, nor whether we can recover from it, // so just return to prevent an endless loop in the outer "while" statement - q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); return; @@ -1062,7 +1059,7 @@ void QSslSocketBackendPrivate::transmit() // SSL_ERROR_WANT_X509_LOOKUP: can only happen with a // SSL_CTX_set_client_cert_cb(), which we do not call. // So this default case should never be triggered. - q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::UnknownSocketError); emit q->error(QAbstractSocket::UnknownSocketError); break; @@ -1157,8 +1154,7 @@ bool QSslSocketBackendPrivate::startHandshake() // The handshake is not yet complete. break; default: - // ### Handle errors better - q->setErrorString(QSslSocket::tr("Error during SSL handshake: %1").arg(SSL_ERRORSTR())); + q->setErrorString(QSslSocket::tr("Error during SSL handshake: %1").arg(getErrorsFromOpenSsl())); q->setSocketError(QAbstractSocket::SslHandshakeFailedError); #ifdef QSSLSOCKET_DEBUG qDebug() << "QSslSocketBackendPrivate::startHandshake: error!" << q->errorString(); @@ -1334,6 +1330,19 @@ QList QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates return certificates; } +QString QSslSocketBackendPrivate::getErrorsFromOpenSsl() +{ + QString errorString; + unsigned long errNum; + while((errNum = q_ERR_get_error())) { + if (! errorString.isEmpty()) + errorString.append(QLatin1String(", ")); + const char *error = q_ERR_error_string(errNum, NULL); + errorString.append(QString::fromAscii(error)); // error is ascii according to man ERR_error_string + } + return errorString; +} + bool QSslSocketBackendPrivate::isMatchingHostname(const QString &cn, const QString &hostname) { int wildcard = cn.indexOf(QLatin1Char('*')); diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h index b59a6c9..878c654 100644 --- a/src/network/ssl/qsslsocket_openssl_p.h +++ b/src/network/ssl/qsslsocket_openssl_p.h @@ -117,6 +117,7 @@ public: static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher); static QList STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509); Q_AUTOTEST_EXPORT static bool isMatchingHostname(const QString &cn, const QString &hostname); + static QString getErrorsFromOpenSsl(); }; #if defined(Q_OS_SYMBIAN) -- cgit v0.12 From 852fd6b9c05fd082a6a357faae18e63c2687058b Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Thu, 11 Nov 2010 18:30:40 +0100 Subject: Add FreeBSD's certificate bundle to the certificates list. The FreeBSD base system does not ship a certificate bundle, but the ca_root_nss port provides one extracted from Mozilla's root CA list. As discussed in QTBUG-14013, it should be preferrable to have bundle files than separate certificate files, so the path for the certificate has been added directly. Signed-off-by: Raphael Kubo da Costa Merge-request: 896 Reviewed-by: Thiago Macieira --- src/network/ssl/qsslsocket_openssl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index adeb6f9..70ef7ba 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -832,6 +832,7 @@ QList QSslSocketPrivate::systemCaCertificates() systemCerts.append(QSslCertificate::fromPath(it.next())); } systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora, Mandriva + systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/share/certs/ca-root-nss.crt"), QSsl::Pem)); // FreeBSD's ca_root_nss #elif defined(Q_OS_SYMBIAN) QList certs; -- cgit v0.12 From ba086383365c16f68c7032fca7631570f61de648 Mon Sep 17 00:00:00 2001 From: Sam Magnuson Date: Mon, 8 Nov 2010 13:21:05 -0800 Subject: Implement brush transformations for directfb. Merge-request: 915 Reviewed-by: Donald Carr (cherry picked from commit b62079cf17044e09999eb1808788926ea921fb05) --- .../gfxdrivers/directfb/qdirectfbpaintengine.cpp | 42 ++++++++++++++-------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index c16a242..85ff925 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -68,6 +68,14 @@ public: Matrix_BlitsUnsupported = (Matrix_NegativeScale|Matrix_RectsUnsupported) }; + inline static uint getTransformationType(const QTransform &transform) { + int ret = transform.type(); + if (qMin(transform.m11(), transform.m22()) < 0) { + ret |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale; + } + return ret; + } + enum CompositionModeStatus { PorterDuff_None = 0x0, PorterDuff_Supported = 0x1, @@ -99,7 +107,7 @@ public: inline bool isSimpleBrush(const QBrush &brush) const; - void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos); + void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos, const QTransform &pixmapTransform); void blit(const QRectF &dest, IDirectFBSurface *surface, const QRectF &src); inline bool supportsStretchBlit() const; @@ -707,7 +715,8 @@ void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap pix(data); QRasterPaintEngine::drawTiledPixmap(r, pix, offset); } else { - CLIPPED_PAINT(d->drawTiledPixmap(r, pixmap, offset)); + QTransform transform(state()->matrix); + CLIPPED_PAINT(d->drawTiledPixmap(r, pixmap, offset, transform)); } } @@ -827,9 +836,14 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush) return; } case Qt::TexturePattern: { + const QPointF &brushOrigin = state()->brushOrigin; + const QTransform stateTransform = state()->matrix; + QTransform transform(stateTransform); + transform.translate(brushOrigin.x(), brushOrigin.y()); + transform = brush.transform() * transform; if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported) - || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) - || (!d->supportsStretchBlit() && state()->matrix.isScaling())) { + || (QDirectFBPaintEnginePrivate::getTransformationType(transform) & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) + || (!d->supportsStretchBlit() && transform.isScaling())) { break; } @@ -837,7 +851,7 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush) if (texture.pixmapData()->classId() != QPixmapData::DirectFBClass) break; - CLIPPED_PAINT(d->drawTiledPixmap(rect, texture, rect.topLeft() - state()->brushOrigin)); + CLIPPED_PAINT(d->drawTiledPixmap(stateTransform.mapRect(rect), texture, rect.topLeft() - brushOrigin, transform)); return; } default: break; @@ -948,10 +962,7 @@ void QDirectFBPaintEnginePrivate::unlock(QDirectFBPaintDevice *device) void QDirectFBPaintEnginePrivate::setTransform(const QTransform &transform) { - transformationType = transform.type(); - if (qMin(transform.m11(), transform.m22()) < 0) { - transformationType |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale; - } + transformationType = getTransformationType(transform); setPen(q->state()->pen); } @@ -1153,10 +1164,12 @@ static inline qreal fixCoord(qreal rect_pos, qreal pixmapSize, qreal offset) return pos; } -void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &off) +void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, + const QPointF &off, const QTransform &pixmapTransform) { - Q_ASSERT(!(transformationType & Matrix_BlitsUnsupported)); const QTransform &transform = q->state()->matrix; + Q_ASSERT(!(getTransformationType(transform) & Matrix_BlitsUnsupported) && + !(getTransformationType(pixmapTransform) & Matrix_BlitsUnsupported)); const QRect destinationRect = transform.mapRect(dest).toRect().normalized(); QRect newClip = destinationRect; if (!currentClip.isEmpty()) @@ -1173,7 +1186,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix }; surface->SetClip(surface, &clip); - QPointF offset = off; + QPointF offset = pixmapTransform.inverted().map(off); Q_ASSERT(transform.type() <= QTransform::TxScale); QPixmapData *data = pixmap.pixmapData(); Q_ASSERT(data->classId() == QPixmapData::DirectFBClass); @@ -1187,13 +1200,14 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix prepareForBlit(blitFlags); QDirectFBPaintEnginePrivate::unlock(dfbData); const QSize pixmapSize = dfbData->size(); - if (transform.isScaling()) { + IDirectFBSurface *sourceSurface = dfbData->directFBSurface(); + if (transform.isScaling() || pixmapTransform.isScaling()) { Q_ASSERT(supportsStretchBlit()); Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0); offset.rx() *= transform.m11(); offset.ry() *= transform.m22(); - const QSizeF mappedSize(pixmapSize.width() * transform.m11(), pixmapSize.height() * transform.m22()); + const QSizeF mappedSize(pixmapSize.width() * pixmapTransform.m11(), pixmapSize.height() * pixmapTransform.m22()); qreal y = fixCoord(destinationRect.y(), mappedSize.height(), offset.y()); const qreal startX = fixCoord(destinationRect.x(), mappedSize.width(), offset.x()); while (y <= destinationRect.bottom()) { -- cgit v0.12 From 4034f4e99f4821947c8b4fd5e1470964ff9da740 Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Thu, 11 Nov 2010 17:33:36 +0000 Subject: Minor adjustments to merge-request 915 Fix minor stylistic issue raised by Oswald Removed duplicate sourceSurface pointer introduced by sibling merge request --- src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index 85ff925..ceed7ae 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -68,7 +68,8 @@ public: Matrix_BlitsUnsupported = (Matrix_NegativeScale|Matrix_RectsUnsupported) }; - inline static uint getTransformationType(const QTransform &transform) { + inline static uint getTransformationType(const QTransform &transform) + { int ret = transform.type(); if (qMin(transform.m11(), transform.m22()) < 0) { ret |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale; @@ -1200,7 +1201,6 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix prepareForBlit(blitFlags); QDirectFBPaintEnginePrivate::unlock(dfbData); const QSize pixmapSize = dfbData->size(); - IDirectFBSurface *sourceSurface = dfbData->directFBSurface(); if (transform.isScaling() || pixmapTransform.isScaling()) { Q_ASSERT(supportsStretchBlit()); Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0); -- cgit v0.12 From e4d429f955a9db248b71c95f59902be01eaed062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 12 Nov 2010 14:34:46 +0100 Subject: Remove driver bug work-around from GL 2 paint engine. For platforms where the driver bug isn't fixed, the work-around should be done by packagers instead. Reviewed-by: Gunnar Sletta --- src/opengl/gl2paintengineex/qglengineshadersource_p.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h index a7ece0f..0d30f9a 100644 --- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h @@ -340,12 +340,7 @@ static const char* const qglslImageSrcFragmentShader = "\n\ uniform lowp sampler2D imageTexture; \n\ lowp vec4 srcPixel() \n\ { \n" -#ifdef QT_OPENGL_ES_2 - // work-around for driver bug - "return 1.0 * texture2D(imageTexture, textureCoords); \n" -#else "return texture2D(imageTexture, textureCoords); \n" -#endif "}\n"; static const char* const qglslCustomSrcFragmentShader = "\n\ -- cgit v0.12 From 41cc62e076c9fc01d9cd2c66325a785d1643f6b6 Mon Sep 17 00:00:00 2001 From: Ville Pernu Date: Fri, 12 Nov 2010 14:08:54 +0200 Subject: Fix for KERN-EXEC 0 caused by QNetworkAccessManager::get QT-4155 bug. Canceling Network Session before canceling connection notifier notifications causes a call to an invalid RConnection instance. Fix: CanceL Network session after canceling notifications. --- src/plugins/bearer/symbian/qnetworksession_impl.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp index c5a39e1..53a5b4d 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp +++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp @@ -1151,10 +1151,10 @@ void QNetworkSessionPrivateImpl::RunL() serviceConfig = QNetworkConfiguration(); iError = QNetworkSession::InvalidConfigurationError; QT_TRYCATCH_LEAVING(emit QNetworkSessionPrivate::error(iError)); - Cancel(); if (ipConnectionNotifier) { ipConnectionNotifier->StopNotifications(); } + Cancel(); QT_TRYCATCH_LEAVING(syncStateWithInterface()); break; case KErrCancel: // Connection attempt cancelled @@ -1173,10 +1173,10 @@ void QNetworkSessionPrivateImpl::RunL() iError = QNetworkSession::UnknownSessionError; } QT_TRYCATCH_LEAVING(emit QNetworkSessionPrivate::error(iError)); - Cancel(); if (ipConnectionNotifier) { ipConnectionNotifier->StopNotifications(); } + Cancel(); QT_TRYCATCH_LEAVING(syncStateWithInterface()); break; } @@ -1268,10 +1268,10 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint serviceConfig = QNetworkConfiguration(); iError = QNetworkSession::SessionAbortedError; emit QNetworkSessionPrivate::error(iError); - Cancel(); if (ipConnectionNotifier) { ipConnectionNotifier->StopNotifications(); } + Cancel(); // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate iHandleStateNotificationsFromManager = true; emitSessionClosed = true; // Emit SessionClosed after state change has been reported -- cgit v0.12 From 8593133729ca2a92cd5dcc87c5e56031708949bf Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 12 Nov 2010 13:16:03 +0100 Subject: qmake vcxproj generator: fix description of custom build tools The description of custom build tools that handle more than one extra compiler cannot be separated by ampersands in Visual Studio 2010. This seems to be a msbuild bug. We'll just circumvent this issue by changing the separator in the description to comma. Task-number: QTBUG-13986 Reviewed-by: ossi --- qmake/generators/win32/msbuild_objectmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index c963f46..c3436b4 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -2507,7 +2507,7 @@ bool VCXFilter::addExtraCompiler(const VCXFilterFile &info) // Output in info.additionalFile ----------- if (!CustomBuildTool.Description.isEmpty()) - CustomBuildTool.Description += " & "; + CustomBuildTool.Description += ", "; CustomBuildTool.Description += cmd_name; CustomBuildTool.CommandLine += VCToolBase::fixCommandLine(cmd.trimmed()); int space = cmd.indexOf(' '); -- cgit v0.12 From 57ad39ec62175eeea023ca802448ebb1605dca23 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 12 Nov 2010 16:08:35 +0100 Subject: Don't pack Harfbuzz structs, this causes unaligned access crashes. The memory-greediest structs have been reordered anyway, so the gain from forcibly packing them is mostly negligible. Task-number: QTBUG-13395 Reviewed-by: Thiago Macieira --- src/3rdparty/harfbuzz/src/harfbuzz-buffer.h | 8 -------- src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h | 9 --------- src/3rdparty/harfbuzz/src/harfbuzz-gdef.h | 8 -------- src/3rdparty/harfbuzz/src/harfbuzz-global.h | 4 ---- src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h | 8 -------- src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h | 8 -------- src/3rdparty/harfbuzz/src/harfbuzz-gsub.h | 9 --------- src/3rdparty/harfbuzz/src/harfbuzz-open.h | 8 -------- src/3rdparty/harfbuzz/src/harfbuzz-shaper.h | 8 -------- src/3rdparty/harfbuzz/src/harfbuzz-stream.h | 8 -------- 10 files changed, 78 deletions(-) diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h index 0d7c2c2..0d631b2 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h @@ -32,10 +32,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - typedef struct HB_GlyphItemRec_ { HB_UInt gindex; HB_UInt properties; @@ -93,10 +89,6 @@ hb_buffer_add_glyph( HB_Buffer buffer, HB_UInt properties, HB_UInt cluster ); -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_BUFFER_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h index 2a6d958..94e9b43 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h @@ -33,11 +33,6 @@ HB_BEGIN_HEADER - -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - /* Attachment related structures */ struct HB_AttachPoint_ @@ -126,10 +121,6 @@ _HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef, HB_Lookup* lo, HB_UShort num_lookups ); -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_GDEF_PRIVATE_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h index f9a03dd..ccb6bf9 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h @@ -31,10 +31,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - /* GDEF glyph properties. Note that HB_GDEF_COMPONENT has no corresponding * flag in the LookupFlag field. */ #define HB_GDEF_BASE_GLYPH 0x0002 @@ -131,10 +127,6 @@ HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef, HB_UShort* glyph_array, HB_UShort* class_array ); -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_GDEF_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-global.h b/src/3rdparty/harfbuzz/src/harfbuzz-global.h index bccd6a2..d4e6b46 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-global.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-global.h @@ -39,10 +39,6 @@ #define HB_END_HEADER /* nothing */ #endif -#if defined(__GNUC__) || defined(_MSC_VER) -#define HB_USE_PACKED_STRUCTS -#endif - HB_BEGIN_HEADER #ifndef FALSE diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h index 39f3159..63ba907 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h @@ -32,10 +32,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - /* shared tables */ #define VR_X_PLACEMENT_DEVICE 0 @@ -720,10 +716,6 @@ HB_INTERNAL void _HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st, HB_UShort lookup_type ); -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_GPOS_PRIVATE_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h index 7eb329e..df0c3f6 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h @@ -32,10 +32,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - typedef union HB_GSUB_SubTable_ HB_GSUB_SubTable; /* LookupType 1 */ @@ -474,10 +470,6 @@ HB_INTERNAL void _HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st, HB_UShort lookup_type ); -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_GSUB_PRIVATE_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h index b00df44..6e452bd 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h @@ -31,11 +31,6 @@ HB_BEGIN_HEADER - -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - /* Lookup types for glyph substitution */ #define HB_GSUB_LOOKUP_SINGLE 1 @@ -139,10 +134,6 @@ HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub, HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub, HB_Buffer buffer ); -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_GSUB_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open.h b/src/3rdparty/harfbuzz/src/harfbuzz-open.h index 4ba6cf5..9ad7c98 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-open.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-open.h @@ -30,10 +30,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - /* Use this if a feature applies to all glyphs */ #define HB_ALL_GLYPHS 0xFFFF @@ -279,10 +275,6 @@ enum HB_Type_ typedef enum HB_Type_ HB_Type; -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif /* HARFBUZZ_OPEN_H */ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h index ab5c07a..470e27b 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h @@ -34,10 +34,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - /* using anything else than signed or unsigned for bitfields in C is non standard, but accepted by almost all compilers. And it gives a significant reduction in @@ -258,10 +254,6 @@ typedef struct HB_Font_ { void *userData; } HB_FontRec; -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - typedef struct HB_ShaperItem_ HB_ShaperItem; struct HB_ShaperItem_ { diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h index a155cc2..cfbfb1c 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h @@ -30,10 +30,6 @@ HB_BEGIN_HEADER -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(push, 1) -#endif - typedef struct HB_StreamRec_ { HB_Byte* base; @@ -42,10 +38,6 @@ typedef struct HB_StreamRec_ HB_UInt pos; } HB_StreamRec; -#ifdef HB_USE_PACKED_STRUCTS -#pragma pack(pop) -#endif - HB_END_HEADER #endif -- cgit v0.12 From 76055d4e4a3023ef6390d85a02688bb11df57284 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Sat, 13 Nov 2010 14:38:49 +0100 Subject: QNAM HTTP: Ignore double content-length headers Task-number: QTBUG-15311 Reviewed-by: ogoffart --- src/network/access/qhttpnetworkheader.cpp | 12 +++++++++++- src/network/access/qnetworkrequest.cpp | 10 ++++++++-- tests/auto/qnetworkreply/tst_qnetworkreply.cpp | 22 ++++++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/network/access/qhttpnetworkheader.cpp b/src/network/access/qhttpnetworkheader.cpp index 669f9cf..3eb2f3b 100644 --- a/src/network/access/qhttpnetworkheader.cpp +++ b/src/network/access/qhttpnetworkheader.cpp @@ -60,7 +60,17 @@ QHttpNetworkHeaderPrivate::QHttpNetworkHeaderPrivate(const QHttpNetworkHeaderPri qint64 QHttpNetworkHeaderPrivate::contentLength() const { bool ok = false; - QByteArray value = headerField("content-length"); + // We are not using the headerField() method here because servers might send us multiple content-length + // headers which is crap (see QTBUG-15311). Therefore just take the first content-length header field. + QByteArray value; + QList >::ConstIterator it = fields.constBegin(), + end = fields.constEnd(); + for ( ; it != end; ++it) + if (qstricmp("content-length", it->first) == 0) { + value = it->second; + break; + } + qint64 length = value.toULongLong(&ok); if (ok) return length; diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index b761af5..162392d 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -899,10 +899,16 @@ void QNetworkHeadersPrivate::parseAndSetHeader(const QByteArray &key, const QByt // is it a known header? QNetworkRequest::KnownHeaders parsedKey = parseHeaderName(key); if (parsedKey != QNetworkRequest::KnownHeaders(-1)) { - if (value.isNull()) + if (value.isNull()) { cookedHeaders.remove(parsedKey); - else + } else if (parsedKey == QNetworkRequest::ContentLengthHeader + && cookedHeaders.contains(QNetworkRequest::ContentLengthHeader)) { + // Only set the cooked header "Content-Length" once. + // See bug QTBUG-15311 + } else { cookedHeaders.insert(parsedKey, parseHeaderValue(parsedKey, value)); + } + } } diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp index a986438..41b3e0a 100644 --- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp @@ -301,6 +301,8 @@ private Q_SLOTS: void httpWithNoCredentialUsage(); + void qtbug15311doubleContentLength(); + // NOTE: This test must be last! void parentingRepliesToTheApp(); }; @@ -4724,6 +4726,26 @@ void tst_QNetworkReply::httpWithNoCredentialUsage() QCOMPARE(reply->error(), QNetworkReply::AuthenticationRequiredError); } +void tst_QNetworkReply::qtbug15311doubleContentLength() +{ + QByteArray response("HTTP/1.0 200 OK\r\nContent-Length: 3\r\nServer: bogus\r\nContent-Length: 3\r\n\r\nABC"); + MiniHttpServer server(response); + server.doClose = true; + + QNetworkRequest request(QUrl("http://localhost:" + QString::number(server.serverPort()))); + QNetworkReplyPtr reply = manager.get(request); + + connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop())); + QTestEventLoop::instance().enterLoop(10); + QVERIFY(!QTestEventLoop::instance().timeout()); + QVERIFY(reply->isFinished()); + QCOMPARE(reply->error(), QNetworkReply::NoError); + QCOMPARE(reply->size(), qint64(3)); + QCOMPARE(reply->header(QNetworkRequest::ContentLengthHeader).toLongLong(), qint64(3)); + QCOMPARE(reply->rawHeader("Content-length"), QByteArray("3, 3")); + QCOMPARE(reply->readAll(), QByteArray("ABC")); +} + // NOTE: This test must be last testcase in tst_qnetworkreply! -- cgit v0.12 From 976f6e05d1220f6292633b28c174c0c96573f09a Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 15 Nov 2010 11:23:52 +1000 Subject: Remove unneeded semicolons. Extra semicolons break building with sun studio. Task-number: QTBUG-15326 Reviewed-by: Alan Alpert --- tests/auto/declarative/qdeclarativeecmascript/testtypes.h | 2 +- tests/auto/declarative/qdeclarativelanguage/testtypes.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h index 40451c3..15c310f 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h +++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h @@ -92,7 +92,7 @@ class MyQmlObject : public QObject Q_PROPERTY(QDeclarativeListProperty objectListProperty READ objectListProperty CONSTANT) Q_PROPERTY(int resettableProperty READ resettableProperty WRITE setResettableProperty RESET resetProperty) Q_PROPERTY(QRegExp regExp READ regExp WRITE setRegExp) - Q_PROPERTY(int nonscriptable READ nonscriptable WRITE setNonscriptable SCRIPTABLE false); + Q_PROPERTY(int nonscriptable READ nonscriptable WRITE setNonscriptable SCRIPTABLE false) public: MyQmlObject(): myinvokableObject(0), m_methodCalled(false), m_methodIntCalled(false), m_object(0), m_value(0), m_resetProperty(13) {} diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.h b/tests/auto/declarative/qdeclarativelanguage/testtypes.h index 2b23a49..f8d785c 100644 --- a/tests/auto/declarative/qdeclarativelanguage/testtypes.h +++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.h @@ -112,7 +112,7 @@ class MyQmlObject : public QObject, public MyInterface Q_PROPERTY(MyCustomVariantType customType READ customType WRITE setCustomType) Q_PROPERTY(MyQmlObject *qmlobjectProperty READ qmlobject WRITE setQmlobject) Q_PROPERTY(int propertyWithNotify READ propertyWithNotify WRITE setPropertyWithNotify NOTIFY oddlyNamedNotifySignal) - Q_PROPERTY(int nonScriptable READ nonScriptable WRITE setNonScriptable SCRIPTABLE false); + Q_PROPERTY(int nonScriptable READ nonScriptable WRITE setNonScriptable SCRIPTABLE false) Q_INTERFACES(MyInterface) public: -- cgit v0.12 From b60d1cee999ff01a93521e831a2c58679559382e Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Mon, 15 Nov 2010 13:24:39 +1000 Subject: Fix failing visual tests One case of non-standardized text, and one case of what is presumably random number generation. Task-number: QTBUG-14792 --- .../qmlvisual/qdeclarativeparticles/particles.qml | 1 + .../qdeclarativetext/font/BorderedText.qml | 8 ++++ .../qmlvisual/qdeclarativetext/font/TestText.qml | 13 ------ .../font/data-X11/plaintext3.0.png | Bin 0 -> 29478 bytes .../qdeclarativetext/font/data-X11/plaintext3.qml | 11 ++++++ .../qmlvisual/qdeclarativetext/font/plaintext3.qml | 44 ++++++++++----------- 6 files changed, 42 insertions(+), 35 deletions(-) create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/TestText.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml index 78ba061..38506a0 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml @@ -2,6 +2,7 @@ import QtQuick 1.0 import Qt.labs.particles 1.0 Rectangle { + property string skip: "May contain random numbers" width: 640; height: 480; color: "black" Particles { id:particlesAneverEmitting diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml new file mode 100644 index 0000000..6514694 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml @@ -0,0 +1,8 @@ +import QtQuick 1.0 +import "../../shared" 1.0 + +TestText { + property color bcolor: "blue" + text: "The quick brown fox\njumps over\nthe lazy dog." + Rectangle { id: border; color: "transparent"; border.color: bcolor; anchors.fill: parent; opacity: 0.2 } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/TestText.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/TestText.qml deleted file mode 100644 index 690cb15..0000000 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/TestText.qml +++ /dev/null @@ -1,13 +0,0 @@ -import QtQuick 1.0 - -Text { - id: testText - - property color bcolor: "blue" - - text: "The quick brown fox\njumps over\nthe lazy dog." - font.family: "Helvetica" - font.pointSize: 16 - - Rectangle { id: borderr; color: "transparent"; border.color: bcolor; anchors.fill: parent; opacity: 0.2 } -} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png new file mode 100644 index 0000000..d7de152 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml new file mode 100644 index 0000000..13f413a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml @@ -0,0 +1,11 @@ +import Qt.VisualTest 4.7 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + image: "plaintext3.0.png" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml index 087dfbe..715ada6 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml @@ -2,7 +2,7 @@ import QtQuick 1.0 Rectangle { id: main - width: 800; height: 600 + width: 800; height: 400 Grid { @@ -12,51 +12,51 @@ Rectangle { Column { spacing: 4 - TestText { } - TestText { horizontalAlignment: Text.AlignHCenter } - TestText { horizontalAlignment: Text.AlignRight } + BorderedText { } + BorderedText { horizontalAlignment: Text.AlignHCenter } + BorderedText { horizontalAlignment: Text.AlignRight } } Column { spacing: 4 - TestText { wrapMode: Text.Wrap } - TestText { horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap } - TestText { horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap } + BorderedText { wrapMode: Text.Wrap } + BorderedText { horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap } + BorderedText { horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap } } Column { spacing: 4 - TestText { wrapMode: Text.Wrap; elide: Text.ElideRight } - TestText { horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight } - TestText { horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight } } Column { spacing: 4 - TestText { width: 230; wrapMode: Text.Wrap; elide: Text.ElideRight } - TestText { width: 230; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight } - TestText { width: 230; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { width: 230; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { width: 230; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { width: 230; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight } } Column { spacing: 4 - TestText { width: 120; wrapMode: Text.Wrap; elide: Text.ElideRight } - TestText { width: 120; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight } - TestText { width: 120; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { width: 120; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { width: 120; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight } + BorderedText { width: 120; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight } } Column { spacing: 4 - TestText { width: 120; wrapMode: Text.Wrap } - TestText { width: 120; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap } - TestText { width: 120; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap } + BorderedText { width: 120; wrapMode: Text.Wrap } + BorderedText { width: 120; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap } + BorderedText { width: 120; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap } } Column { spacing: 4 - TestText { width: 120 } - TestText { width: 120; horizontalAlignment: Text.AlignHCenter } - TestText { width: 120; horizontalAlignment: Text.AlignRight } + BorderedText { width: 120 } + BorderedText { width: 120; horizontalAlignment: Text.AlignHCenter } + BorderedText { width: 120; horizontalAlignment: Text.AlignRight } } } } -- cgit v0.12 From 7f00736ab2c4471fb11c12505f905526fa86c059 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 15 Nov 2010 14:44:50 +1000 Subject: ListView.SnapToItem with ListView.StrictlyEnforceRange is broken. The bounds behavior with ListView.StrictlyEnforceRange enabled should not be affected by snapping behavior in fixup() since ListView.StrictlyEnforceRange has a stronger positioning policy. Task-number: QTBUG-15329 Reviewed-by: Michael Brasser --- .../graphicsitems/qdeclarativelistview.cpp | 54 ++++++++-------------- 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 94b1cb3..c7b027d 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1161,30 +1161,35 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m int oldDuration = fixupDuration; fixupDuration = moveReason == Mouse ? fixupDuration : 0; - if (snapMode != QDeclarativeListView::NoSnap) { + if (currentItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) { + updateHighlight(); + qreal pos = currentItem->itemPosition(); + qreal viewPos = position(); + if (viewPos < pos + currentItem->itemSize() - highlightRangeEnd) + viewPos = pos + currentItem->itemSize() - highlightRangeEnd; + if (viewPos > pos - highlightRangeStart) + viewPos = pos - highlightRangeStart; + + timeline.reset(data.move); + if (viewPos != position()) { + if (fixupDuration) + timeline.move(data.move, -viewPos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2); + else + timeline.set(data.move, -viewPos); + } + vTime = timeline.time(); + } else if (snapMode != QDeclarativeListView::NoSnap) { FxListItem *topItem = snapItemAt(position()+highlightRangeStart); FxListItem *bottomItem = snapItemAt(position()+highlightRangeEnd); qreal pos; - if (topItem && bottomItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) { - qreal topPos = qMin(topItem->position() - highlightRangeStart, -maxExtent); - qreal bottomPos = qMax(bottomItem->position() - highlightRangeEnd, -minExtent); - pos = qAbs(data.move + topPos) < qAbs(data.move + bottomPos) ? topPos : bottomPos; - } else if (topItem) { + if (topItem) { pos = qMax(qMin(topItem->position() - highlightRangeStart, -maxExtent), -minExtent); } else if (bottomItem) { - pos = qMax(qMin(bottomItem->position() - highlightRangeStart, -maxExtent), -minExtent); + pos = qMax(qMin(bottomItem->position() - highlightRangeStart, -maxExtent), -minExtent); } else { fixupDuration = oldDuration; return; } - if (currentItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) { - updateHighlight(); - qreal currPos = currentItem->itemPosition(); - if (pos < currPos + currentItem->itemSize() - highlightRangeEnd) - pos = currPos + currentItem->itemSize() - highlightRangeEnd; - if (pos > currPos - highlightRangeStart) - pos = currPos - highlightRangeStart; - } qreal dist = qAbs(data.move + pos); if (dist > 0) { @@ -1195,25 +1200,6 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m timeline.set(data.move, -pos); vTime = timeline.time(); } - } else if (haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) { - if (currentItem) { - updateHighlight(); - qreal pos = currentItem->itemPosition(); - qreal viewPos = position(); - if (viewPos < pos + currentItem->itemSize() - highlightRangeEnd) - viewPos = pos + currentItem->itemSize() - highlightRangeEnd; - if (viewPos > pos - highlightRangeStart) - viewPos = pos - highlightRangeStart; - - timeline.reset(data.move); - if (viewPos != position()) { - if (fixupDuration) - timeline.move(data.move, -viewPos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2); - else - timeline.set(data.move, -viewPos); - } - vTime = timeline.time(); - } } else { QDeclarativeFlickablePrivate::fixup(data, minExtent, maxExtent); } -- cgit v0.12 From 153991a45647755c0186f985da255caa09444ff4 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 15 Nov 2010 17:35:12 +1000 Subject: ListView: items with size < 1.0 were layed out incorrectly. If the size of an item was less than one its endPosition() was less than its position(), which caused incorrect layout (overlapping items). Task-number: QTBUG-15242 Reviewed-by: Yann Bodson --- .../graphicsitems/qdeclarativelistview.cpp | 6 ++-- .../qdeclarativelistview/data/sizelessthan1.qml | 26 ++++++++++++++++ .../tst_qdeclarativelistview.cpp | 36 ++++++++++++++++++++++ 3 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativelistview/data/sizelessthan1.qml diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index c7b027d..6be49ba 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -124,8 +124,8 @@ public: } qreal endPosition() const { return (view->orientation() == QDeclarativeListView::Vertical - ? item->y() + (item->height() > 0 ? item->height() : 1) - : item->x() + (item->width() > 0 ? item->width() : 1)) - 1; + ? item->y() + (item->height() >= 1.0 ? item->height() : 1) + : item->x() + (item->width() >= 1.0 ? item->width() : 1)) - 1; } void setPosition(qreal pos) { if (view->orientation() == QDeclarativeListView::Vertical) { @@ -736,7 +736,7 @@ void QDeclarativeListViewPrivate::layout() } if (!visibleItems.isEmpty()) { qreal oldEnd = visibleItems.last()->endPosition(); - qreal pos = visibleItems.first()->endPosition() + spacing + 1; + qreal pos = visibleItems.first()->position() + visibleItems.first()->size() + spacing; for (int i=1; i < visibleItems.count(); ++i) { FxListItem *item = visibleItems.at(i); item->setPosition(pos); diff --git a/tests/auto/declarative/qdeclarativelistview/data/sizelessthan1.qml b/tests/auto/declarative/qdeclarativelistview/data/sizelessthan1.qml new file mode 100644 index 0000000..77bfef8 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelistview/data/sizelessthan1.qml @@ -0,0 +1,26 @@ +import QtQuick 1.0 + +Rectangle { + width: 240 + height: 320 + color: "#ffffff" + Component { + id: myDelegate + Rectangle { + id: wrapper + objectName: "wrapper" + height: 0.5 + width: 240 + color: ((index % 2) == 1 ? "red" : "blue") + } + } + ListView { + id: list + objectName: "list" + focus: true + width: 240 + height: 320 + model: testModel + delegate: myDelegate + } +} diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp index 79fef7a..a4b4f21 100644 --- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -100,6 +100,7 @@ private slots: void QTBUG_11105(); void footer(); void resizeView(); + void sizeLessThan1(); private: template void items(); @@ -1732,6 +1733,41 @@ void tst_QDeclarativeListView::resizeView() QCOMPARE(heightRatio.toReal(), 0.25); } +void tst_QDeclarativeListView::sizeLessThan1() +{ + QDeclarativeView *canvas = createView(); + + TestModel model; + for (int i = 0; i < 30; i++) + model.addItem("Item" + QString::number(i), ""); + + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + TestObject *testObject = new TestObject; + ctxt->setContextProperty("testObject", testObject); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/sizelessthan1.qml")); + qApp->processEvents(); + + QDeclarativeListView *listview = findItem(canvas->rootObject(), "list"); + QTRY_VERIFY(listview != 0); + + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + // Confirm items positioned correctly + int itemCount = findItems(contentItem, "wrapper").count(); + for (int i = 0; i < model.count() && i < itemCount; ++i) { + QDeclarativeItem *item = findItem(contentItem, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QTRY_VERIFY(item); + QTRY_COMPARE(item->y(), i*0.5); + } + + delete canvas; +} + void tst_QDeclarativeListView::qListModelInterface_items() { items(); -- cgit v0.12 From 113a23a61b3ac840cfdec2d2297b7881f495c924 Mon Sep 17 00:00:00 2001 From: Perttu Pohjonen Date: Mon, 15 Nov 2010 09:49:32 +0200 Subject: Fix for E32User-CBASE 46 Panic when using CActiveSchedulerWait Fixing the initial problem of this error opened up a possibility to start a new WLAN scan while there was one still ongoing. This caused a crash. Task-number: QT-3996 --- src/plugins/bearer/symbian/symbianengine.cpp | 41 ++++++++++++++++++++-------- src/plugins/bearer/symbian/symbianengine.h | 6 ++-- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index b4dfc4d..33fa508 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -135,10 +135,9 @@ void SymbianEngine::initialize() updateConfigurations(); updateStatesToSnaps(); - updateAvailableAccessPoints(); // On first time updates synchronously (without WLAN scans) + updateAvailableAccessPoints(); // On first time updates (without WLAN scans) // Start monitoring IAP and/or SNAP changes in Symbian CommsDB startCommsDatabaseNotifications(); - iFirstUpdate = false; } SymbianEngine::~SymbianEngine() @@ -790,6 +789,12 @@ void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapIn mutex.unlock(); emit updateCompleted(); mutex.lock(); + } else { + iFirstUpdate = false; + if (iScanInQueue) { + iScanInQueue = EFalse; + updateAvailableAccessPoints(); + } } } @@ -976,7 +981,7 @@ void SymbianEngine::RunL() QMutexLocker locker(&mutex); if (iStatus != KErrCancel) { - // By default, start relistening notifications. Stop only if interesting event occurred. + // By default, start relistening notifications. Stop only if interesting event occured. iWaitingCommsDatabaseNotifications = true; RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int()); switch (event) { @@ -1356,27 +1361,39 @@ AccessPointsAvailabilityScanner::~AccessPointsAvailabilityScanner() void AccessPointsAvailabilityScanner::DoCancel() { iConnectionMonitor.CancelAsyncRequest(EConnMonGetPckgAttribute); + iScanActive = EFalse; + iOwner.iScanInQueue = EFalse; } void AccessPointsAvailabilityScanner::StartScanning() { - if (iOwner.iFirstUpdate) { - // On first update (the mgr is being instantiated) update only those bearers who - // don't need time-consuming scans (WLAN). - // Note: EBearerIdWCDMA covers also GPRS bearer - iConnectionMonitor.GetPckgAttribute(EBearerIdWCDMA, 0, KIapAvailability, iIapBuf, iStatus); + if (!iScanActive) { + iScanActive = ETrue; + if (iOwner.iFirstUpdate) { + // On first update (the mgr is being instantiated) update only those bearers who + // don't need time-consuming scans (WLAN). + // Note: EBearerIdWCDMA covers also GPRS bearer + iConnectionMonitor.GetPckgAttribute(EBearerIdWCDMA, 0, KIapAvailability, iIapBuf, iStatus); + } else { + iConnectionMonitor.GetPckgAttribute(EBearerIdAll, 0, KIapAvailability, iIapBuf, iStatus); + } + + if (!IsActive()) { + SetActive(); + } } else { - iConnectionMonitor.GetPckgAttribute(EBearerIdAll, 0, KIapAvailability, iIapBuf, iStatus); + // Queue scan for getting WLAN info after first request returns + if (iOwner.iFirstUpdate) { + iOwner.iScanInQueue = ETrue; + } } - - if (!IsActive()) - SetActive(); } void AccessPointsAvailabilityScanner::RunL() { QMutexLocker locker(&iOwner.mutex); + iScanActive = EFalse; if (iStatus.Int() != KErrNone) { iIapBuf().iCount = 0; QT_TRYCATCH_LEAVING(iOwner.accessPointScanningReady(false,iIapBuf())); diff --git a/src/plugins/bearer/symbian/symbianengine.h b/src/plugins/bearer/symbian/symbianengine.h index 7c1076e..337d4d1 100644 --- a/src/plugins/bearer/symbian/symbianengine.h +++ b/src/plugins/bearer/symbian/symbianengine.h @@ -207,6 +207,7 @@ private: // Data TBool iInitOk; TBool iUpdateGoingOn; TBool iUpdatePending; + TBool iScanInQueue; AccessPointsAvailabilityScanner* ipAccessPointsAvailabilityScanner; @@ -234,9 +235,10 @@ protected: // From CActive void DoCancel(); private: // Data - SymbianEngine& iOwner; + SymbianEngine& iOwner; RConnectionMonitor& iConnectionMonitor; - TConnMonIapInfoBuf iIapBuf; + TConnMonIapInfoBuf iIapBuf; + TBool iScanActive; }; QT_END_NAMESPACE -- cgit v0.12 From aa1a47af767eefea3e2ff248d1e7493031896fe8 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Mon, 15 Nov 2010 19:16:05 +1000 Subject: Stabilize visual test focusscope/test3.qml Colored rects are better than text. At least here. Task-number: QTBUG-14792 --- .../qmlvisual/focusscope/data/test3.0.png | Bin 1333 -> 509 bytes .../qmlvisual/focusscope/data/test3.1.png | Bin 994 -> 488 bytes .../qmlvisual/focusscope/data/test3.2.png | Bin 1156 -> 502 bytes .../qmlvisual/focusscope/data/test3.3.png | Bin 1057 -> 487 bytes .../qmlvisual/focusscope/data/test3.qml | 524 ++++++++++----------- .../declarative/qmlvisual/focusscope/test3.qml | 21 +- 6 files changed, 272 insertions(+), 273 deletions(-) diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png index baac346..49113dd 100644 Binary files a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png index 25d3c66..609d1ab 100644 Binary files a/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png index fc90552..8c81be6 100644 Binary files a/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png index 2f0519e..c092535 100644 Binary files a/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml index 686fc8d..5acfcc2 100644 --- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml @@ -6,135 +6,135 @@ VisualTest { } Frame { msec: 16 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 32 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 48 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 64 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 80 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 96 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 112 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 128 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 144 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 160 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 176 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 192 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 208 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 224 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 240 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 256 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 272 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 288 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 304 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 320 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 336 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 352 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 368 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 384 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 400 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 416 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 432 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 448 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 464 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 480 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 496 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 512 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 528 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Key { type: 6 @@ -146,23 +146,23 @@ VisualTest { } Frame { msec: 544 - hash: "60101929d88be9177f4988573c35dcdb" + hash: "e24319b7e562a668e86ac17f4914bcb7" } Frame { msec: 560 - hash: "519bbcffcafe96253923994ce7cae971" + hash: "742f87f00d2d7e64b4a579823fa99df2" } Frame { msec: 576 - hash: "e46fd44935f37eadee7520f17ad7cf01" + hash: "db6793df1b6d00f4b6286253173ee2b5" } Frame { msec: 592 - hash: "2a0ed4cb9940ff82d4a56dc3dc94f333" + hash: "3da67f52ad1bc0ee55f8d6637286f420" } Frame { msec: 608 - hash: "a97ff19bb6493b7a026c9c549aafff04" + hash: "89e8c8fd913cb229f5adc221090d789c" } Key { type: 7 @@ -174,31 +174,31 @@ VisualTest { } Frame { msec: 624 - hash: "52fe44fff5c72e1585e000e73086c2e9" + hash: "d47cc2fe207628f4deddd58c3697171a" } Frame { msec: 640 - hash: "76f62e0619ed15894d7fb6fe9e1a7700" + hash: "9ab1f939324602533b14b20d6160ae57" } Frame { msec: 656 - hash: "aceb3ae38213d097bd0f50d64779fbda" + hash: "798b200076ec6688cda78fd273a9fde1" } Frame { msec: 672 - hash: "c62f8846e1076adcd7c9a8bc1164c0a8" + hash: "5c485ac62f637db9e3aa327dd1bee801" } Frame { msec: 688 - hash: "c62f8846e1076adcd7c9a8bc1164c0a8" + hash: "5c485ac62f637db9e3aa327dd1bee801" } Frame { msec: 704 - hash: "c62f8846e1076adcd7c9a8bc1164c0a8" + hash: "5c485ac62f637db9e3aa327dd1bee801" } Frame { msec: 720 - hash: "c62f8846e1076adcd7c9a8bc1164c0a8" + hash: "5c485ac62f637db9e3aa327dd1bee801" } Key { type: 6 @@ -210,19 +210,19 @@ VisualTest { } Frame { msec: 736 - hash: "9f3ab4856c51ee635b8dbce4778053f0" + hash: "75bbe5082eebec814c726adc8fc076ec" } Frame { msec: 752 - hash: "4fe79ffc2bb078c8cb8c3cdbb57d3c5e" + hash: "58d8051766872d54831bec4c8c7cbd63" } Frame { msec: 768 - hash: "9caefb6edbfeadacd54a9f4e06e40ddc" + hash: "f474b747b4b7bb2a5b2c418f35aa1b09" } Frame { msec: 784 - hash: "a8dc7e314b3bd2fb8d16bcf68bfbc7e8" + hash: "d561cf0dbded0b2bd85c7c88fb3afdd6" } Key { type: 7 @@ -234,27 +234,27 @@ VisualTest { } Frame { msec: 800 - hash: "342e75af68d345574c551ff65ac2f2de" + hash: "49c0616c4d5cedeb9fdb12fb7d7f504d" } Frame { msec: 816 - hash: "a26927b8cdfa8813c5e0661d154bb36b" + hash: "9e5c66cfc3af51b7a10f6a969452dafe" } Frame { msec: 832 - hash: "0214f5055daa4a761d2e791d06744ac5" + hash: "72d765f52ce8ab3748cd43d859285ca7" } Frame { msec: 848 - hash: "d2d4296a49de27da45381fa250fb1f38" + hash: "732987bbdc421c4650d7503387acd4de" } Frame { msec: 864 - hash: "a375e3df0b00754fa4208aecbf1b218d" + hash: "439456ecedad4674b6ecef415e53334b" } Frame { msec: 880 - hash: "a375e3df0b00754fa4208aecbf1b218d" + hash: "439456ecedad4674b6ecef415e53334b" } Key { type: 6 @@ -266,15 +266,15 @@ VisualTest { } Frame { msec: 896 - hash: "0cd7a1cfb7fafdb406b5e3a612dd61b7" + hash: "5f2d5dc55b551713c4219bc55124f7db" } Frame { msec: 912 - hash: "0315c0011c75f254337cb5e557dc6dad" + hash: "54e2150829c6201b3ba8eb61f4142de7" } Frame { msec: 928 - hash: "2633ea851ec228dc1d5149ef65b1c910" + hash: "f916ac803817b7cd7e29c05ac23449fc" } Key { type: 7 @@ -286,7 +286,7 @@ VisualTest { } Frame { msec: 944 - hash: "cd8870a81860a9926f4d5580dabf3479" + hash: "590b45a3fb1571428c8da48f026fab3b" } Frame { msec: 960 @@ -294,27 +294,27 @@ VisualTest { } Frame { msec: 976 - hash: "419ec77dceb052c41e072b9513124794" + hash: "24eebfd01ea479015fac91198ede9e0d" } Frame { msec: 992 - hash: "68fd88f83bf707fbc3ae29840bfb2110" + hash: "877ca6b70b6535f868d3a450045f70a0" } Frame { msec: 1008 - hash: "bfb514b9a9c57d6b78149b81f4adb177" + hash: "559a5c06ed2d1030d21f56aaaded8869" } Frame { msec: 1024 - hash: "bfb514b9a9c57d6b78149b81f4adb177" + hash: "559a5c06ed2d1030d21f56aaaded8869" } Frame { msec: 1040 - hash: "bfb514b9a9c57d6b78149b81f4adb177" + hash: "559a5c06ed2d1030d21f56aaaded8869" } Frame { msec: 1056 - hash: "bfb514b9a9c57d6b78149b81f4adb177" + hash: "559a5c06ed2d1030d21f56aaaded8869" } Key { type: 6 @@ -326,11 +326,11 @@ VisualTest { } Frame { msec: 1072 - hash: "e0707db3c9da95ab02be8dec08d1eea9" + hash: "f6d3d4fd5d9d1be96646891cbf0740e5" } Frame { msec: 1088 - hash: "78d405f63a5ed781ce36ed4844621a26" + hash: "2ba5d4da68051a96fed2b54804854a8e" } Key { type: 7 @@ -342,35 +342,35 @@ VisualTest { } Frame { msec: 1104 - hash: "d7dc78c2a3cb4a059322b20622dfa0ed" + hash: "2b1b72dfac63903377b427ef4149dfd7" } Frame { msec: 1120 - hash: "c7bfc322da4a3e112324bd024d271dda" + hash: "7ada77586dd0583a66c801b6faf78e2a" } Frame { msec: 1136 - hash: "a94d4a6f15404f10cad31ad5337f0f10" + hash: "a5c527fa2095e2d8949d36351994624a" } Frame { msec: 1152 - hash: "49f03ed7afac886a45268aef990cb176" + hash: "f89bf3f20d3f7284ba52338c1cfb91e1" } Frame { msec: 1168 - hash: "9fbacc43c6a796f81af102e95d05c17e" + hash: "e7de3174a111f26f4d92a273e2c43b61" } Frame { msec: 1184 - hash: "ec3231a8ba136d2edd5265c51cd82d4f" + hash: "d9ef1156a1f7bfe86f97717a600b31c9" } Frame { msec: 1200 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Frame { msec: 1216 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Key { type: 6 @@ -382,11 +382,11 @@ VisualTest { } Frame { msec: 1232 - hash: "b9bb4eee4ea2fe26178ece2be67111e3" + hash: "d92131f183e9d926a2718559f58f17cb" } Frame { msec: 1248 - hash: "06fe10dc99a8f28a64942bd76bdd401b" + hash: "9e5985271ddec748803ea3c72d40ad97" } Key { type: 7 @@ -398,63 +398,63 @@ VisualTest { } Frame { msec: 1264 - hash: "63f4e972f1b8f3273170436c673120ca" + hash: "2462ddfcf93f96ad6a3164c7f21e2948" } Frame { msec: 1280 - hash: "25a83b96f733add828557775d4aabe21" + hash: "4ce27e3e77d9c80982c5197c2a440dc4" } Frame { msec: 1296 - hash: "73de2ed5df81559c7a24d9a5b73a2ce9" + hash: "e4afa6dc35ddd52876af514ec151900e" } Frame { msec: 1312 - hash: "43bdf31d652394c4d2b881ca6ad326ed" + hash: "3e542da8a83e53c66fd96d2c003a8b67" } Frame { msec: 1328 - hash: "f5f564fcb39a7e007c30150c1a54283c" + hash: "6b0afb12551ada7501346125ac29071c" } Frame { msec: 1344 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1360 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1376 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1392 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1408 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1424 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1440 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1456 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1472 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 1488 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Key { type: 6 @@ -466,15 +466,15 @@ VisualTest { } Frame { msec: 1504 - hash: "a56bcb200f3ed037bfea052df2910902" + hash: "ca6c00b583f88efb6efe285a0903392b" } Frame { msec: 1520 - hash: "2b3561807f9681f6b875e7f4fcd33223" + hash: "2a2fcb90a6a7ae6d3d08f49c7a7177c0" } Frame { msec: 1536 - hash: "2cee5a4a22f72058a61cd9cb9d39e818" + hash: "3a7cd960ff367793e09d73302e57b6e4" } Key { type: 7 @@ -486,39 +486,39 @@ VisualTest { } Frame { msec: 1552 - hash: "cd1f3f9a2bcd0efd4ba252454c51e261" + hash: "581121ab5334a6122bf9ca4489c9b971" } Frame { msec: 1568 - hash: "b2d8e52a59d1141cfaf6b22ba9aa74cf" + hash: "8690456fa25a12ef28f014b86cc94c81" } Frame { msec: 1584 - hash: "f218a82081c0552d2caccaa840decfbb" + hash: "27a395e2e25eedba8f361a20f917590b" } Frame { msec: 1600 - hash: "ae20ae49364bddbe3dcd9e09c36b7423" + hash: "5eae6bbdd6acd7f21eccf277f21f4893" } Frame { msec: 1616 - hash: "63d8d2d948e3cab3a50ef4db61ca4c48" + hash: "f5ebab53b77dcea32e821c8e551077e4" } Frame { msec: 1632 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Frame { msec: 1648 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Frame { msec: 1664 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Frame { msec: 1680 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Key { type: 6 @@ -530,19 +530,19 @@ VisualTest { } Frame { msec: 1696 - hash: "c46539fd3ef1e01519b43855c0831213" + hash: "7c83c13e1d9e6456023ba7e2a1f3875c" } Frame { msec: 1712 - hash: "40a4666320efaa62904d390add745bb3" + hash: "f12f6c5111de654e90d462a4d44f12ec" } Frame { msec: 1728 - hash: "a490a1904e909f3e2ade5ee8a7e9dbf3" + hash: "dcb7712d8320bf4096a3af794facad4d" } Frame { msec: 1744 - hash: "2e67ac8bbc37731e590156348563bb98" + hash: "84f7c046592d31f403b56ee1fd6fcbc4" } Key { type: 7 @@ -554,35 +554,35 @@ VisualTest { } Frame { msec: 1760 - hash: "daab7eba2dbf88b920b1cc61aa114435" + hash: "1b05381e85ec8bbf69edacbedce01fb8" } Frame { msec: 1776 - hash: "5e6611b6024be9f48e6356bb46fe91db" + hash: "b2c148675ffe1ef5110602f7a4feab74" } Frame { msec: 1792 - hash: "6329448571671f77102e14f3f05d3a66" + hash: "d082931d05d2b2dc24ccfa5d7a703291" } Frame { msec: 1808 - hash: "2a40d32c1c81fb85dab745a05cca500b" + hash: "99783e2541d03a7ce9ee4e69a2b21993" } Frame { msec: 1824 - hash: "6579f0cfe1fd762818d69ded26e47c77" + hash: "503ff7e940ac59006c1486e3d2027d35" } Frame { msec: 1840 - hash: "6579f0cfe1fd762818d69ded26e47c77" + hash: "503ff7e940ac59006c1486e3d2027d35" } Frame { msec: 1856 - hash: "6579f0cfe1fd762818d69ded26e47c77" + hash: "503ff7e940ac59006c1486e3d2027d35" } Frame { msec: 1872 - hash: "6579f0cfe1fd762818d69ded26e47c77" + hash: "503ff7e940ac59006c1486e3d2027d35" } Key { type: 6 @@ -594,11 +594,11 @@ VisualTest { } Frame { msec: 1888 - hash: "899d92a8106e85ff1131c07af3971879" + hash: "06fbf3d840cbf170c94377d767d1d49f" } Frame { msec: 1904 - hash: "8566d59024d7dcf410d4d87e234f477c" + hash: "34f538738046a1d6932ef1a6f59eb6be" } Frame { msec: 1920 @@ -606,11 +606,11 @@ VisualTest { } Frame { msec: 1936 - hash: "ba9b93e9762667c4a7c123933720fb06" + hash: "855b97f29624ce545e50834a807694f8" } Frame { msec: 1952 - hash: "cffb82799861d551cc208b7fe2922ea2" + hash: "115f1c37d6492bbc4848cc4be6ddd2b0" } Key { type: 7 @@ -622,131 +622,131 @@ VisualTest { } Frame { msec: 1968 - hash: "efe3ec54dfd82b06d6cb8d7813030894" + hash: "40d5255e7e5ca12b90f5cbede1e9b2cd" } Frame { msec: 1984 - hash: "80934efe77a8e1d8460b55c0d5831a17" + hash: "3a6f6b4cee75f8b1b0b2b5674c3df0a8" } Frame { msec: 2000 - hash: "5954c3e6ebe78c50776cfa48c152cf46" + hash: "2c24eab593d56a7554f9ba925f858d5b" } Frame { msec: 2016 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2032 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2048 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2064 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2080 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2096 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2112 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2128 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2144 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2160 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2176 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2192 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2208 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2224 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2240 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2256 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2272 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2288 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2304 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2320 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2336 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2352 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2368 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2384 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2400 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2416 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2432 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2448 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Frame { msec: 2464 - hash: "588140c8a668842ec06e424692b57918" + hash: "bb10ef1703674147351968121ebe0154" } Key { type: 6 @@ -758,23 +758,23 @@ VisualTest { } Frame { msec: 2480 - hash: "4ba7e4ed21d496abc7ab4651afb5880b" + hash: "1e61fbb8c054c6b8fdb895d236514bfa" } Frame { msec: 2496 - hash: "497188bf0ef98eb246399f025b9259bc" + hash: "3a1b093963a0cb898a68f87a3c2056a9" } Frame { msec: 2512 - hash: "173049c273e4ea2f63428c0838f029ef" + hash: "9fe3eb5cbc621401be9ab7bc7d28bb24" } Frame { msec: 2528 - hash: "c8199565d52abb5bdf64b31c2f965038" + hash: "1bb16e3d17506913e295d68e8d4ffa88" } Frame { msec: 2544 - hash: "995ca28ee06c376a8527992b1396374a" + hash: "19389ae4da2ad3bc7076632366db55c7" } Key { type: 7 @@ -786,23 +786,23 @@ VisualTest { } Frame { msec: 2560 - hash: "62b4b4b4e35cb3594b827a3f0488e016" + hash: "5f1731dd62f61ddafb7cfe66167b7408" } Frame { msec: 2576 - hash: "5cd79f2fff8e35c2ce6167d3a3999bc2" + hash: "e37b8399f9ea92a91b0d98b01a4ef72b" } Frame { msec: 2592 - hash: "3c64ff196b49488d48214562849deec7" + hash: "e1282e3afc46fa8828a138e4722707b5" } Frame { msec: 2608 - hash: "6579f0cfe1fd762818d69ded26e47c77" + hash: "503ff7e940ac59006c1486e3d2027d35" } Frame { msec: 2624 - hash: "6579f0cfe1fd762818d69ded26e47c77" + hash: "503ff7e940ac59006c1486e3d2027d35" } Key { type: 6 @@ -814,23 +814,23 @@ VisualTest { } Frame { msec: 2640 - hash: "3ae9139845494acafc2212843271e80c" + hash: "925852b350354bb596d749fe31828147" } Frame { msec: 2656 - hash: "9bd81bd575c63bbedbcb19452e52f9aa" + hash: "1e302775a002185b888b590cc6533b28" } Frame { msec: 2672 - hash: "8a8fd3ec0ac02d3e8d37ade92e5b0b28" + hash: "b147169c3688148bda5b82afa1f5d2dc" } Frame { msec: 2688 - hash: "3da79a037c7c8fca1a133c65766cd7a4" + hash: "34964e45ff808595845f4a868be3782e" } Frame { msec: 2704 - hash: "31f24ec970184bf253ce0a80cca8c15d" + hash: "b86ef7d97f20c3894dc5a551f41ab9c4" } Key { type: 7 @@ -842,23 +842,23 @@ VisualTest { } Frame { msec: 2720 - hash: "8e41287dd7f3d17107336f79ea4a57b5" + hash: "dc9981cb1833b34fc4fc9b833281348e" } Frame { msec: 2736 - hash: "0eced41494be06a4a2d11aee076c0eab" + hash: "b28644e06195849afd44143bd60aa27d" } Frame { msec: 2752 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Frame { msec: 2768 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Frame { msec: 2784 - hash: "f29a9aa2e469e3fb4bedfe11523212c9" + hash: "738278d39b73bfa15fc8b19b5720bbd7" } Key { type: 6 @@ -870,23 +870,23 @@ VisualTest { } Frame { msec: 2800 - hash: "2161ebbc0b1a8326d778657ded7993a8" + hash: "745230d107911d033ebeb58dc8a94445" } Frame { msec: 2816 - hash: "65bdbbcea1cf5629e1c04ff09bd2b867" + hash: "81cc4ac88a51518cf50cd6b46c3e0cb7" } Frame { msec: 2832 - hash: "4cfe120b55285efb9484f696146fa297" + hash: "10b7cff34298222ee305c9895bcdef21" } Frame { msec: 2848 - hash: "d50ded95cf2418ef2ab3c4d7dd32babe" + hash: "622a027091c1577a646ece0331016783" } Frame { msec: 2864 - hash: "722e3342d833809e2e6c6ecb5774fb86" + hash: "ab527747f9918774c7a4cfb476cc31f4" } Key { type: 7 @@ -902,19 +902,19 @@ VisualTest { } Frame { msec: 2896 - hash: "0193889d59dc40150eab584dd1665b5e" + hash: "fa7e0091764dc67878bce696f728254d" } Frame { msec: 2912 - hash: "cd39f2cee2cf7507203a340ceaa961f5" + hash: "19a2f59bfe96a0a33ff45ab72cc2a2fc" } Frame { msec: 2928 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Frame { msec: 2944 - hash: "270321ae5fe7a0e457d2897480e5bbbc" + hash: "202d4ca464f73e28a286ebed05e86d9d" } Key { type: 6 @@ -926,27 +926,27 @@ VisualTest { } Frame { msec: 2960 - hash: "d19642853fc07a54711b6afbca4453fd" + hash: "6b172121f35f9667f40b0006d5875685" } Frame { msec: 2976 - hash: "70db31594995fa6c05347ebc5aedd063" + hash: "6e65dfe717a69de65d58e059904bb00a" } Frame { msec: 2992 - hash: "8d8ab3076baae893037a1b16880db6b6" + hash: "e660212f2d7d477213ef8b8262e8f2b1" } Frame { msec: 3008 - hash: "32c05a581d854a828f2049c5aa588afd" + hash: "df1e770a7177b7871cf734c47e1227ba" } Frame { msec: 3024 - hash: "7f8f111aa6e8e802beca3b7fd2a28007" + hash: "9d103d49ea30b04f3e97ecad3c13a816" } Frame { msec: 3040 - hash: "c0ae8434516e2f77d78279c8e37a9f0a" + hash: "4602aaf8b65c4ff5b9c8d4ba8d5b89d5" } Key { type: 7 @@ -958,27 +958,27 @@ VisualTest { } Frame { msec: 3056 - hash: "7cc66b7432d2c73258e4c7910870d166" + hash: "bf029f1cb5ddf0dc3931b47895a2141d" } Frame { msec: 3072 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Frame { msec: 3088 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Frame { msec: 3104 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Frame { msec: 3120 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Frame { msec: 3136 - hash: "070bec590f2379198933cf68db678821" + hash: "0b216b28513d00939531e409aac328e8" } Key { type: 6 @@ -990,15 +990,15 @@ VisualTest { } Frame { msec: 3152 - hash: "f45969e94df0c5ea7c153e6952479ec8" + hash: "807fe46158fdc72c45cd6c8024ce705d" } Frame { msec: 3168 - hash: "55f4733f50b90d723c88ef74d66ee8a9" + hash: "58dc1ca8e39488479acdb79762000ad5" } Frame { msec: 3184 - hash: "980ea06fe8405ce29514cbc752a581c2" + hash: "48dd97d986ee545f6727128b7a06529f" } Key { type: 7 @@ -1010,27 +1010,27 @@ VisualTest { } Frame { msec: 3200 - hash: "0a5a6d62d13876c9562253645381702a" + hash: "a7f0c00cb4bbbd65c02b3949c90564ad" } Frame { msec: 3216 - hash: "0ade580a20e10d9887d6bc544025770e" + hash: "3f1c40e8d17b83ff3a251d9284bd4282" } Frame { msec: 3232 - hash: "707524f7b0fad3879d41c8ff5d339b87" + hash: "d7527558128467c64cf0a07289158238" } Frame { msec: 3248 - hash: "1786e49beb751b4b8cf4492f63b3db77" + hash: "3af9f7618d0c9ffedb942ae422d61dcb" } Frame { msec: 3264 - hash: "a44ca7861ccd844eb284ab310751351a" + hash: "eb1703107106afc54d47d8600ea40f18" } Frame { msec: 3280 - hash: "bfb514b9a9c57d6b78149b81f4adb177" + hash: "559a5c06ed2d1030d21f56aaaded8869" } Key { type: 6 @@ -1042,19 +1042,19 @@ VisualTest { } Frame { msec: 3296 - hash: "e36d2476c9954e6a4372ded19efd06a1" + hash: "c9a69d9ad499e6537ef047382dc01460" } Frame { msec: 3312 - hash: "c324cc45624346f32a776a87ec5fcc7e" + hash: "594911681db91c825b93633b6aa3fe1f" } Frame { msec: 3328 - hash: "fcf1629f58a73492f1afa74672013602" + hash: "f566d5e728e9a45c7d339282c0c6709c" } Frame { msec: 3344 - hash: "853e27fd37b764a852a2c4fabbaae6bc" + hash: "49f1d0164a1ae3c361421635a2038697" } Key { type: 7 @@ -1066,27 +1066,27 @@ VisualTest { } Frame { msec: 3360 - hash: "a75d77b15211080e12b397c3cee93568" + hash: "a22b4ea9973c03042a3cfa5d23a79c86" } Frame { msec: 3376 - hash: "936fb8c2c0909a77a9bdc654d91d13ad" + hash: "abab27079cd52caaaf421d1b4d8d8066" } Frame { msec: 3392 - hash: "f11dde44c028dbd299bc6733218969f7" + hash: "e528a9ab6ae13518fa541d7f2c6e09a8" } Frame { msec: 3408 - hash: "a375e3df0b00754fa4208aecbf1b218d" + hash: "439456ecedad4674b6ecef415e53334b" } Frame { msec: 3424 - hash: "a375e3df0b00754fa4208aecbf1b218d" + hash: "439456ecedad4674b6ecef415e53334b" } Frame { msec: 3440 - hash: "a375e3df0b00754fa4208aecbf1b218d" + hash: "439456ecedad4674b6ecef415e53334b" } Key { type: 6 @@ -1098,11 +1098,11 @@ VisualTest { } Frame { msec: 3456 - hash: "3ce1288d66836b6224f471903454be37" + hash: "57543f91e958840efcad1948a19aa8e1" } Frame { msec: 3472 - hash: "9bff5f42f23b504ee013df4834ed884c" + hash: "534fc45fdace49ebf444e393b57c1315" } Key { type: 7 @@ -1114,31 +1114,31 @@ VisualTest { } Frame { msec: 3488 - hash: "523df7cc8d991695722b521282824627" + hash: "0eee986f096e3ebddf61d3b0a18f2eff" } Frame { msec: 3504 - hash: "5c16f8efbab40bcf8016bd7334eb99fa" + hash: "74f702ca61d97d31f79d8ce3be53eee7" } Frame { msec: 3520 - hash: "bee74f34ee101f0fef0967801498de75" + hash: "1f0b630548fe93f93550439b4945bdda" } Frame { msec: 3536 - hash: "a08ee211d870bc3f97f1e698cd887908" + hash: "1eb442ca5e7e1f476d8297c3bdb7bbd1" } Frame { msec: 3552 - hash: "89ac21176fd4ce1bbbd0b7dd6904c12c" + hash: "1689cba06c74a6204d80cc651b1d2150" } Frame { msec: 3568 - hash: "95608d850a3c5cfbded1aafb33885bad" + hash: "8711b6647c4146dfa3e3c680fbd1bf08" } Frame { msec: 3584 - hash: "c62f8846e1076adcd7c9a8bc1164c0a8" + hash: "5c485ac62f637db9e3aa327dd1bee801" } Key { type: 6 @@ -1150,19 +1150,19 @@ VisualTest { } Frame { msec: 3600 - hash: "54705722d344bfbe829211019f2865ba" + hash: "0ac2726d000ba2ef1097a49f37d5c209" } Frame { msec: 3616 - hash: "d63b2ce9e16583671a5e6d266393b11c" + hash: "83d00571e499039b7f577e393eed881a" } Frame { msec: 3632 - hash: "3979df5d0aa1c3610e1d3562e34385c6" + hash: "46724d427a8f6d7737abcacd76701259" } Frame { msec: 3648 - hash: "782d14c3a1baf9a3017ec5b514492860" + hash: "a63554a4839e8874cbebe5204d43c6d5" } Key { type: 7 @@ -1174,47 +1174,47 @@ VisualTest { } Frame { msec: 3664 - hash: "0d219c97e1278474b74ed16f29fae1a1" + hash: "5946c98c4204d454a41575242db5fd45" } Frame { msec: 3680 - hash: "3df0e87dd3d5f50b9c4bb3db8d73d421" + hash: "a3d0107e71a6b454f8fdc7557eb9ce18" } Frame { msec: 3696 - hash: "1c5e5da874ae95548431677246c80734" + hash: "86d9ad1831acc4a73075e6792efb7db4" } Frame { msec: 3712 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3728 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3744 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3760 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3776 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3792 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3808 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3824 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3840 @@ -1222,106 +1222,106 @@ VisualTest { } Frame { msec: 3856 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3872 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3888 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3904 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3920 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3936 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3952 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3968 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3984 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4000 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4016 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4032 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4048 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4064 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4080 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4096 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4112 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4128 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4144 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4160 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4176 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4192 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4208 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4224 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4240 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 4256 - hash: "4a753a2b626eaf8336cd5e5d04d05d5b" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } } diff --git a/tests/auto/declarative/qmlvisual/focusscope/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/test3.qml index 01fb580..90c2357 100644 --- a/tests/auto/declarative/qmlvisual/focusscope/test3.qml +++ b/tests/auto/declarative/qmlvisual/focusscope/test3.qml @@ -12,15 +12,15 @@ Rectangle { ListModel { id: model - ListElement { name: "1" } - ListElement { name: "2" } - ListElement { name: "3" } - ListElement { name: "4" } - ListElement { name: "5" } - ListElement { name: "6" } - ListElement { name: "7" } - ListElement { name: "8" } - ListElement { name: "9" } + ListElement { name: "red" } + ListElement { name: "orange" } + ListElement { name: "yellow" } + ListElement { name: "green" } + ListElement { name: "cyan" } + ListElement { name: "blue" } + ListElement { name: "indigo" } + ListElement { name: "violet" } + ListElement { name: "pink" } } Component { @@ -33,8 +33,7 @@ Rectangle { focus: true Keys.onDigit9Pressed: console.log(name) width: 50; height: 50; - color: root.ListView.isCurrentItem?"red":"green" - Text { text: name; anchors.centerIn: parent } + color: root.ListView.isCurrentItem?"black":name } } } -- cgit v0.12 From 69d9e773c246b39561fb86861491aad6d9d34060 Mon Sep 17 00:00:00 2001 From: Petri Latvala Date: Wed, 10 Nov 2010 12:38:22 +0200 Subject: Remove -fno-omit-frame-pointer and -fno-optimize-sibling-calls in mkspecs, add -Wno-psabi Reviewed-by: Adrian Constantin --- mkspecs/linux-g++-maemo/qmake.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf index a977e7a..f023634 100644 --- a/mkspecs/linux-g++-maemo/qmake.conf +++ b/mkspecs/linux-g++-maemo/qmake.conf @@ -21,8 +21,8 @@ QMAKE_LIBDIR_X11 = /usr/lib QMAKE_LIBDIR_OPENGL = /usr/lib # We still need to generate debug symbols in release mode to put into the *-dbg packages: -QMAKE_CFLAGS_RELEASE += -g -fno-omit-frame-pointer -fno-optimize-sibling-calls -QMAKE_CXXFLAGS_RELEASE += -g -fno-omit-frame-pointer -fno-optimize-sibling-calls +QMAKE_CFLAGS_RELEASE += -g -Wno-psabi +QMAKE_CXXFLAGS_RELEASE += -g -Wno-psabi # Work round PowerVR SGX 1.3 driver bug with glScissor & FBOs: DEFINES += QT_GL_NO_SCISSOR_TEST -- cgit v0.12 From 96f8a8f87c28df9c753d9f3494d806a6dea24ba7 Mon Sep 17 00:00:00 2001 From: Adrian Constantin Date: Mon, 15 Nov 2010 11:13:22 +0200 Subject: Enable OpenGL scissors test Reviewed-by: Petri Latvala --- mkspecs/linux-g++-maemo/qmake.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf index f023634..0178f14 100644 --- a/mkspecs/linux-g++-maemo/qmake.conf +++ b/mkspecs/linux-g++-maemo/qmake.conf @@ -24,7 +24,4 @@ QMAKE_LIBDIR_OPENGL = /usr/lib QMAKE_CFLAGS_RELEASE += -g -Wno-psabi QMAKE_CXXFLAGS_RELEASE += -g -Wno-psabi -# Work round PowerVR SGX 1.3 driver bug with glScissor & FBOs: -DEFINES += QT_GL_NO_SCISSOR_TEST - load(qt_config) -- cgit v0.12 From 8fc0d1c36cae1b0d659e119032af006b8f8eca52 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Mon, 15 Nov 2010 19:44:40 +1000 Subject: Take snapshots starting from the first frame Partly because it's invaluble for the times people forget to record a test as a snapshot, partly because it provides more data on the initial state of the test case. Task-number: QTBUG-14792 --- tools/qml/qdeclarativetester.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/qml/qdeclarativetester.cpp b/tools/qml/qdeclarativetester.cpp index eaf3403..499822a 100644 --- a/tools/qml/qdeclarativetester.cpp +++ b/tools/qml/qdeclarativetester.cpp @@ -286,7 +286,7 @@ void QDeclarativeTester::updateCurrentTime(int msec) fe.msec = msec; if (msec == 0 || !(options & QDeclarativeViewer::TestImages)) { // Skip first frame, skip if not doing images - } else if (0 == (m_savedFrameEvents.count() % 60) || snapshot) { + } else if (0 == (m_savedFrameEvents.count()-1 % 60) || snapshot) { fe.image = img; } else { QCryptographicHash hash(QCryptographicHash::Md5); @@ -356,6 +356,11 @@ void QDeclarativeTester::updateCurrentTime(int msec) if (options & QDeclarativeViewer::TestImages && !(options & QDeclarativeViewer::Record) && !frame->image().isEmpty()) { QImage goodImage(frame->image().toLocalFile()); + if (frame->msec() == 16 && goodImage.size() != img.size()){ + //Also an image mismatch, but this warning is more informative. Only checked at start though. + qWarning() << "QDeclarativeTester(" << m_script << "): Size mismatch. This test must be run at " << goodImage.size(); + imagefailure(); + } if (goodImage != img) { QString reject(frame->image().toLocalFile() + ".reject.png"); qWarning() << "QDeclarativeTester: Image mismatch. Reject saved to:" -- cgit v0.12 From 1150f994464719000071f7ef5836c9e1dd695c65 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Mon, 15 Nov 2010 20:18:21 +1000 Subject: Update all qmlvisual tests Previous commit means that the snapshots are in different frames. All tests must be updated. Task-number: QTBUG-14792 --- .../qmlvisual/ListView/data/basic1.0.png | Bin 0 -> 948 bytes .../declarative/qmlvisual/ListView/data/basic1.qml | 2 +- .../qmlvisual/ListView/data/basic2.0.png | Bin 0 -> 948 bytes .../declarative/qmlvisual/ListView/data/basic2.qml | 2 +- .../qmlvisual/ListView/data/basic3.0.png | Bin 0 -> 948 bytes .../declarative/qmlvisual/ListView/data/basic3.qml | 2 +- .../qmlvisual/ListView/data/basic4.0.png | Bin 0 -> 948 bytes .../declarative/qmlvisual/ListView/data/basic4.qml | 2 +- .../qmlvisual/ListView/data/enforcerange.0.png | Bin 680 -> 680 bytes .../qmlvisual/ListView/data/enforcerange.qml | 14 +- .../qmlvisual/ListView/data/itemlist.0.png | Bin 976 -> 976 bytes .../qmlvisual/ListView/data/itemlist.qml | 16 +- .../qmlvisual/ListView/data/listview.0.png | Bin 1585 -> 1525 bytes .../qmlvisual/ListView/data/listview.qml | 14 +- .../Package_Views/data/packageviews.0.png | Bin 797 -> 766 bytes .../qmlvisual/Package_Views/data/packageviews.qml | 14 +- .../bindinganimation/data/bindinganimation.0.png | Bin 830 -> 832 bytes .../bindinganimation/data/bindinganimation.qml | 8 +- .../data-X11/colorAnimation-visual.0.png | Bin 627 -> 622 bytes .../data-X11/colorAnimation-visual.1.png | Bin 626 -> 626 bytes .../data-X11/colorAnimation-visual.2.png | Bin 625 -> 625 bytes .../data-X11/colorAnimation-visual.qml | 8 +- .../qmlvisual/animation/easing/data/easing.0.png | Bin 3393 -> 3116 bytes .../qmlvisual/animation/easing/data/easing.qml | 8 +- .../qmlvisual/animation/loop/data/loop.0.png | Bin 508 -> 502 bytes .../qmlvisual/animation/loop/data/loop.qml | 14 +- .../data/parallelAnimation-visual.0.png | Bin 0 -> 777 bytes .../data/parallelAnimation-visual.qml | 6 +- .../data/parentAnimation-visual.0.png | Bin 0 -> 3742 bytes .../data/parentAnimation-visual.qml | 16 +- .../parentAnimation2/data/parentAnimation2.0.png | Bin 2046 -> 2011 bytes .../parentAnimation2/data/parentAnimation2.qml | 12 +- .../data/pauseAnimation-visual.0.png | Bin 0 -> 3224 bytes .../pauseAnimation/data/pauseAnimation-visual.qml | 16 +- .../data/propertyAction-visual.0.png | Bin 335 -> 336 bytes .../propertyAction/data/propertyAction-visual.qml | 8 +- .../animation/qtbug10586/data/qtbug10586.0.png | Bin 1135 -> 1131 bytes .../animation/qtbug10586/data/qtbug10586.qml | 8 +- .../animation/qtbug13398/data/qtbug13398.0.png | Bin 1265 -> 1281 bytes .../animation/qtbug13398/data/qtbug13398.qml | 4 +- .../animation/reanchor/data/reanchor.0.png | Bin 637 -> 637 bytes .../qmlvisual/animation/reanchor/data/reanchor.qml | 22 +- .../scriptAction/data/scriptAction-visual.0.png | Bin 335 -> 334 bytes .../scriptAction/data/scriptAction-visual.qml | 6 +- .../qmlvisual/fillmode/data/fillmode.0.png | Bin 28900 -> 28900 bytes .../qmlvisual/focusscope/data/test.0.png | Bin 1968 -> 1974 bytes .../declarative/qmlvisual/focusscope/data/test.qml | 8 +- .../qmlvisual/focusscope/data/test2.qml | 4 +- .../qmlvisual/focusscope/data/test3.0.png | Bin 509 -> 487 bytes .../qmlvisual/focusscope/data/test3.qml | 10 +- .../data/animated-smooth.0.png | Bin 89135 -> 9375 bytes .../data/animated-smooth.qml | 6 +- .../qdeclarativeborderimage/data/animated.0.png | Bin 30167 -> 9375 bytes .../qdeclarativeborderimage/data/animated.qml | 6 +- .../data/flickable-horizontal.0.png | Bin 1423 -> 1439 bytes .../data/flickable-horizontal.qml | 10 +- .../data/flickable-vertical.0.png | Bin 1971 -> 1966 bytes .../data/flickable-vertical.qml | 30 +- .../qdeclarativeflipable/data/test-flipable.0.png | Bin 1090 -> 942 bytes .../qdeclarativeflipable/data/test-flipable.qml | 16 +- .../data/test_flipable_resize.0.png | Bin 0 -> 1649 bytes .../data/test_flipable_resize.qml | 4 +- .../qdeclarativegridview/data/gridview.0.png | Bin 1318 -> 1318 bytes .../qdeclarativegridview/data/gridview.qml | 24 +- .../qdeclarativegridview/data/gridview2.0.png | Bin 1310 -> 1325 bytes .../qdeclarativegridview/data/gridview2.qml | 666 ++++++++--------- .../qdeclarativemousearea/data/drag.0.png | Bin 1578 -> 1578 bytes .../qmlvisual/qdeclarativemousearea/data/drag.qml | 18 +- .../data/mousearea-flickable.0.png | Bin 1701 -> 1701 bytes .../data/mousearea-flickable.qml | 32 +- .../data/mousearea-visual.0.png | Bin 0 -> 486 bytes .../data/mousearea-visual.qml | 32 +- .../qdeclarativeparticles/data/particles.0.png | Bin 9951 -> 1055 bytes .../qdeclarativeparticles/data/particles.qml | 8 +- .../qdeclarativepathview/data/test-pathview-2.qml | 16 +- .../qdeclarativepathview/data/test-pathview.0.png | Bin 2412 -> 2371 bytes .../qdeclarativepathview/data/test-pathview.qml | 14 +- .../qdeclarativepositioners/data/dynamic.0.png | Bin 1429 -> 263 bytes .../qdeclarativepositioners/data/dynamic.qml | 798 ++++++++++----------- .../data/usingRepeater.0.png | Bin 0 -> 1199 bytes .../qdeclarativepositioners/data/usingRepeater.qml | 2 +- .../data/smoothedfollow.0.png | Bin 3692 -> 3680 bytes .../data/smoothedfollow.qml | 8 +- .../qdeclarativespringanimation/data/clock.0.png | Bin 16437 -> 16333 bytes .../qdeclarativespringanimation/data/clock.qml | 6 +- .../qdeclarativespringanimation/data/follow.0.png | Bin 975 -> 941 bytes .../qdeclarativespringanimation/data/follow.qml | 18 +- .../align/data-X11/multilineAlign.0.png | Bin 1895 -> 1870 bytes .../align/data-X11/multilineAlign.qml | 4 +- .../baseline/data-X11/parentanchor.0.png | Bin 0 -> 3854 bytes .../baseline/data-X11/parentanchor.qml | 2 +- .../bugs/data-X11/QTBUG-14469.0.png | Bin 422 -> 210 bytes .../qdeclarativetext/bugs/data-X11/QTBUG-14469.qml | 4 +- .../qdeclarativetext/data-X11/qtbug_14865.qml | 4 +- .../qdeclarativetext/elide/data-X11/elide.qml | 6 +- .../qdeclarativetext/elide/data-X11/elide2.0.png | Bin 2795 -> 2910 bytes .../qdeclarativetext/elide/data-X11/elide2.qml | 12 +- .../elide/data-X11/multilength.0.png | Bin 2285 -> 2500 bytes .../elide/data-X11/multilength.qml | 12 +- .../data-X11/cursorDelegate.0.png | Bin 3171 -> 3133 bytes .../data-X11/cursorDelegate.qml | 12 +- .../qdeclarativetextedit/data-X11/qt-669.0.png | Bin 2483 -> 2443 bytes .../qdeclarativetextedit/data-X11/qt-669.1.png | Bin 2474 -> 4804 bytes .../qdeclarativetextedit/data-X11/qt-669.2.png | Bin 2480 -> 4801 bytes .../qdeclarativetextedit/data-X11/qt-669.3.png | Bin 2443 -> 4791 bytes .../qdeclarativetextedit/data-X11/qt-669.qml | 10 +- .../data-X11/usingMultilineEdit.0.png | Bin 4006 -> 3997 bytes .../data-X11/usingMultilineEdit.10.png | Bin 6055 -> 6074 bytes .../data-X11/usingMultilineEdit.11.png | Bin 6055 -> 6074 bytes .../data-X11/usingMultilineEdit.8.png | Bin 6051 -> 6072 bytes .../data-X11/usingMultilineEdit.9.png | Bin 6055 -> 6074 bytes .../data-X11/usingMultilineEdit.qml | 26 +- .../qdeclarativetextedit/data-X11/wrap.0.png | Bin 8764 -> 8344 bytes .../qdeclarativetextedit/data-X11/wrap.1.png | Bin 8922 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.2.png | Bin 9175 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.3.png | Bin 9553 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.4.png | Bin 9975 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.5.png | Bin 9977 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.6.png | Bin 9977 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.qml | 16 +- .../data-X11/cursorDelegate.0.png | Bin 3153 -> 3133 bytes .../data-X11/cursorDelegate.qml | 12 +- .../qdeclarativetextinput/data-X11/echoMode.0.png | Bin 580 -> 256 bytes .../qdeclarativetextinput/data-X11/echoMode.qml | 8 +- .../qdeclarativetextinput/data-X11/hAlign.0.png | Bin 0 -> 10607 bytes .../qdeclarativetextinput/data-X11/hAlign.qml | 2 +- .../data-X11/usingLineEdit.0.png | Bin 2659 -> 2648 bytes .../data-X11/usingLineEdit.qml | 36 +- 128 files changed, 1052 insertions(+), 1052 deletions(-) create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png new file mode 100644 index 0000000..049d9c8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml index 6670ae5..838b708 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7b874555d744b10ed666dcb6fad79a19" + image: "basic1.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png new file mode 100644 index 0000000..049d9c8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml index 283b443..327fbf3 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7b874555d744b10ed666dcb6fad79a19" + image: "basic2.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png new file mode 100644 index 0000000..049d9c8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml index 2ee835a..030a842 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7b874555d744b10ed666dcb6fad79a19" + image: "basic3.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png new file mode 100644 index 0000000..049d9c8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml index 3bbf836..c2b1470 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7b874555d744b10ed666dcb6fad79a19" + image: "basic4.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png index d466434..5c0b6a6 100644 Binary files a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png and b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml index 20ed077..faa806f 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "19c43fcf2875769c9a15f1ce317a0f1e" + image: "enforcerange.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "enforcerange.0.png" + hash: "19c43fcf2875769c9a15f1ce317a0f1e" } Frame { msec: 976 @@ -602,7 +602,7 @@ VisualTest { } Frame { msec: 1920 - image: "enforcerange.1.png" + hash: "b64810845a97bedf6fe11c043457c197" } Frame { msec: 1936 @@ -842,7 +842,7 @@ VisualTest { } Frame { msec: 2880 - image: "enforcerange.2.png" + hash: "a4ff6c6c43697808f9ad7387d152cef3" } Frame { msec: 2896 @@ -1210,7 +1210,7 @@ VisualTest { } Frame { msec: 3840 - image: "enforcerange.3.png" + hash: "19c43fcf2875769c9a15f1ce317a0f1e" } Frame { msec: 3856 @@ -1650,7 +1650,7 @@ VisualTest { } Frame { msec: 4800 - image: "enforcerange.4.png" + hash: "da5a30a6f9f40fbb5e2b150965be8ac0" } Frame { msec: 4816 @@ -1890,7 +1890,7 @@ VisualTest { } Frame { msec: 5760 - image: "enforcerange.5.png" + hash: "b64810845a97bedf6fe11c043457c197" } Frame { msec: 5776 diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png index 6a589c6..75d2089 100644 Binary files a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml index 6d09bc0..097080c 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "bf47cc398a702dd17c8efebb3d2f8073" + image: "itemlist.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "itemlist.0.png" + hash: "bf47cc398a702dd17c8efebb3d2f8073" } Frame { msec: 976 @@ -602,7 +602,7 @@ VisualTest { } Frame { msec: 1920 - image: "itemlist.1.png" + hash: "75ab445a739fb2415e20e8997b043656" } Frame { msec: 1936 @@ -850,7 +850,7 @@ VisualTest { } Frame { msec: 2880 - image: "itemlist.2.png" + hash: "99f9988040a389576cb6420b5391f768" } Frame { msec: 2896 @@ -1170,7 +1170,7 @@ VisualTest { } Frame { msec: 3840 - image: "itemlist.3.png" + hash: "88143ff6c278a5433b314b551b7b8b1d" } Frame { msec: 3856 @@ -1490,7 +1490,7 @@ VisualTest { } Frame { msec: 4800 - image: "itemlist.4.png" + hash: "99f9988040a389576cb6420b5391f768" } Frame { msec: 4816 @@ -1810,7 +1810,7 @@ VisualTest { } Frame { msec: 5760 - image: "itemlist.5.png" + hash: "35fe67a91e50f8ebc896451b39cb8f1c" } Frame { msec: 5776 @@ -2050,7 +2050,7 @@ VisualTest { } Frame { msec: 6720 - image: "itemlist.6.png" + hash: "bf47cc398a702dd17c8efebb3d2f8073" } Frame { msec: 6736 diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png index c7fa695..71926d7 100644 Binary files a/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png and b/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml index 45f96e1..07718ca 100644 --- a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml +++ b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "3b88645092be28037fca4a6034f5b2f7" + image: "listview.0.png" } Frame { msec: 32 @@ -298,7 +298,7 @@ VisualTest { } Frame { msec: 960 - image: "listview.0.png" + hash: "d193987835dc12e4391e55ff5fee4ce1" } Frame { msec: 976 @@ -650,7 +650,7 @@ VisualTest { } Frame { msec: 1920 - image: "listview.1.png" + hash: "02f34b6fde613c7c5928285bf81837d6" } Frame { msec: 1936 @@ -1034,7 +1034,7 @@ VisualTest { } Frame { msec: 2880 - image: "listview.2.png" + hash: "5387de4152cac542735a4debf997b56f" } Frame { msec: 2896 @@ -1394,7 +1394,7 @@ VisualTest { } Frame { msec: 3840 - image: "listview.3.png" + hash: "294e6961316b028201657ab6b244559f" } Mouse { type: 5 @@ -1834,7 +1834,7 @@ VisualTest { } Frame { msec: 4800 - image: "listview.4.png" + hash: "5cb4cf2c527d821db2a5072dd3702653" } Frame { msec: 4816 @@ -2130,7 +2130,7 @@ VisualTest { } Frame { msec: 5760 - image: "listview.5.png" + hash: "dbd87bf02d698b7f053d307ef0c98452" } Frame { msec: 5776 diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png index f94e879..85f8691 100644 Binary files a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml index 1804382..fb5e8fb 100644 --- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml +++ b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7cf95f1bc67a90c0df788787589a75a9" + image: "packageviews.0.png" } Frame { msec: 32 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 960 - image: "packageviews.0.png" + hash: "9748e4da669f474bf10abfe7a9c013fd" } Frame { msec: 976 @@ -530,7 +530,7 @@ VisualTest { } Frame { msec: 1920 - image: "packageviews.1.png" + hash: "6056cb02b921b56c63696d7fe9fe90fa" } Frame { msec: 1936 @@ -818,7 +818,7 @@ VisualTest { } Frame { msec: 2880 - image: "packageviews.2.png" + hash: "7bb02b032c1dcb4a7b3e6604ea5a8a8d" } Frame { msec: 2896 @@ -1114,7 +1114,7 @@ VisualTest { } Frame { msec: 3840 - image: "packageviews.3.png" + hash: "6dbc00069eca813c20731afdf0d25e35" } Frame { msec: 3856 @@ -1426,7 +1426,7 @@ VisualTest { } Frame { msec: 4800 - image: "packageviews.4.png" + hash: "a703cbbef38b49be2d3033163ad450e7" } Frame { msec: 4816 @@ -1714,7 +1714,7 @@ VisualTest { } Frame { msec: 5760 - image: "packageviews.5.png" + hash: "8d52a504170547407fad6d8785b7199b" } Frame { msec: 5776 diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png index cba9bce..24c11be 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml index b4c7542..f07bdb2 100644 --- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml +++ b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7cb5fc371040e587de9f06ce14a4b29a" + image: "bindinganimation.0.png" } Frame { msec: 32 @@ -250,7 +250,7 @@ VisualTest { } Frame { msec: 960 - image: "bindinganimation.0.png" + hash: "383ba6b9efcc58fca512982a207631f6" } Frame { msec: 976 @@ -506,7 +506,7 @@ VisualTest { } Frame { msec: 1920 - image: "bindinganimation.1.png" + hash: "abc2ec0bc7a93e75b5823310e6284db1" } Frame { msec: 1936 @@ -810,7 +810,7 @@ VisualTest { } Frame { msec: 2880 - image: "bindinganimation.2.png" + hash: "82363265ed2b611a54f8d48b2af22f11" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png index c5e8029..99748a7 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png index b0f69c2..b75ba61 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png index 1317eef..4320f6f 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml index eb4564c..d318bda 100644 --- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml +++ b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "acc736435c9f84aa82941ba561bc5dbc" + image: "colorAnimation-visual.0.png" } Frame { msec: 32 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 960 - image: "colorAnimation-visual.0.png" + hash: "2d133e7ee60c97386f57838b3f0976c7" } Frame { msec: 976 @@ -498,7 +498,7 @@ VisualTest { } Frame { msec: 1920 - image: "colorAnimation-visual.1.png" + hash: "02bafb5a81ca66f7670ac93de5123860" } Frame { msec: 1936 @@ -738,7 +738,7 @@ VisualTest { } Frame { msec: 2880 - image: "colorAnimation-visual.2.png" + hash: "8c0fcda4f8956394c53fc4ba18caa850" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png index 4f75bfd..28b6fb6 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png and b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml index 5923222..8048608 100644 --- a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml +++ b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + image: "easing.0.png" } Frame { msec: 32 @@ -250,7 +250,7 @@ VisualTest { } Frame { msec: 960 - image: "easing.0.png" + hash: "4c9de74276d32c5b2787cf75e612f97d" } Frame { msec: 976 @@ -498,7 +498,7 @@ VisualTest { } Frame { msec: 1920 - image: "easing.1.png" + hash: "2d2ce71a074f045916a207044abd055a" } Frame { msec: 1936 @@ -738,7 +738,7 @@ VisualTest { } Frame { msec: 2880 - image: "easing.2.png" + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png index f4301d3..ca37de9 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml index 58d0b26..1d326b5 100644 --- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml +++ b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "eff7cc4b163dceb6084270cc589393f1" + image: "loop.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "loop.0.png" + hash: "0de25d97a43cf1a7551c8e8dd1943039" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "loop.1.png" + hash: "72c0bf8225504e86ff023242b84513a8" } Frame { msec: 1936 @@ -722,7 +722,7 @@ VisualTest { } Frame { msec: 2880 - image: "loop.2.png" + hash: "d57e1a10e48938e1f7fc219220fe1204" } Frame { msec: 2896 @@ -962,7 +962,7 @@ VisualTest { } Frame { msec: 3840 - image: "loop.3.png" + hash: "fd7157aef6dfb303472cd33b176f91d8" } Frame { msec: 3856 @@ -1202,7 +1202,7 @@ VisualTest { } Frame { msec: 4800 - image: "loop.4.png" + hash: "2fb9e078573ebd1a5cf0f615c97f1d20" } Frame { msec: 4816 @@ -1442,7 +1442,7 @@ VisualTest { } Frame { msec: 5760 - image: "loop.5.png" + hash: "99789b6e168355a3960986c7d1f21f82" } Frame { msec: 5776 diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png new file mode 100644 index 0000000..e60cc38 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml index 8fd5944..1dd1259 100644 --- a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml +++ b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "4faa7727bafeea0771f2db62f0141ac9" + image: "parallelAnimation-visual.0.png" } Frame { msec: 32 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 960 - image: "parallelAnimation.0.png" + hash: "115cb0b4c2c0dcd44618b5891aa210e1" } Frame { msec: 976 @@ -399,7 +399,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png new file mode 100644 index 0000000..fded8c3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml index edefd01..7388b79 100644 --- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml +++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "4135271d78a5c63c3837a09c86f35ebe" + image: "parentAnimation-visual.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "parentAnimation.0.png" + hash: "4135271d78a5c63c3837a09c86f35ebe" } Frame { msec: 976 @@ -490,7 +490,7 @@ VisualTest { } Frame { msec: 1920 - image: "parentAnimation.1.png" + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" } Frame { msec: 1936 @@ -738,7 +738,7 @@ VisualTest { } Frame { msec: 2880 - image: "parentAnimation.2.png" + hash: "4135271d78a5c63c3837a09c86f35ebe" } Frame { msec: 2896 @@ -1002,7 +1002,7 @@ VisualTest { } Frame { msec: 3840 - image: "parentAnimation.3.png" + hash: "c8269ecdcd1c898b48280d10a20674b7" } Frame { msec: 3856 @@ -1274,7 +1274,7 @@ VisualTest { } Frame { msec: 4800 - image: "parentAnimation.4.png" + hash: "b24ae0cb512abfd2606ff9c20a6751bf" } Frame { msec: 4816 @@ -1522,7 +1522,7 @@ VisualTest { } Frame { msec: 5760 - image: "parentAnimation.5.png" + hash: "4135271d78a5c63c3837a09c86f35ebe" } Frame { msec: 5776 @@ -1591,7 +1591,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png index 135911c..03ae932 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png and b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml index 9e1b923..ad3b5bb 100644 --- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml +++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "b3bfd7a06d3e246f4256ab5a267360b0" + image: "parentAnimation2.0.png" } Frame { msec: 32 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 960 - image: "parentAnimation2.0.png" + hash: "5983f3e0800859134bff0182fe9e0142" } Frame { msec: 976 @@ -514,7 +514,7 @@ VisualTest { } Frame { msec: 1920 - image: "parentAnimation2.1.png" + hash: "3210f97ac2799d84fc1d872c4c2994f7" } Frame { msec: 1936 @@ -762,7 +762,7 @@ VisualTest { } Frame { msec: 2880 - image: "parentAnimation2.2.png" + hash: "acab4a79f22ebc8a45759ae282e8f3db" } Frame { msec: 2896 @@ -967,7 +967,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 @@ -1018,6 +1018,6 @@ VisualTest { } Frame { msec: 3840 - image: "parentAnimation2.3.png" + hash: "b3bfd7a06d3e246f4256ab5a267360b0" } } diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png new file mode 100644 index 0000000..cb0971a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml index 8e1e1d7..b2fa1f4 100644 --- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml +++ b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "a350b70c5238a340e85fd4a3ec0390a3" + image: "pauseAnimation-visual.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "pauseAnimation.0.png" + hash: "f1e0301430d153fb9d15eaffdfcd5c58" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "pauseAnimation.1.png" + hash: "3042003c067b257de2cb32f650dde693" } Frame { msec: 1936 @@ -722,7 +722,7 @@ VisualTest { } Frame { msec: 2880 - image: "pauseAnimation.2.png" + hash: "a350b70c5238a340e85fd4a3ec0390a3" } Frame { msec: 2896 @@ -962,7 +962,7 @@ VisualTest { } Frame { msec: 3840 - image: "pauseAnimation.3.png" + hash: "7c27ef654e645679c90520d6cf00b0c4" } Frame { msec: 3856 @@ -1202,7 +1202,7 @@ VisualTest { } Frame { msec: 4800 - image: "pauseAnimation.4.png" + hash: "336d31586171f22d541b989d24b95cbb" } Frame { msec: 4816 @@ -1442,7 +1442,7 @@ VisualTest { } Frame { msec: 5760 - image: "pauseAnimation.5.png" + hash: "ce57e27af329eba4fac3ab891f0407ce" } Frame { msec: 5776 @@ -1599,7 +1599,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png index a02c063..7d2b66e 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png and b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml index 09febd7..3216c0a 100644 --- a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml +++ b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "1e5ac43e0f553886bcb2b4016f7e3414" + image: "propertyAction-visual.0.png" } Frame { msec: 32 @@ -250,7 +250,7 @@ VisualTest { } Frame { msec: 960 - image: "propertyAction-visual.0.png" + hash: "4ba1bf769de9bc45630485d06642dc30" } Frame { msec: 976 @@ -498,7 +498,7 @@ VisualTest { } Frame { msec: 1920 - image: "propertyAction-visual.1.png" + hash: "81c157daf3086b21ea2ba39277a31f3d" } Frame { msec: 1936 @@ -738,7 +738,7 @@ VisualTest { } Frame { msec: 2880 - image: "propertyAction-visual.2.png" + hash: "1e5ac43e0f553886bcb2b4016f7e3414" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png index 3545e5a..4af1744 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png and b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml index 774cc13..48ca755 100644 --- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml +++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "0755ae54acb6af587bbf7ca509146e0f" + image: "qtbug10586.0.png" } Frame { msec: 32 @@ -338,7 +338,7 @@ VisualTest { } Frame { msec: 960 - image: "qtbug10586.0.png" + hash: "dff3c85f1bb42138410e9db7be98425b" } Frame { msec: 976 @@ -666,7 +666,7 @@ VisualTest { } Frame { msec: 1920 - image: "qtbug10586.1.png" + hash: "d84bf962449716cc64cb34b285926c48" } Frame { msec: 1936 @@ -906,7 +906,7 @@ VisualTest { } Frame { msec: 2880 - image: "qtbug10586.2.png" + hash: "7454984bc5316de021b87d04daf0e8bb" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png index 16adc51..29f7c75 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png and b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml index 0cc98ce..fce5474 100644 --- a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml +++ b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "2452007928bf86b9c42e666c7a7afc89" + image: "qtbug13398.0.png" } Frame { msec: 32 @@ -266,7 +266,7 @@ VisualTest { } Frame { msec: 960 - image: "qtbug13398.0.png" + hash: "e09a359578935b988ac1cc8c40b25547" } Frame { msec: 976 diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png index 454f6c1..f08e048 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml index b4ee569..9628802 100644 --- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml +++ b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "213811853dbefdc418099721e3bf8651" + image: "reanchor.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "reanchor.0.png" + hash: "213811853dbefdc418099721e3bf8651" } Frame { msec: 976 @@ -498,7 +498,7 @@ VisualTest { } Frame { msec: 1920 - image: "reanchor.1.png" + hash: "ad3837dcf3e69274ac2918d796974f29" } Frame { msec: 1936 @@ -770,7 +770,7 @@ VisualTest { } Frame { msec: 2880 - image: "reanchor.2.png" + hash: "213811853dbefdc418099721e3bf8651" } Frame { msec: 2896 @@ -1026,7 +1026,7 @@ VisualTest { } Frame { msec: 3840 - image: "reanchor.3.png" + hash: "213811853dbefdc418099721e3bf8651" } Frame { msec: 3856 @@ -1282,7 +1282,7 @@ VisualTest { } Frame { msec: 4800 - image: "reanchor.4.png" + hash: "df51ffd71a82742af7c06f8a786f6bf2" } Frame { msec: 4816 @@ -1522,7 +1522,7 @@ VisualTest { } Frame { msec: 5760 - image: "reanchor.5.png" + hash: "1137e22c68e043950811dee295e19b04" } Frame { msec: 5776 @@ -1778,7 +1778,7 @@ VisualTest { } Frame { msec: 6720 - image: "reanchor.6.png" + hash: "213811853dbefdc418099721e3bf8651" } Frame { msec: 6736 @@ -2034,7 +2034,7 @@ VisualTest { } Frame { msec: 7680 - image: "reanchor.7.png" + hash: "213811853dbefdc418099721e3bf8651" } Frame { msec: 7696 @@ -2290,7 +2290,7 @@ VisualTest { } Frame { msec: 8640 - image: "reanchor.8.png" + hash: "b36a09269dfc9173ff8583a62ae87e8a" } Frame { msec: 8656 @@ -2419,7 +2419,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png index e7571f2..5bf32dd 100644 Binary files a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png and b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml index 82303ef..5c2f098 100644 --- a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml +++ b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "c5d2b291578c11c11452c29dc02bcad9" + image: "scriptAction-visual.0.png" } Frame { msec: 32 @@ -250,7 +250,7 @@ VisualTest { } Frame { msec: 960 - image: "scriptAction-visual.0.png" + hash: "1761f6606bbdf5772594cf96412337ca" } Frame { msec: 976 @@ -498,7 +498,7 @@ VisualTest { } Frame { msec: 1920 - image: "scriptAction-visual.1.png" + hash: "6741d853f099a5a98fcdf87053b69ec8" } Frame { msec: 1936 diff --git a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png index ee07a68..b551e6b 100644 Binary files a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png and b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png index 986a164..fd28a93 100644 Binary files a/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png and b/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test.qml index da99cfd..6294112 100644 --- a/tests/auto/declarative/qmlvisual/focusscope/data/test.qml +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "94675f9c9afb6834b91a69fd0ce35a22" + image: "test.0.png" } Frame { msec: 32 @@ -290,7 +290,7 @@ VisualTest { } Frame { msec: 960 - image: "test.0.png" + hash: "f369109744055d30eadf2832a028a104" } Frame { msec: 976 @@ -594,7 +594,7 @@ VisualTest { } Frame { msec: 1920 - image: "test.1.png" + hash: "f369109744055d30eadf2832a028a104" } Frame { msec: 1936 @@ -882,7 +882,7 @@ VisualTest { } Frame { msec: 2880 - image: "test.2.png" + hash: "94675f9c9afb6834b91a69fd0ce35a22" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml index ff977ac..2bff871 100644 --- a/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "4823f4520db0c1f64d887f172b3efa17" + image: "test2.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "test2.0.png" + hash: "4823f4520db0c1f64d887f172b3efa17" } Frame { msec: 976 diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png index 49113dd..c092535 100644 Binary files a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml index 5acfcc2..d7b19a1 100644 --- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "cb3a3cca07a49fadf8bb00834ea24f73" + image: "test3.0.png" } Frame { msec: 32 @@ -290,7 +290,7 @@ VisualTest { } Frame { msec: 960 - image: "test3.0.png" + hash: "b5a811e6d1b956af67c6df4c9eabd0a3" } Frame { msec: 976 @@ -602,7 +602,7 @@ VisualTest { } Frame { msec: 1920 - image: "test3.1.png" + hash: "2553f91e5ea5a4da70eb3825a0cdfa10" } Frame { msec: 1936 @@ -898,7 +898,7 @@ VisualTest { } Frame { msec: 2880 - image: "test3.2.png" + hash: "1bf8a37b5aeb9df37f97083ce19a0c1a" } Frame { msec: 2896 @@ -1218,7 +1218,7 @@ VisualTest { } Frame { msec: 3840 - image: "test3.3.png" + hash: "cb3a3cca07a49fadf8bb00834ea24f73" } Frame { msec: 3856 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png index b6ef0f5..bebca88 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml index 1200099..7bec3fb 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "aec13bcab337e55832b0a02fb5c6b526" + image: "animated-smooth.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "animated-smooth.0.png" + hash: "d9ab04d0a6a9373e5622e1124db17866" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "animated-smooth.1.png" + hash: "a9b6aeb509076bf17c2068ce280326fb" } Frame { msec: 1936 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png index 3efd596..bebca88 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml index 236003a..55cf602 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "aec13bcab337e55832b0a02fb5c6b526" + image: "animated.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "animated.0.png" + hash: "d1ed4916cb1ecff60277d74369ff311b" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "animated.1.png" + hash: "b63e4d1686057828fd8781f1c33585f5" } Frame { msec: 1936 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png index f8b7339..e1b0967 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml index 92f108c..0b84ecd 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "244c12e82ee0b2528a0dbb02a8b8134a" + image: "flickable-horizontal.0.png" } Frame { msec: 32 @@ -314,7 +314,7 @@ VisualTest { } Frame { msec: 960 - image: "flickable-horizontal.0.png" + hash: "a2093589363ac2d50491412e99e0193a" } Frame { msec: 976 @@ -594,7 +594,7 @@ VisualTest { } Frame { msec: 1920 - image: "flickable-horizontal.1.png" + hash: "21e0f21edc77424e8327c9a3350ecc1d" } Mouse { type: 5 @@ -874,7 +874,7 @@ VisualTest { } Frame { msec: 2880 - image: "flickable-horizontal.2.png" + hash: "43fa578250e214ed9ad6894329a27c54" } Frame { msec: 2896 @@ -1354,7 +1354,7 @@ VisualTest { } Frame { msec: 3840 - image: "flickable-horizontal.3.png" + hash: "d73c1059219c0655968af268d22e2c18" } Frame { msec: 3856 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png index 67f2de8..d525858 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml index 86fd3ca..dc24d99 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "b0e76c5cfeb797888e8c032b3f2781bd" + image: "flickable-vertical.0.png" } Frame { msec: 32 @@ -346,7 +346,7 @@ VisualTest { } Frame { msec: 960 - image: "flickable-vertical.0.png" + hash: "f1192763bfb9efacc47828866abacaea" } Frame { msec: 976 @@ -658,7 +658,7 @@ VisualTest { } Frame { msec: 1920 - image: "flickable-vertical.1.png" + hash: "c591e684fa9a8888d6117af66eaec299" } Frame { msec: 1936 @@ -994,7 +994,7 @@ VisualTest { } Frame { msec: 2880 - image: "flickable-vertical.2.png" + hash: "96fb3652bfcf0aac1e35a2e50532816f" } Mouse { type: 5 @@ -1498,7 +1498,7 @@ VisualTest { } Frame { msec: 3840 - image: "flickable-vertical.3.png" + hash: "b0e76c5cfeb797888e8c032b3f2781bd" } Frame { msec: 3856 @@ -1762,7 +1762,7 @@ VisualTest { } Frame { msec: 4800 - image: "flickable-vertical.4.png" + hash: "b0e76c5cfeb797888e8c032b3f2781bd" } Frame { msec: 4816 @@ -2154,7 +2154,7 @@ VisualTest { } Frame { msec: 5760 - image: "flickable-vertical.5.png" + hash: "5eb13b99216b29a54d4676c171949cf6" } Mouse { type: 5 @@ -2442,7 +2442,7 @@ VisualTest { } Frame { msec: 6720 - image: "flickable-vertical.6.png" + hash: "4cd763300154da47a8ce8fc13b2213c5" } Frame { msec: 6736 @@ -2698,7 +2698,7 @@ VisualTest { } Frame { msec: 7680 - image: "flickable-vertical.7.png" + hash: "1889f1f0e319b90b6a68d76df6eebe96" } Frame { msec: 7696 @@ -3154,7 +3154,7 @@ VisualTest { } Frame { msec: 8640 - image: "flickable-vertical.8.png" + hash: "1889f1f0e319b90b6a68d76df6eebe96" } Frame { msec: 8656 @@ -3754,7 +3754,7 @@ VisualTest { } Frame { msec: 9600 - image: "flickable-vertical.9.png" + hash: "b3003855e3805c0a514bf2c7a42d398f" } Mouse { type: 5 @@ -4242,7 +4242,7 @@ VisualTest { } Frame { msec: 10560 - image: "flickable-vertical.10.png" + hash: "b0e76c5cfeb797888e8c032b3f2781bd" } Mouse { type: 5 @@ -4602,7 +4602,7 @@ VisualTest { } Frame { msec: 11520 - image: "flickable-vertical.11.png" + hash: "b0e76c5cfeb797888e8c032b3f2781bd" } Frame { msec: 11536 @@ -5122,7 +5122,7 @@ VisualTest { } Frame { msec: 12480 - image: "flickable-vertical.12.png" + hash: "b0e76c5cfeb797888e8c032b3f2781bd" } Mouse { type: 5 @@ -5498,7 +5498,7 @@ VisualTest { } Frame { msec: 13440 - image: "flickable-vertical.13.png" + hash: "f77f12bdb352d5a8470ae8c93ae3646e" } Frame { msec: 13456 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png index 53a8b42..b3ae1bc 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml index d2d46e4..4b089d1 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "7e16e6360fc2e9db67dbf11d58042745" + image: "test-flipable.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "test-flipable.0.png" + hash: "c03406106847c03c73f5897e65690925" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "test-flipable.1.png" + hash: "1e8348fbb51871dffe9543fca19bb452" } Frame { msec: 1936 @@ -722,7 +722,7 @@ VisualTest { } Frame { msec: 2880 - image: "test-flipable.2.png" + hash: "373141f99bc88c40ead161502c9750e9" } Frame { msec: 2896 @@ -962,7 +962,7 @@ VisualTest { } Frame { msec: 3840 - image: "test-flipable.3.png" + hash: "464a78e75e10b62773ab64af4fc4c7aa" } Frame { msec: 3856 @@ -1202,7 +1202,7 @@ VisualTest { } Frame { msec: 4800 - image: "test-flipable.4.png" + hash: "03f17b2cd781f2ee0ae5664a0491166c" } Frame { msec: 4816 @@ -1442,7 +1442,7 @@ VisualTest { } Frame { msec: 5760 - image: "test-flipable.5.png" + hash: "73c06997014af4e008b546b53fe349fb" } Frame { msec: 5776 @@ -1559,7 +1559,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png new file mode 100644 index 0000000..814cc89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml index d1a5ade..08c5e16 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "04382a80a203e1fe3d0d4944c9195e0b" + image: "test_flipable_resize.0.png" } Frame { msec: 32 @@ -187,7 +187,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png index c675be7..b053048 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml index a3e5ea0..2f7ed93 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "c33447c78ea64452ec3cd1696fb502eb" + image: "gridview.0.png" } Frame { msec: 32 @@ -274,7 +274,7 @@ VisualTest { } Frame { msec: 960 - image: "gridview.0.png" + hash: "02c632713d0dc64bff9d8e58f745df95" } Frame { msec: 976 @@ -546,7 +546,7 @@ VisualTest { } Frame { msec: 1920 - image: "gridview.1.png" + hash: "8304d2432168a2ea8a887d9a135b40b4" } Frame { msec: 1936 @@ -826,7 +826,7 @@ VisualTest { } Frame { msec: 2880 - image: "gridview.2.png" + hash: "e9112eea445585b17d58b6f9ba039c39" } Frame { msec: 2896 @@ -1106,7 +1106,7 @@ VisualTest { } Frame { msec: 3840 - image: "gridview.3.png" + hash: "e63d987ba303a42046827f14941b444a" } Frame { msec: 3856 @@ -1394,7 +1394,7 @@ VisualTest { } Frame { msec: 4800 - image: "gridview.4.png" + hash: "11150995098af8516513230360d40108" } Frame { msec: 4816 @@ -1666,7 +1666,7 @@ VisualTest { } Frame { msec: 5760 - image: "gridview.5.png" + hash: "3de570332e8a1e01f409d892feb7930e" } Frame { msec: 5776 @@ -1946,7 +1946,7 @@ VisualTest { } Frame { msec: 6720 - image: "gridview.6.png" + hash: "dcf8c3078973ad99fbbcc763e433de11" } Frame { msec: 6736 @@ -2218,7 +2218,7 @@ VisualTest { } Frame { msec: 7680 - image: "gridview.7.png" + hash: "2a5a7dfcd64200864abfa9267e802f4e" } Frame { msec: 7696 @@ -2506,7 +2506,7 @@ VisualTest { } Frame { msec: 8640 - image: "gridview.8.png" + hash: "fb8acbfc93b64d960abb17f097fe36fe" } Key { type: 7 @@ -2786,7 +2786,7 @@ VisualTest { } Frame { msec: 9600 - image: "gridview.9.png" + hash: "02c632713d0dc64bff9d8e58f745df95" } Frame { msec: 9616 @@ -2831,7 +2831,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png index 3021d58..27e0783 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml index 1c90af9..8ac4cbf 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "dba2f6f1c773bd4cd9523108fca861c4" + image: "gridview2.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "gridview2.0.png" + hash: "33d81c39d16c6a326012499796e50e03" } Frame { msec: 976 @@ -330,27 +330,27 @@ VisualTest { } Frame { msec: 1280 - hash: "aaec7184a27e6700d96ffff376b8fa53" + hash: "4ffd56d59c14ba676393686d753951d7" } Frame { msec: 1296 - hash: "3fa3a890a4ff4a59336a9a2d478d0dde" + hash: "e2f7702ed749330b2f027aa73967a4cf" } Frame { msec: 1312 - hash: "3711c6c2f4f9aba7f2c72bd1f1d85016" + hash: "3f4dcee547e925db9b3da1fa08bab3c9" } Frame { msec: 1328 - hash: "23da2f9a800b805ce7b77ff08218907d" + hash: "12b0bf8abbb9b6a0597eccebe5322551" } Frame { msec: 1344 - hash: "12e4bc953b06cdaad0720f87fb96a37e" + hash: "23da2f9a800b805ce7b77ff08218907d" } Frame { msec: 1360 - hash: "46e69658bda69bab202a2790a76ba1cd" + hash: "9c039c94a4202b99bf913891bdcb3698" } Key { type: 7 @@ -362,27 +362,27 @@ VisualTest { } Frame { msec: 1376 - hash: "44608e67c69b92ccbb45e119e1158fe3" + hash: "dd7c95ca98c4f37837c2ff7f03243fc3" } Frame { msec: 1392 - hash: "97a309b47017d38294644a486a7ce68e" + hash: "6f31f7af4e68ab0eab101e7ae840b4b6" } Frame { msec: 1408 - hash: "41f42b50b22e0496c8aca5019b24b9cb" + hash: "29943a44b9830bb64b3e5a3b6abd8c42" } Frame { msec: 1424 - hash: "8603ea1cb60c804563f50bc41c0180fe" + hash: "93d37221e8e022c84e35c7bd44b0644e" } Frame { msec: 1440 - hash: "e29777fa70daafe9640c6e9bb7bd63d6" + hash: "9ce3cd471dba7fe94de4e9ad321803b2" } Frame { msec: 1456 - hash: "2c4c360320f527e99fee799e68c2c0aa" + hash: "0d30916c7e05ff8609af5894f47a89bb" } Frame { msec: 1472 @@ -430,23 +430,23 @@ VisualTest { } Frame { msec: 1616 - hash: "17027b7c099b11cb5382f30dbbd1e647" + hash: "6775c78beca0f078c5f2c57370de1946" } Frame { msec: 1632 - hash: "0e17461a4ca843f9903b7f03e99a0b00" + hash: "898709f3871e13825baf48861930f26c" } Frame { msec: 1648 - hash: "a5e61901920553e59892fa405beea15a" + hash: "c1a568599592a3f455ad550c2e4878a8" } Frame { msec: 1664 - hash: "310eaf71fe8d3807606e58a666c65ccd" + hash: "a80d8cbf0c6fe8383badbb2badb361ad" } Frame { msec: 1680 - hash: "76f556d05fb77082f33eb1836c10587a" + hash: "310eaf71fe8d3807606e58a666c65ccd" } Key { type: 7 @@ -458,31 +458,31 @@ VisualTest { } Frame { msec: 1696 - hash: "4e7e4b7790a96396e7ea3533b5c32ed9" + hash: "0f317f50b0d2a4c5daf819431527416e" } Frame { msec: 1712 - hash: "b065287b6490f58ca6f0e9eb2027cf20" + hash: "d251b64b794902fe2c5da3cee43ff82d" } Frame { msec: 1728 - hash: "907cd9dbdffa1d395caaabd466dc8e86" + hash: "757adc256e1b5d739c29ee82bdacfa16" } Frame { msec: 1744 - hash: "3b144e5b4867328beafa3020ce931480" + hash: "1c20e69e033a5fa4825fd46f51d1e348" } Frame { msec: 1760 - hash: "b59b2b60b7d55424b61b1b0ed3e227b8" + hash: "03cbcd361ec24925222802c8ece99793" } Frame { msec: 1776 - hash: "4032e934871b315b68c7c2abea42efee" + hash: "dffaa2dd4d6dd89a1b26d5db38906059" } Frame { msec: 1792 - hash: "8f80127b2f8d6fc10aa84062544cc381" + hash: "77d5193bc5f53fe5cb98a236c55f841e" } Frame { msec: 1808 @@ -514,7 +514,7 @@ VisualTest { } Frame { msec: 1920 - image: "gridview2.1.png" + hash: "77d5193bc5f53fe5cb98a236c55f841e" } Frame { msec: 1936 @@ -554,23 +554,23 @@ VisualTest { } Frame { msec: 2048 - hash: "a45d2630872a14541f39b862e15ff461" + hash: "1f046afe50ee5e1fc07e89a40528351c" } Frame { msec: 2064 - hash: "714711d7382ef8bba5fb39e2e44bd59c" + hash: "132fbaa8fc2890d48f1916a25cb09887" } Frame { msec: 2080 - hash: "63deed0356e761f94f88be18a7d10053" + hash: "e904c892dc27ff1700009470f234ce0d" } Frame { msec: 2096 - hash: "d5b4fc1b568a4a1b63a91b422272c704" + hash: "0968397c7a209059cd466c61ac891081" } Frame { msec: 2112 - hash: "b6d2c80925cc6b4b7b297bd6ee903c7c" + hash: "d5b4fc1b568a4a1b63a91b422272c704" } Key { type: 7 @@ -582,31 +582,31 @@ VisualTest { } Frame { msec: 2128 - hash: "38117482196360353586cb7ace593894" + hash: "a980a2e7bd10328fbd4400e799aa7c24" } Frame { msec: 2144 - hash: "2301f3a148bf4e311cc8ce011ddf65f8" + hash: "b74be5349822d52ced201d7f34a96122" } Frame { msec: 2160 - hash: "2a4982a0961f89a15618f8d4c2081f5a" + hash: "f7c6dbcd7d55b3230af463098f346bd8" } Frame { msec: 2176 - hash: "acf8666d6a8a29925f3895aa8e93f713" + hash: "393358a0ee7636a535f14f0dc9c3d609" } Frame { msec: 2192 - hash: "967ed026bc92a6d2747c5227105543a6" + hash: "cad337b87b629b1eee78407aacfd279e" } Frame { msec: 2208 - hash: "ff72f3fb95f25990c99c1c14cfef57da" + hash: "d90b762e62867e3ff928160bed85d2ff" } Frame { msec: 2224 - hash: "0874a4f863596c3860dcf5b1f7f6ceb2" + hash: "520445d8619ad9bdde0db0e61f17567c" } Frame { msec: 2240 @@ -658,31 +658,31 @@ VisualTest { } Frame { msec: 2400 - hash: "7c4bbf0423d63d7642d218cac56a6215" + hash: "5c9801ffdb07be53524cf0a4f8709ee4" } Frame { msec: 2416 - hash: "e8c77dbc89721b51549f8d46453fe09d" + hash: "adef25d77f816e40ec02886187f456bf" } Frame { msec: 2432 - hash: "7953503590b639872ac12215695e8cea" + hash: "56290066fa32054bb7e1669bbda3f3bb" } Frame { msec: 2448 - hash: "edaee946a2e25fed6de9acfda0d44a14" + hash: "101b94bcf3f536bd64f0ac50f21cd5de" } Frame { msec: 2464 - hash: "4996ef39bb0122c10d65f8dd8674b386" + hash: "edaee946a2e25fed6de9acfda0d44a14" } Frame { msec: 2480 - hash: "ede7c6ca9d6deb7819c3715e98755d6e" + hash: "b170b60632b17595713dd911afc46fcc" } Frame { msec: 2496 - hash: "e703fad2fcf9244ec9865200c7d17ce3" + hash: "57550914cd214025c6b1f3dfa446417f" } Key { type: 7 @@ -694,23 +694,23 @@ VisualTest { } Frame { msec: 2512 - hash: "e2bfc16fd893bb3eb0e5df89a0169af3" + hash: "3fd7252f5e61e3c348219a54fd5b95d9" } Frame { msec: 2528 - hash: "cfd0eb2bc378bd46644f3f7820150685" + hash: "c6c27dd386e40bc0a02ad8104301d391" } Frame { msec: 2544 - hash: "442b05b04762c2bcda291aaa0341398e" + hash: "dd476c04d3612f940e1959030ee8e264" } Frame { msec: 2560 - hash: "55842a6503057eea98e2075ef160873e" + hash: "f2f8d9bb8a1865237398421f6a6d89dc" } Frame { msec: 2576 - hash: "730f80233dacf1119660a76d2a34c5fc" + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" } Frame { msec: 2592 @@ -766,23 +766,23 @@ VisualTest { } Frame { msec: 2768 - hash: "4d04c12bc7fab0b22df3135bf3a87a22" + hash: "f13bc957329adad9dcb1ce0c408eeaaf" } Frame { msec: 2784 - hash: "fdca5a3f8312452feba7f37b1caa6419" + hash: "9a676805f3474f924cbe7ea21ee9dcab" } Frame { msec: 2800 - hash: "97b955e0f8cde30299b238d9ac0eb308" + hash: "f0161b0d27757137bcb7fd3e6db2280c" } Frame { msec: 2816 - hash: "19664de1a738458810896959ba4087ad" + hash: "c7034a0e8956c9f483c128a934d68fa7" } Frame { msec: 2832 - hash: "4f9a4b6de6a2969e4639076a8f7c258e" + hash: "19664de1a738458810896959ba4087ad" } Key { type: 7 @@ -794,31 +794,31 @@ VisualTest { } Frame { msec: 2848 - hash: "a10f18aa686be2681a48082ec9f01df7" + hash: "c5d5ff1884dd0ede23097530c249678c" } Frame { msec: 2864 - hash: "b8f39a6cca377dd573429d879286dd63" + hash: "131ae4a26ad06bbef105668d30e154aa" } Frame { msec: 2880 - image: "gridview2.2.png" + hash: "5d6ba09a5038e00007af0fa3f89b67b8" } Frame { msec: 2896 - hash: "3301e52a46efbc49882401c77853ffde" + hash: "c88c120d64171197e4050cb73b56a766" } Frame { msec: 2912 - hash: "0c614597f17496ebc701efe7b0c1fbb6" + hash: "9d5ee2458abc5dfd56abfd42c906270f" } Frame { msec: 2928 - hash: "6dda2d6b034c932e279cf216c9b3e6ad" + hash: "823b5d63768f5a18e795d5ed61f4dec8" } Frame { msec: 2944 - hash: "7bf08cd5fe3ad3f83bbef28f452e0545" + hash: "1b7ebcf0e3d68e429cb04966120985e5" } Frame { msec: 2960 @@ -854,35 +854,35 @@ VisualTest { } Frame { msec: 3056 - hash: "0fe7d46e7c18ce7bb5a098c5c662d557" + hash: "1a8a32127c1b699bc282b0c209117a00" } Frame { msec: 3072 - hash: "cd5df541cc1ed545bc27da9e4a937261" + hash: "2f5f2ab12410c070a7c05a1674e273fe" } Frame { msec: 3088 - hash: "35762467b83fee1870cff9b0436994d3" + hash: "afe7c2cd74cc90d67e8c068eaf5988eb" } Frame { msec: 3104 - hash: "75a620b42caabf5b1576041dbd4c2808" + hash: "e063d9eb45dc42b3f8b66937b7b4c19a" } Frame { msec: 3120 - hash: "f1b06290a6cbd48b8d3d4ce1e42ed754" + hash: "75a620b42caabf5b1576041dbd4c2808" } Frame { msec: 3136 - hash: "8e1a50dc082828587a4656117760a852" + hash: "2e2b9db4d2f19035c7c29489332b2550" } Frame { msec: 3152 - hash: "aae8e5f166e736040138d8e222a844dd" + hash: "32370cba80db8eaf1f5cd9b73d3472ed" } Frame { msec: 3168 - hash: "f69e5cf2bcb26fe49126776695b0b7e0" + hash: "3a79c47a8eb8bb79316e61a7eed58e57" } Key { type: 7 @@ -894,19 +894,19 @@ VisualTest { } Frame { msec: 3184 - hash: "7b482fece0255ea07496ef0545b008a2" + hash: "c84e47182ef6ebec61163f9b42d03c64" } Frame { msec: 3200 - hash: "3f96eaebfebe8d4eeb347b201b59ab11" + hash: "6a0a83a39e6ab82b5437d46468e4776d" } Frame { msec: 3216 - hash: "9943626d2226c3be711c8213906133f0" + hash: "945929656c1d27bcba51ce908e72a770" } Frame { msec: 3232 - hash: "fd5fd8177b3957c27f1de0d95621351a" + hash: "506283ccfe9670633ce0bf60b437b37b" } Frame { msec: 3248 @@ -958,31 +958,31 @@ VisualTest { } Frame { msec: 3408 - hash: "fb437f6c23561092a124e498f1604ff2" + hash: "7d12bcac0fcaaff7467c444ab89f1e06" } Frame { msec: 3424 - hash: "402ba144bbb7260eec4553e68eb35cda" + hash: "2f4538eec0c704af25b0a73d5a8dded4" } Frame { msec: 3440 - hash: "76a983de9e85e0c81dfb8908252bd6c9" + hash: "4722cbfba5de7e4f7b3cee10bd0f75b5" } Frame { msec: 3456 - hash: "09219f55fae47a0afed887ebf68a36bc" + hash: "3a6df7e6d771c6edc5218ad9a4bf6ab0" } Frame { msec: 3472 - hash: "344e81cc262093facef2f6a235a734dc" + hash: "09219f55fae47a0afed887ebf68a36bc" } Frame { msec: 3488 - hash: "8f1c5544eb537555b1c59a377b15e31d" + hash: "c04c0010761f572c5b16963699c70135" } Frame { msec: 3504 - hash: "606b9bb549fe2e4bbd09d67b7dea0d1a" + hash: "52d59ffff0f2109f9a584f3582158798" } Key { type: 7 @@ -994,23 +994,23 @@ VisualTest { } Frame { msec: 3520 - hash: "63e239c97bd01a61cb31ef2869e7f47c" + hash: "9b1d58189c56205ba8963671bfb86742" } Frame { msec: 3536 - hash: "f7c176550c39f8a1ad64590cf33a60a4" + hash: "7de84895e12919ffe935b23372db95db" } Frame { msec: 3552 - hash: "8581cb14ed81efdf9abb638b5e542cc3" + hash: "d9c5b4c2a7831c216fe2266fe26306b0" } Frame { msec: 3568 - hash: "7a1e9354ecc49d8bc27d303c7bdc81f9" + hash: "1c2bc039c48e7e9da07165f405a6f207" } Frame { msec: 3584 - hash: "610288b97276ee03702ed8a814ef333d" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 3600 @@ -1074,19 +1074,19 @@ VisualTest { } Frame { msec: 3808 - hash: "9713c6b9aff051dd0cc45c545d34b688" + hash: "abf9f5ef21fb62e5ad89ae2640a5a7e1" } Frame { msec: 3824 - hash: "1f8fd4d759e343720a8681b6ad126b72" + hash: "58103d91498617585163e0508bdb724d" } Frame { msec: 3840 - image: "gridview2.3.png" + hash: "c46ea52b070681155466b30096379c4f" } Frame { msec: 3856 - hash: "8550d916d91a40b0c3a886b962e07ffc" + hash: "b78cfa8624a7f7b382bb628648f8a9df" } Key { type: 7 @@ -1098,143 +1098,143 @@ VisualTest { } Frame { msec: 3872 - hash: "df0c2e474139e79429bfc19c79a65ef8" + hash: "523667a6f3213fb67de1744636780831" } Frame { msec: 3888 - hash: "acfb99d081d754276e5ed59bd590aeab" + hash: "f0b7d38f695a29f6787dc3683a05a7c8" } Frame { msec: 3904 - hash: "2b34cd101b442f7a3de2893fd5514c16" + hash: "1e5cf55e27217e67a5deb89e2d46349a" } Frame { msec: 3920 - hash: "df92ced66faa1d59354d8010278438ec" + hash: "c49869491f484d07da838a21564e5e19" } Frame { msec: 3936 - hash: "dd39a8e6fa3784453461193a6da416cd" + hash: "1acce2b796476d2d7d130749b06f334f" } Frame { msec: 3952 - hash: "5670e8f91ea2df451f0974a51cd77d7d" + hash: "19ee6550b52517345859f9feb0b0d5a4" } Frame { msec: 3968 - hash: "74b97a09bfe7400872a2c6214e04a5ac" + hash: "d2f360af319c740ad095ee0a463fa6fa" } Frame { msec: 3984 - hash: "cfd55b963506ab54cf09a7311e84bcc9" + hash: "032326c6cf2a9da09c2388626ce942ef" } Frame { msec: 4000 - hash: "59657ee9293c03f064d62de826931435" + hash: "ba2a7178b7c68001ecfdfea053507d0e" } Frame { msec: 4016 - hash: "31f6a4adf31be5ed0af0ea4097e3acee" + hash: "9afddf683c810e288ed0da2fa44c5182" } Frame { msec: 4032 - hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76" + hash: "93a7145e4bafa1e40a1db013b1c4337c" } Frame { msec: 4048 - hash: "9dc38985113124130e2ca7950e0bd144" + hash: "3d48687ecb20a8670dd656c5705a0797" } Frame { msec: 4064 - hash: "786e6e8b9e74876a6f393d61a78b8fc7" + hash: "7578264d5ea215f7fde90478ba5e6d32" } Frame { msec: 4080 - hash: "1f4d59a4e4684aab309363a711b30006" + hash: "fb84bbce52e9c4dc4efc1eed7e863007" } Frame { msec: 4096 - hash: "a11e332de151b43051796e16dbcf75c3" + hash: "df5d88d8421af767057fc4b3d0de23b1" } Frame { msec: 4112 - hash: "1a0e82029ae107cb2a018786752433ff" + hash: "dae3e3e10fe7e0ddcf10a7bb4ecc3f1a" } Frame { msec: 4128 - hash: "b14c51977c7fbf51f9cf6fec309bff6a" + hash: "eb15ba34411afd416dea5bc2b18cfb27" } Frame { msec: 4144 - hash: "2b418f811992399c3f87c268db745632" + hash: "5f51ade6a1400093e9dd2b80d6f7a6ca" } Frame { msec: 4160 - hash: "0e9a056207053ca98c4e9f42de244c62" + hash: "5e240752b752ca2ed4e6087f4deb0fbf" } Frame { msec: 4176 - hash: "1945c3f9e3a1337e7d111e15adea345f" + hash: "ae1931b9f168211c44c7269a245635fd" } Frame { msec: 4192 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4208 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4224 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4240 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4256 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4272 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4288 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4304 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4320 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4336 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4352 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4368 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4384 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4400 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4416 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Key { type: 6 @@ -1246,31 +1246,31 @@ VisualTest { } Frame { msec: 4432 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" + hash: "83588693715deadea8b875d6c6547371" } Frame { msec: 4448 - hash: "1945c3f9e3a1337e7d111e15adea345f" + hash: "ae1931b9f168211c44c7269a245635fd" } Frame { msec: 4464 - hash: "0e9a056207053ca98c4e9f42de244c62" + hash: "a8e4b69162a6298929c12a91e60f20c1" } Frame { msec: 4480 - hash: "2b418f811992399c3f87c268db745632" + hash: "ca4694bbbdc206c46600c894ed853390" } Frame { msec: 4496 - hash: "b14c51977c7fbf51f9cf6fec309bff6a" + hash: "21b2f2ee716d6b28066d44bfdc57babf" } Frame { msec: 4512 - hash: "1a0e82029ae107cb2a018786752433ff" + hash: "d37df25a59f3ba88b78f548521a6e5b2" } Frame { msec: 4528 - hash: "a11e332de151b43051796e16dbcf75c3" + hash: "b554cb62b97bbbb671d9b34389d4187a" } Key { type: 7 @@ -1282,75 +1282,75 @@ VisualTest { } Frame { msec: 4544 - hash: "1f4d59a4e4684aab309363a711b30006" + hash: "d28889303f98c47665247009bcfd68e7" } Frame { msec: 4560 - hash: "786e6e8b9e74876a6f393d61a78b8fc7" + hash: "80e7808641fc79c893a02842f641249b" } Frame { msec: 4576 - hash: "9dc38985113124130e2ca7950e0bd144" + hash: "4f3a39e8c61ad9197e7f24058671e510" } Frame { msec: 4592 - hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76" + hash: "ba2a7178b7c68001ecfdfea053507d0e" } Frame { msec: 4608 - hash: "31f6a4adf31be5ed0af0ea4097e3acee" + hash: "ca1c72729c41845151820d362721a1e7" } Frame { msec: 4624 - hash: "59657ee9293c03f064d62de826931435" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4640 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4656 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4672 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4688 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4704 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4720 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4736 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4752 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4768 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4784 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4800 - image: "gridview2.4.png" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4816 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Key { type: 6 @@ -1362,27 +1362,27 @@ VisualTest { } Frame { msec: 4832 - hash: "23aa652a0de7fced4a780d72f0940a1b" + hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f" } Frame { msec: 4848 - hash: "d46eea049d6156a5e85d9c6811d9d367" + hash: "1176eed6f023a843a646517e60f848b5" } Frame { msec: 4864 - hash: "d5796ae85247cb8502f92f0d044e4e1f" + hash: "26eca367a7fe38ac123fa63cfbb20421" } Frame { msec: 4880 - hash: "90987ac49c1a4e6b668436e3ff631e6c" + hash: "d471f06d345e5a09bf4ea540b80fe1e3" } Frame { msec: 4896 - hash: "c38d69759ad80242b1fe83ba191cd421" + hash: "e3694d271e363df1b212d975a464df62" } Frame { msec: 4912 - hash: "09d08aed76a04e492d8a39cc4dd2b8f5" + hash: "3dc24a10bbf6a6a0ba85f50de8646305" } Key { type: 7 @@ -1394,175 +1394,175 @@ VisualTest { } Frame { msec: 4928 - hash: "9671d2ff9a2ef46ce3c750a1965404a4" + hash: "08e7979e36a9a8a500193020ab68c616" } Frame { msec: 4944 - hash: "f55857816d666ece4a7987a70883b3d1" + hash: "bd91601e455c2c37c786f907bd20b447" } Frame { msec: 4960 - hash: "a2d80527b30316d9120b057bbfcfa666" + hash: "e4b676fc9752f3bff5353a2bf528b3ac" } Frame { msec: 4976 - hash: "87ca69287c1469cbc7e65d1673016de7" + hash: "c772188a68cc0958c247145005d580ef" } Frame { msec: 4992 - hash: "51588c7ebbe2dcd87a3c9bebf028aee3" + hash: "eded946d9e7c6418e3933624fe2f1dbf" } Frame { msec: 5008 - hash: "917a9a171273fe9fd4c450eeed6f58ed" + hash: "46a2dd2bfa66a3781a00fe466e05eeb0" } Frame { msec: 5024 - hash: "6e7ade250a9a9692caee2a220dd2ac53" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5040 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5056 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5072 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5088 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5104 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5120 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5136 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5152 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5168 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5184 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5200 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5216 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5232 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5248 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5264 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5280 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5296 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5312 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5328 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5344 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5360 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5376 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5392 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5408 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5424 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5440 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5456 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5472 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5488 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5504 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5520 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5536 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5552 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5568 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5584 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5600 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Key { type: 6 @@ -1574,31 +1574,31 @@ VisualTest { } Frame { msec: 5616 - hash: "ca2dcb16d553889a3a57b48700c2a595" + hash: "4e11a072f1136c2c6298e6cfb25700dd" } Frame { msec: 5632 - hash: "c5c9aab9bea757f1c451e89df72bd836" + hash: "e44ee0f83cbd176620d5c91851402b5b" } Frame { msec: 5648 - hash: "a8cf3085f8c3b743f3f15db1ad7b8801" + hash: "c18bc8109b350673faf64b4722e86f3d" } Frame { msec: 5664 - hash: "c25a92050eced1c304506572723273a3" + hash: "1b552ed8555c61e1fa664e6c88aee64d" } Frame { msec: 5680 - hash: "cff981039c1a3eb6c3c1a20f142fbae2" + hash: "11284c77b23ba4b4b0c664b387dc9d48" } Frame { msec: 5696 - hash: "930765587fe3355873bbdff66b812b74" + hash: "fbd015d60a8ada6a671301d01846b4c8" } Frame { msec: 5712 - hash: "6a60f97c7b39add465e1bd366e9c644b" + hash: "1456fca256ab6fdf930dd079ee8b77a7" } Key { type: 7 @@ -1610,99 +1610,99 @@ VisualTest { } Frame { msec: 5728 - hash: "7a1fd3c488d1064a75dc598c9a773291" + hash: "bf7f688319a89ade564734d7fc658167" } Frame { msec: 5744 - hash: "e2ecd7e68e27eb3d2dcb5e368d3ee5a0" + hash: "68819e722d6032881824448ed63248b2" } Frame { msec: 5760 - image: "gridview2.5.png" + hash: "510589f35813c6c1d6484f614da92ae3" } Frame { msec: 5776 - hash: "20f3aaca2efc3066076e73d1d95e5363" + hash: "03714e1fe57c2a438b0c89374a0d51b4" } Frame { msec: 5792 - hash: "b18d476cadc36e22dddc3185f595c123" + hash: "37f9e630ac66e999046d686078cf5a68" } Frame { msec: 5808 - hash: "8cbc47555178c8ee355774eab17b4b19" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5824 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5840 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5856 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5872 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5888 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5904 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5920 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5936 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5952 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5968 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 5984 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6000 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6016 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6032 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6048 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6064 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6080 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6096 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Key { type: 6 @@ -1714,39 +1714,39 @@ VisualTest { } Frame { msec: 6112 - hash: "e488fb76fb550fba51b95bee3fee80d5" + hash: "b534ccea1f69ececc54d943e73b7e9f4" } Frame { msec: 6128 - hash: "8c2fab0c73d1cfbeeb0ec937085d6b3b" + hash: "f45eb6005981864d7e4d1379a4390b02" } Frame { msec: 6144 - hash: "5d9353517177ef7c6314d8a65cb009ec" + hash: "a644905acb7cf6e4d9351f1140985a98" } Frame { msec: 6160 - hash: "ed8de504f7e2028cd369c1555314fd81" + hash: "011be55b909843b2506c5a97e7571e51" } Frame { msec: 6176 - hash: "8fe84d8badbe5bd08d097ba6bda10611" + hash: "35b224d84ae3a4bdba0ace487471f0a6" } Frame { msec: 6192 - hash: "d77419a55a3cf933505e793bb258e6af" + hash: "dcfd5536e6065a19650fe67914211223" } Frame { msec: 6208 - hash: "457ac82be02e2f5e08e51ccc78c94781" + hash: "8ad99c352901c54ecc601ca2ac8c1f08" } Frame { msec: 6224 - hash: "e57e2852f065afff9c24c5bc9f29edee" + hash: "e4774d15b45865b9f445f679cd0414ea" } Frame { msec: 6240 - hash: "f72cd6ad3324936c3a18c264e23e05a9" + hash: "a5b78dfb09b9031f0aabfa7439cbc433" } Key { type: 7 @@ -1758,127 +1758,127 @@ VisualTest { } Frame { msec: 6256 - hash: "a4bf7eae6fc7a05239d09421ae95304a" + hash: "20b87dc26080f8e8e070b2fa299f496a" } Frame { msec: 6272 - hash: "423f3bd07df8bee25818644c07201a3c" + hash: "0e6d05d1df8328ca17d953476d19ae14" } Frame { msec: 6288 - hash: "225e9c698424f287b9458b7839b4479b" + hash: "e2b1ec6b985bbc57f0384a49f3af545c" } Frame { msec: 6304 - hash: "0f463db7e4acc184a4efb7b5e5c0d397" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6320 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6336 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6352 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6368 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6384 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6400 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6416 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6432 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6448 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6464 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6480 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6496 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6512 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6528 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6544 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6560 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6576 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6592 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6608 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6624 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6640 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6656 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6672 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6688 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6704 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6720 - image: "gridview2.6.png" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6736 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Key { type: 6 @@ -1890,27 +1890,27 @@ VisualTest { } Frame { msec: 6752 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" } Frame { msec: 6768 - hash: "738f6bcc043d221488285c7e529b1d1c" + hash: "6cbeb42ae5aa75638fedcaf38d25370a" } Frame { msec: 6784 - hash: "cb0a4e8e79372dd67e8ecfea2143a47c" + hash: "fe3b287b14cbfbca4e19a2de979e9e16" } Frame { msec: 6800 - hash: "544d1825b36f4e7950c1a62b26c1fd9b" + hash: "69650da29b84b8009c30de516fb9b623" } Frame { msec: 6816 - hash: "df99396622342b4f092b0db34a224c3d" + hash: "5cbcaf1e6916aa635e31ac4219e387f7" } Frame { msec: 6832 - hash: "47391f51e5df2249a6ca1f1f6e8e80e0" + hash: "acb7f98da26b70bebe20336c51449318" } Key { type: 7 @@ -1922,19 +1922,19 @@ VisualTest { } Frame { msec: 6848 - hash: "d8079a874ca18d00aeeb611effcbeb8b" + hash: "8588b82fadca8ea18d4cc268508119e0" } Frame { msec: 6864 - hash: "4cfd9264af6935aca425da75ebb2d7cc" + hash: "e2cf9055220b1c8126423df30e3607ed" } Frame { msec: 6880 - hash: "aee6547cb653cd2d56d07285d836149d" + hash: "d06e77ff2044ba3f6fc1664af5720a0a" } Frame { msec: 6896 - hash: "969720f17eae51258e2e143e14bfa737" + hash: "b931ef84ecc38676d602638081b1f126" } Frame { msec: 6912 @@ -1998,203 +1998,203 @@ VisualTest { } Frame { msec: 7152 - hash: "beeaec4b983c970ae448e33047dfdfea" + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" } Frame { msec: 7168 - hash: "7c415ab1b7d8e25b71af75d3eec8ee4a" + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" } Frame { msec: 7184 - hash: "8913037e57b9a6a58b68f2d6e69b1bd1" + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" } Frame { msec: 7200 - hash: "19e59e9409fdaf90ccf75606b58688b7" + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" } Frame { msec: 7216 - hash: "1ae71ef5b1006f637bd8df0769af65a6" + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" } Frame { msec: 7232 - hash: "1f0aa8b368b2dbccafd54b923d8cce95" + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" } Frame { msec: 7248 - hash: "c5079fb25a8c80a995d7aa5fbbd91428" + hash: "d30ed063d99d02f6d8302847e83d60a1" } Frame { msec: 7264 - hash: "59f41220fa5d23db298c9e94f115c17b" + hash: "30b128c6248cb35ee4c55e1c2129a19c" } Frame { msec: 7280 - hash: "48259dfe8b266d9e7f50b187be98c3cb" + hash: "1ae71ef5b1006f637bd8df0769af65a6" } Frame { msec: 7296 - hash: "f7554552598351c3b8dfcbe3ebc32b3b" + hash: "6bd6f0c35aeede01d1a8e42c81cd6fb8" } Frame { msec: 7312 - hash: "219e9cd84d7e5c5c0e6cb80100aa3ab5" + hash: "ca90dcb70d416616dcae2df84956cff1" } Frame { msec: 7328 - hash: "5578e870ee8ce00bce5a59bb25e3d0a9" + hash: "a33bc4f7c40fa3eb36803c20222d75f6" } Frame { msec: 7344 - hash: "4d9cebbf750c03380694245e0e22ab94" + hash: "12430a710362b47fef8dfc022b789e07" } Frame { msec: 7360 - hash: "a60a8032e97ed0a3caa05012c1283de5" + hash: "a18abef207f5f6bbd260ca98cce91380" } Frame { msec: 7376 - hash: "3bee20b349a7e9d67f7770ede6da8673" + hash: "e853ea2eba5e3baeba0f43e57d2415ba" } Frame { msec: 7392 - hash: "d8c34576c25fb8b5e4fa12680ac32e99" + hash: "294cff3e6d3a1101f76d2ecce14e11a1" } Frame { msec: 7408 - hash: "cd1360aa7db7c3b2f2012dfc44de2198" + hash: "c38ee992a1b435c12a66e4d49d78c2ed" } Frame { msec: 7424 - hash: "cd82782f63c9a7d21d51b3440c2f038b" + hash: "54775aed3a6283c1fa330d65de5bc70c" } Frame { msec: 7440 - hash: "e59061967a841aa45607c0828b687527" + hash: "eba9a696d9ab1e8da7c6c59787d3f311" } Frame { msec: 7456 - hash: "01962406c9aaf1aa8bf3ab49e30ddf5f" + hash: "2048cd8abb56be34f9e475d7f92b6153" } Frame { msec: 7472 - hash: "5a5732a568189e598c7985ee806bc67e" + hash: "d56b4a04f1d2835a0852ea20e8e2f451" } Frame { msec: 7488 - hash: "54775aed3a6283c1fa330d65de5bc70c" + hash: "f5afb489b7aee20b45c9f5eb5a9eb8d7" } Frame { msec: 7504 - hash: "66640b4a5c1e68924b25de24e3c3f008" + hash: "26f25129f9d2c73a7a5168c73e299919" } Frame { msec: 7520 - hash: "76999d3125f20ba47dbdff38ee722a8a" + hash: "6f23e3c4ec738903b5011cbee1141b00" } Frame { msec: 7536 - hash: "5159c81533bee8825cff11910bcb90dc" + hash: "e10d4bf08980ea7d079a2f359ee62b95" } Frame { msec: 7552 - hash: "ac0295495345987d1e000f6bb2436927" + hash: "eb0a656e8feabcb131e59c66b64f7d09" } Frame { msec: 7568 - hash: "d56b4a04f1d2835a0852ea20e8e2f451" + hash: "94cfa3f71326f6e188fee32c0970de30" } Frame { msec: 7584 - hash: "ae41fe23e2ab508d7642973c0d9d35b0" + hash: "8bc4274a3f0498d600405409f69c1d16" } Frame { msec: 7600 - hash: "730ca01fbee6ec4928715ec52773c06c" + hash: "995cb12e1d07488ae4139d2c67552dc6" } Frame { msec: 7616 - hash: "ad1fa52c617a2b119d61eb9fb7d58a82" + hash: "2d9d9f3fb43e2280b0dea054dc8d7dd4" } Frame { msec: 7632 - hash: "c74321a822b515a393e8e218bd45e8e3" + hash: "dd68eb502e1fe114a24d902b50a5dff9" } Frame { msec: 7648 - hash: "a9e2f3bee1d47166204c74bdf90cd8c8" + hash: "b2738b11e34c5d7840e9aacc443cc1f0" } Frame { msec: 7664 - hash: "e10d4bf08980ea7d079a2f359ee62b95" + hash: "de148713c156476ca7c4021633596782" } Frame { msec: 7680 - image: "gridview2.7.png" + hash: "0e273dbaaab76058b6e04a830bbd80d3" } Frame { msec: 7696 - hash: "9f0ba6051e684e54ff4e36d980a7e600" + hash: "5b3d4cd60019fb3382534949342f63ce" } Frame { msec: 7712 - hash: "aa6268d8d7fb3d2b91db3e225e8c818a" + hash: "5dcad019a1c0eaaab381a7602e1914ff" } Frame { msec: 7728 - hash: "8e547e55279b1929f42bf51e753f142e" + hash: "e046dc0869cc629de5037214af1d58f8" } Frame { msec: 7744 - hash: "5386c71f8d6701379e177f161d714da2" + hash: "affc71688994d6b6763e78305ba1d6b3" } Frame { msec: 7760 - hash: "a184e9e6012c72fc1aeaed9f98b0fb1e" + hash: "d5ec397fdf17bf864e4575543c535dad" } Frame { msec: 7776 - hash: "777a6b70ca77c45e2e5e3914cc328dcb" + hash: "b37cb5816c2077b8018f78985b91fdeb" } Frame { msec: 7792 - hash: "424f73f25a1e91126f951838d45adc3b" + hash: "a3060fa79b1f7f0d9e61ad8c69be19ed" } Frame { msec: 7808 - hash: "3f7f2eb6b9a5d19fbfcd700baf566dfb" + hash: "236dcbaf20e11335efc64b2ce87b551d" } Frame { msec: 7824 - hash: "c3c4c72b25c2295b82a5fd7454942f77" + hash: "09af1c488b56dc3c7c3893b024f6d53f" } Frame { msec: 7840 - hash: "3b35e93d3eb9d28c5c03d6d353f805d2" + hash: "ef2bf66ac68002102476d3cfe4501cb7" } Frame { msec: 7856 - hash: "5dcad019a1c0eaaab381a7602e1914ff" + hash: "165c02de63604aa118d9f8995e6b45af" } Frame { msec: 7872 - hash: "602a5c569555767413bf445af44c744f" + hash: "fb790a0e4bc20afe24639dadf50a03c0" } Frame { msec: 7888 - hash: "3e9facab95dae772f695b6f7c5175063" + hash: "881298b629aeaeb23fa9e9eb446912d2" } Frame { msec: 7904 - hash: "0921220ec36ca7b25eaae699872a2006" + hash: "2175ff436c42616147b2e71b91e34060" } Frame { msec: 7920 - hash: "1d5fa7fd630af62bcc805bdc6686df37" + hash: "85bc0cd40ddc08814a2c3677e7e43bcf" } Frame { msec: 7936 - hash: "165c02de63604aa118d9f8995e6b45af" + hash: "33d81c39d16c6a326012499796e50e03" } Frame { msec: 7952 @@ -2370,7 +2370,7 @@ VisualTest { } Frame { msec: 8640 - image: "gridview2.8.png" + hash: "33d81c39d16c6a326012499796e50e03" } Frame { msec: 8656 @@ -2391,7 +2391,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png index 5b7b426..dd992cc 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml index b88bd83..907480e 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" + image: "drag.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "drag.0.png" + hash: "668cc6d9d699b947a7c0f3ff4b26853f" } Frame { msec: 976 @@ -554,7 +554,7 @@ VisualTest { } Frame { msec: 1920 - image: "drag.1.png" + hash: "a611a57ed2bdf4eaa5e13612346ecce7" } Mouse { type: 5 @@ -1426,7 +1426,7 @@ VisualTest { } Frame { msec: 2880 - image: "drag.2.png" + hash: "9356ce797d12ae076af947cd0e658551" } Mouse { type: 5 @@ -2290,7 +2290,7 @@ VisualTest { } Frame { msec: 3840 - image: "drag.3.png" + hash: "668cc6d9d699b947a7c0f3ff4b26853f" } Mouse { type: 5 @@ -2962,7 +2962,7 @@ VisualTest { } Frame { msec: 4800 - image: "drag.4.png" + hash: "c6d398d42d968763c7597728e86304f2" } Mouse { type: 5 @@ -3850,7 +3850,7 @@ VisualTest { } Frame { msec: 5760 - image: "drag.5.png" + hash: "f0454d80a51c5f2226bd45aba58dc1e9" } Mouse { type: 5 @@ -4730,7 +4730,7 @@ VisualTest { } Frame { msec: 6720 - image: "drag.6.png" + hash: "bf4b18a73b53c0a554f9bb0ac32a465d" } Mouse { type: 5 @@ -5122,7 +5122,7 @@ VisualTest { } Frame { msec: 7680 - image: "drag.7.png" + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" } Frame { msec: 7696 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png index c9536dc..87305b3 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml index 50ef6e8..0371a26 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "cc1fd2f4c3be318052254a9b6be7a57b" + image: "mousearea-flickable.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "mousearea-flickable.0.png" + hash: "cc1fd2f4c3be318052254a9b6be7a57b" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "mousearea-flickable.1.png" + hash: "cc1fd2f4c3be318052254a9b6be7a57b" } Frame { msec: 1936 @@ -730,7 +730,7 @@ VisualTest { } Frame { msec: 2880 - image: "mousearea-flickable.2.png" + hash: "4a60ab820ca66548384b2257b21de8ec" } Frame { msec: 2896 @@ -970,7 +970,7 @@ VisualTest { } Frame { msec: 3840 - image: "mousearea-flickable.3.png" + hash: "4a60ab820ca66548384b2257b21de8ec" } Frame { msec: 3856 @@ -1474,7 +1474,7 @@ VisualTest { } Frame { msec: 4800 - image: "mousearea-flickable.4.png" + hash: "b66571ae47bf129be88dc66785a81a7d" } Mouse { type: 5 @@ -2090,7 +2090,7 @@ VisualTest { } Frame { msec: 5760 - image: "mousearea-flickable.5.png" + hash: "d75a43305e2884759ca41d7b1cbadf52" } Frame { msec: 5776 @@ -2338,7 +2338,7 @@ VisualTest { } Frame { msec: 6720 - image: "mousearea-flickable.6.png" + hash: "037386eb30a5e8d53a20a11258ee0f60" } Frame { msec: 6736 @@ -2578,7 +2578,7 @@ VisualTest { } Frame { msec: 7680 - image: "mousearea-flickable.7.png" + hash: "037386eb30a5e8d53a20a11258ee0f60" } Frame { msec: 7696 @@ -3178,7 +3178,7 @@ VisualTest { } Frame { msec: 8640 - image: "mousearea-flickable.8.png" + hash: "524db6ce45674c777d72f9206415be2f" } Mouse { type: 5 @@ -3546,7 +3546,7 @@ VisualTest { } Frame { msec: 9600 - image: "mousearea-flickable.9.png" + hash: "cc1fd2f4c3be318052254a9b6be7a57b" } Frame { msec: 9616 @@ -3794,7 +3794,7 @@ VisualTest { } Frame { msec: 10560 - image: "mousearea-flickable.10.png" + hash: "90cdfe8920f115fd55cde6fdbd95e867" } Frame { msec: 10576 @@ -4346,7 +4346,7 @@ VisualTest { } Frame { msec: 11520 - image: "mousearea-flickable.11.png" + hash: "72e75cfa62993593303b25cbff4af0e6" } Mouse { type: 5 @@ -4858,7 +4858,7 @@ VisualTest { } Frame { msec: 12480 - image: "mousearea-flickable.12.png" + hash: "86b32befe0dada5bdce82a7dd14777ce" } Frame { msec: 12496 @@ -5083,7 +5083,7 @@ VisualTest { Key { type: 6 key: 16777251 - modifiers: 0 + modifiers: 134217728 text: "" autorep: false count: 1 @@ -5106,7 +5106,7 @@ VisualTest { } Frame { msec: 13440 - image: "mousearea-flickable.13.png" + hash: "cc1fd2f4c3be318052254a9b6be7a57b" } Frame { msec: 13456 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png new file mode 100644 index 0000000..e2e90d2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml index 433fd82..63c2012 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + image: "mousearea-visual.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "mouseregion.0.png" + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" } Frame { msec: 976 @@ -634,7 +634,7 @@ VisualTest { } Frame { msec: 1920 - image: "mouseregion.1.png" + hash: "73f1639b9e2164c7b974042934c0d151" } Mouse { type: 5 @@ -1002,7 +1002,7 @@ VisualTest { } Frame { msec: 2880 - image: "mouseregion.2.png" + hash: "73f1639b9e2164c7b974042934c0d151" } Frame { msec: 2896 @@ -1386,7 +1386,7 @@ VisualTest { } Frame { msec: 3840 - image: "mouseregion.3.png" + hash: "73f1639b9e2164c7b974042934c0d151" } Frame { msec: 3856 @@ -1698,7 +1698,7 @@ VisualTest { } Frame { msec: 4800 - image: "mouseregion.4.png" + hash: "12edb0902e4d480c9052b00edc1a0a42" } Mouse { type: 5 @@ -2202,7 +2202,7 @@ VisualTest { } Frame { msec: 5760 - image: "mouseregion.5.png" + hash: "12edb0902e4d480c9052b00edc1a0a42" } Frame { msec: 5776 @@ -2474,7 +2474,7 @@ VisualTest { } Frame { msec: 6720 - image: "mouseregion.6.png" + hash: "12edb0902e4d480c9052b00edc1a0a42" } Frame { msec: 6736 @@ -2738,7 +2738,7 @@ VisualTest { } Frame { msec: 7680 - image: "mouseregion.7.png" + hash: "12edb0902e4d480c9052b00edc1a0a42" } Frame { msec: 7696 @@ -3082,7 +3082,7 @@ VisualTest { } Frame { msec: 8640 - image: "mouseregion.8.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Mouse { type: 5 @@ -3538,7 +3538,7 @@ VisualTest { } Frame { msec: 9600 - image: "mouseregion.9.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Mouse { type: 5 @@ -4418,7 +4418,7 @@ VisualTest { } Frame { msec: 10560 - image: "mouseregion.10.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Mouse { type: 5 @@ -4690,7 +4690,7 @@ VisualTest { } Frame { msec: 11520 - image: "mouseregion.11.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Frame { msec: 11536 @@ -4978,7 +4978,7 @@ VisualTest { } Frame { msec: 12480 - image: "mouseregion.12.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Frame { msec: 12496 @@ -5314,7 +5314,7 @@ VisualTest { } Frame { msec: 13440 - image: "mouseregion.13.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Frame { msec: 13456 @@ -5730,7 +5730,7 @@ VisualTest { } Frame { msec: 14400 - image: "mouseregion.14.png" + hash: "194ebac4ae7d95bf427f8161885a13e1" } Frame { msec: 14416 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png index da77af9..88924b1 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml index 3fec1ef..b307141 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "b4df49cbd7cf972af9879399808f6c53" + image: "particles.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "particles.0.png" + hash: "d52c30bc201afd3d1caf34efcddafdee" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "particles.1.png" + hash: "57976a66963718e90c62535a936d9251" } Frame { msec: 1936 @@ -722,7 +722,7 @@ VisualTest { } Frame { msec: 2880 - image: "particles.2.png" + hash: "ac6878edac61916bf424dcee2d7790e8" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml index e3baa4d..bd480cc 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "cffe9de189a5c9bed3d98f8803b47212" + image: "test-pathview-2.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "test-pathview-2.0.png" + hash: "cffe9de189a5c9bed3d98f8803b47212" } Frame { msec: 976 @@ -570,7 +570,7 @@ VisualTest { } Frame { msec: 1920 - image: "test-pathview-2.1.png" + hash: "f5ba4db3c12a466791dc657e10d5d380" } Frame { msec: 1936 @@ -890,7 +890,7 @@ VisualTest { } Frame { msec: 2880 - image: "test-pathview-2.2.png" + hash: "51203c662d086a15cecc390f0aeeac0d" } Frame { msec: 2896 @@ -1130,7 +1130,7 @@ VisualTest { } Frame { msec: 3840 - image: "test-pathview-2.3.png" + hash: "5e21e09fa0ec2b1e9f29be60100c40f2" } Frame { msec: 3856 @@ -1586,7 +1586,7 @@ VisualTest { } Frame { msec: 4800 - image: "test-pathview-2.4.png" + hash: "5e21e09fa0ec2b1e9f29be60100c40f2" } Frame { msec: 4816 @@ -1922,7 +1922,7 @@ VisualTest { } Frame { msec: 5760 - image: "test-pathview-2.5.png" + hash: "13588d644d17394ac4f8997046089071" } Frame { msec: 5776 @@ -2162,7 +2162,7 @@ VisualTest { } Frame { msec: 6720 - image: "test-pathview-2.6.png" + hash: "a9c65a178a4b4598705bf736c0b1b595" } Frame { msec: 6736 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png index d94ea19..c6a9ca6 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml index 949807d..625f839 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "01b9c877f51b878ed262943aedcf89b4" + image: "test-pathview.0.png" } Frame { msec: 32 @@ -282,7 +282,7 @@ VisualTest { } Frame { msec: 960 - image: "test-pathview.0.png" + hash: "be9817e44df33d4018a174ce350c7244" } Mouse { type: 5 @@ -634,7 +634,7 @@ VisualTest { } Frame { msec: 1920 - image: "test-pathview.1.png" + hash: "79ad4a90ab449e3232db993b30786d89" } Frame { msec: 1936 @@ -914,7 +914,7 @@ VisualTest { } Frame { msec: 2880 - image: "test-pathview.2.png" + hash: "dd861293918ee3685ffc48f1670a19df" } Mouse { type: 2 @@ -1226,7 +1226,7 @@ VisualTest { } Frame { msec: 3840 - image: "test-pathview.3.png" + hash: "ff3df1951adc01e5046d807873b06992" } Mouse { type: 5 @@ -1554,7 +1554,7 @@ VisualTest { } Frame { msec: 4800 - image: "test-pathview.4.png" + hash: "6cddaed756ff1bcbd9a4627a4c8a44d8" } Frame { msec: 4816 @@ -1794,7 +1794,7 @@ VisualTest { } Frame { msec: 5760 - image: "test-pathview.5.png" + hash: "c0d0f62d9078f6be493d5545a2ae78ad" } Frame { msec: 5776 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png index f474afe..a02a00d 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml index 4b36e16..2366f71 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml @@ -6,1598 +6,1598 @@ VisualTest { } Frame { msec: 16 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + image: "dynamic.0.png" } Frame { msec: 32 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 48 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 64 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 80 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 96 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 112 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 128 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 144 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 160 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 176 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 192 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 208 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 224 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 240 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 256 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 272 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 288 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 304 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 320 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 336 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 352 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 368 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 384 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 400 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 416 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 432 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 448 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 464 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 480 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 496 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 512 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" + hash: "d203c2cb69cb0841827e14bddc206d1f" } Frame { msec: 528 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "453d5fb9d38f37bb8c23e376de76db06" } Frame { msec: 544 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "c4a103de3b7207b3c6277e8ecf79f7dc" } Frame { msec: 560 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "f58b0eb42d9b6ace87379f205da57550" } Frame { msec: 576 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "3384c5b5939d8297e0834c7cd347d579" } Frame { msec: 592 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "420b55371c69c6e1a17ef85a600c75d1" } Frame { msec: 608 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "55cc6fb3424ef69d316ef29f6563a025" } Frame { msec: 624 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "045b5ac545e69777b814423f77575990" } Frame { msec: 640 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "45b05241e8e83180a8d92a37dc859ce0" } Frame { msec: 656 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "97915dfbe4943e1f583ee134bc7a0117" } Frame { msec: 672 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "9b4ce5ed20dd81698b4dd8e48f799c5c" } Frame { msec: 688 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "24bdcea108cdbb3898a4d9216e9f9510" } Frame { msec: 704 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "d1427093b1a375e86a69c6f65cb1f8e5" } Frame { msec: 720 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "43dd666b15697ae18eb2410017256e4c" } Frame { msec: 736 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "8043755f5a8a528353f1e7c310a46a97" } Frame { msec: 752 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "d6b2ef0cb81395cd7454392aed4571f0" } Frame { msec: 768 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "c249fd272e02cbdde972e85fc6dac695" } Frame { msec: 784 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "1df5f8fce7b0c102e9902912600054e7" } Frame { msec: 800 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "a9d16b180634620e3fe6caacb730885b" } Frame { msec: 816 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "7228ce597720520bc12911fdef70ca86" } Frame { msec: 832 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "1faa5c3e72740941234ff4a93388edc9" } Frame { msec: 848 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "997ee1c6d5838153182473a3724df4ad" } Frame { msec: 864 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "6ebbc0a0427825ea701f5bb4758f11a2" } Frame { msec: 880 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "a2ac19360d631fd6d58f8a5ee85e40b4" } Frame { msec: 896 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "17a5842b47a220bb8bd74a368cea6c1f" } Frame { msec: 912 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "b37bae9c3384c068a7dd4f1135d3bfaa" } Frame { msec: 928 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "65ffb0b6629364ebc687da7785601abd" } Frame { msec: 944 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "27c7a43515fb2d8cddde42263f6ac9df" } Frame { msec: 960 - image: "dynamic.0.png" + hash: "cc292df8a090c08d135dedf5e2a0af7c" } Frame { msec: 976 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "53540ff71d74d705a7f19325b50f81ce" } Frame { msec: 992 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "59735c8372774b50052d15232d2f6d01" } Frame { msec: 1008 - hash: "62727b1025930e19bb03c8f533a12ced" + hash: "9c239c4439009465dd91606ac84a3bf0" } Frame { msec: 1024 - hash: "3e52e7d7d428cf1b850cb9c60dbb3c21" + hash: "8b9715d6468c8501895545bd84bf7f57" } Frame { msec: 1040 - hash: "64f75ab14c979d33d6e0c0d86b76cd35" + hash: "0f7a123bfff1dbe059b6ceb3a3f44180" } Frame { msec: 1056 - hash: "c198a48f4050f176465649d203d6e09a" + hash: "c1bc31a379d15ca67d0ffc7139800b3f" } Frame { msec: 1072 - hash: "6dd8cee5a585a96e78f2cf7478c4da62" + hash: "ebf470cd7cff4a836da9e721acfd327d" } Frame { msec: 1088 - hash: "09edfbce2ea4b8a547f769ce709dcb6b" + hash: "e2b89846459f8ae48117ab4393d493bf" } Frame { msec: 1104 - hash: "e93d01aa6e4f5d3fc82cf5a008e3ea17" + hash: "5b980dcc070faf4ab4099cd5f711259c" } Frame { msec: 1120 - hash: "0e2e7b5eec0e62853972b0139b8c17c6" + hash: "4640ed55c1608d76109407279a1f02db" } Frame { msec: 1136 - hash: "26d4f54628ce20f5665bdc6ddc7f3b6a" + hash: "d839b597a3afef61de7b14ffb7ae518e" } Frame { msec: 1152 - hash: "59836aa6eff85b0152be352b97076d89" + hash: "2810e01355c32d3f7a9352676e6b5eef" } Frame { msec: 1168 - hash: "47cc9894096731a52ca342ab04df9aad" + hash: "f1ac8b222e0068320827564e759e87ba" } Frame { msec: 1184 - hash: "ec95dd3b34a0f17f6fb9b5bedab73653" + hash: "7da89563319dd4045e7f9c40a712d722" } Frame { msec: 1200 - hash: "e32c2b70882828b5082ca3ec889a0dde" + hash: "09c55dba364e484eec1a1badb4319003" } Frame { msec: 1216 - hash: "68d3f8e9c9d5388a6f8360368c8f4d2f" + hash: "defd5c9a8003c58a7bef1930efdd6f29" } Frame { msec: 1232 - hash: "17378b2bd8bde7f357fa5463f457c7b2" + hash: "0f84e515b41b5c064ece9002e5edff0d" } Frame { msec: 1248 - hash: "03db786cd54ec34ce8db15953a5fc847" + hash: "d1a0405a18fe5b54e79ca0cadf46743b" } Frame { msec: 1264 - hash: "9e22a82a622ed0287c44cc629059d5bd" + hash: "6046feb2fad386ae25ddd0d0e8ecb673" } Frame { msec: 1280 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "b4374b0d9d709b0d7a9f8949616a16bf" } Frame { msec: 1296 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "4d9d7d28f32ce2acd14c8dca0bc11fa0" } Frame { msec: 1312 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "384afb63bdf34729132ac57080fa2988" } Frame { msec: 1328 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "44ac2a9783c450a8c39b09387f0439e2" } Frame { msec: 1344 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "26e1dfc2b54370f94881c2341b6e0618" } Frame { msec: 1360 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "be47d72ae7c57e255706a8a5afe1fd3f" } Frame { msec: 1376 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "92cb490b081bccedf0bbdee86dbc50ed" } Frame { msec: 1392 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "1f0a09601474246e94c5ec3763cfa83e" } Frame { msec: 1408 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "73f1a5c57a2c96e18ba894a7adb9a014" } Frame { msec: 1424 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "8aa130cf4b2706afc8d582ee4c5f510d" } Frame { msec: 1440 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "1c0de0f1f4aa5f44bdf774169296487d" } Frame { msec: 1456 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "1e9b701ee63effb760e733ac623d75d7" } Frame { msec: 1472 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "c30620b6d5d41937217fa9d3e0bf367d" } Frame { msec: 1488 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "1f96e1da113d4a6cdb7179771ef7967d" } Frame { msec: 1504 - hash: "42955cd23747f7c37d0f0229c0955e90" + hash: "aa31458e44ba42a633421e8688a3af7e" } Frame { msec: 1520 - hash: "981fb1ee75e307b548a32df08a86f4cd" + hash: "a7a560c05566d0bbea3f2bf397a0063a" } Frame { msec: 1536 - hash: "f77568307e93d8cd9f0ae417cc19d6e3" + hash: "fdd290bc46b86a11afdffb95570d9a67" } Frame { msec: 1552 - hash: "3bdd4468e26aceee0dad6b3b97b1c1ea" + hash: "46574d7bfc15bc5b9124eb0e12741724" } Frame { msec: 1568 - hash: "252c9ebc2c32755b2289ee1b03877fe3" + hash: "aed2015031da6c7e5064fe5fcd1e86e3" } Frame { msec: 1584 - hash: "64169b7eb7b7ae8573556c5f80230965" + hash: "dea39f30e686771ca516ac32e3dc4cb0" } Frame { msec: 1600 - hash: "4965dfa709a9ac7d8f7dfb4bf8303c65" + hash: "4a9839f52a7ee6732c5e18c0d67534be" } Frame { msec: 1616 - hash: "8c53cf92510154087341ac65a93aae5a" + hash: "df21723df1031542483684ff92aaf40a" } Frame { msec: 1632 - hash: "4dd7502e3e238743d2f3cf038270491e" + hash: "53683b7b52d0940aac744f0ef03a4527" } Frame { msec: 1648 - hash: "cd9a58316837eb92f4ac92dbd86bdba3" + hash: "e6177b60c5586e79ca82e1bc7af41737" } Frame { msec: 1664 - hash: "5de043e3ac8696b59293a2fa60ed7e65" + hash: "592a60e226aa6967a8a41bc0e4288583" } Frame { msec: 1680 - hash: "1bf42a6f6be5a3468d2f47cccfac761e" + hash: "534512915d800d00350803c3fdcccaf3" } Frame { msec: 1696 - hash: "ca05510c1ad25e5d3b002603f4379a09" + hash: "a01ffd7ab177f850f3d8320da19a03ce" } Frame { msec: 1712 - hash: "f6904a918a6475f1965d74372e52a4b1" + hash: "15bd47f2c5c8cefe7565790b429aa6a4" } Frame { msec: 1728 - hash: "9e2312ddfc1648b615288107a06c9f9c" + hash: "b90692eafe68c2b04057af887617667c" } Frame { msec: 1744 - hash: "95c470273b1cb08d4d602efcce339554" + hash: "edb22bd93a83de0cd3a046ed5a513ece" } Frame { msec: 1760 - hash: "dade96f707d4a21885480e13b258b7e9" + hash: "f08fa88d05f48c42dd1eba538dc464d4" } Frame { msec: 1776 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1792 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1808 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1824 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1840 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1856 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1872 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1888 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1904 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1920 - image: "dynamic.1.png" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1936 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1952 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1968 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 1984 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2000 - hash: "0bfbd46f1d4cf562253fb383776cb601" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2016 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2032 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2048 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2064 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2080 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2096 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2112 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2128 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2144 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2160 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2176 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2192 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2208 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2224 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2240 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2256 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ec46803523ee0516ed2c89923ff2ded7" } Frame { msec: 2272 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "6b8b68e359f532729bf25a6851563ad7" } Frame { msec: 2288 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "1ee3cf0c3c738a909f1b40b4ef49ac50" } Frame { msec: 2304 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "71889e0f81eeb252dd91a46af5ce24e7" } Frame { msec: 2320 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "99390a696ac524d752672df6f2136fa3" } Frame { msec: 2336 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "00919914f1623bb260e0f99b471aa182" } Frame { msec: 2352 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "64bd7ff1518a3e84c4b40511c5c0ff2d" } Frame { msec: 2368 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "b68da721bf79592e49408b098f72e884" } Frame { msec: 2384 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "6a8ca937b7c961c403ab1662d170c1a5" } Frame { msec: 2400 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "3f4034da4cd71738d1130c3baa38cf9b" } Frame { msec: 2416 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "97a86d3c04d07508604b46732b121edd" } Frame { msec: 2432 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "42e9ab3ed744d1a9a7eb5b7a206f29b3" } Frame { msec: 2448 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "ff86192c1b9c0faabb5563260cb1bff2" } Frame { msec: 2464 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "e1de0e431b971deb546935b6b2fc78e7" } Frame { msec: 2480 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "b7817a7f15d8e727e25719de8cc7d50a" } Frame { msec: 2496 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "66772971897fc00d01d067e5fc38f848" } Frame { msec: 2512 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" + hash: "175db8c0324af4c206f9673f0a8d0477" } Frame { msec: 2528 - hash: "fabf4e535bc4cc17497939d2eeae4a2d" + hash: "f3dea687e0ca335b987b6b3c7d736469" } Frame { msec: 2544 - hash: "a7981035f46869f5ae824d0c58b263b2" + hash: "44d035dd8e302b75c5a7f98a2005fe75" } Frame { msec: 2560 - hash: "86d8e369bdceb499b244f84ed9e80ba3" + hash: "140cf53cb6873b14e6263537f84b0aa0" } Frame { msec: 2576 - hash: "e28a7dc7ea8690da75670b5a6e93a26b" + hash: "6c9090d4488289e69562747271459d7d" } Frame { msec: 2592 - hash: "bf4e815360a67bd80732bd8812269b21" + hash: "49e92db256f5be8c4e35566eea8fca70" } Frame { msec: 2608 - hash: "a6f8c56cb93da8acc0c90e35596a60d4" + hash: "80f41d2eb743ee13fcc486651e310fe2" } Frame { msec: 2624 - hash: "1e60656f0758605169e51b57bd03af36" + hash: "f581fdcaf30c0efd4518e538e88c2ebf" } Frame { msec: 2640 - hash: "c069b26b9fae47e0104070d702ba9562" + hash: "c028db6753cf60bf587e6c46080a31ea" } Frame { msec: 2656 - hash: "457eb2ca1adff6cbb158afa140b2f20b" + hash: "231b69aa9bdadbaf47cbfbc44a322a51" } Frame { msec: 2672 - hash: "4e5e750b0d94b6777aebff85d38225d9" + hash: "f0bcc02aaab3fad2ff53fc2d7541d4aa" } Frame { msec: 2688 - hash: "96d9840c2354a8786a8470309be97544" + hash: "80e34154585ba3480e37eaac6bfa396c" } Frame { msec: 2704 - hash: "ac7570cc7eeff1acd8c47f2d9328f8be" + hash: "e1ebf3ba98b2df53ac9f72744034ba6d" } Frame { msec: 2720 - hash: "887f937bb263c54f29659f27f2b7a3e3" + hash: "b8f749a58888f90ed5cabe7aa2eee1ee" } Frame { msec: 2736 - hash: "616371183c82b97f69a4c6e2367b8066" + hash: "3a78458aa124a331f5b1616be5eea914" } Frame { msec: 2752 - hash: "36de8ffa9abe850fb681b37aea45ef8b" + hash: "c442c02859bc35a8e5493200e68b1730" } Frame { msec: 2768 - hash: "0505101f0edaaf7ff17deeaaddc6bbf9" + hash: "0cc4d24a1e1fa75a339a5b3dd07f18f3" } Frame { msec: 2784 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "0d124bc578058db99e32d58f4b412758" } Frame { msec: 2800 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "fc174a039606c5457532c9ac27c6faec" } Frame { msec: 2816 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "db5d25d7c01605ec81cdab3e239a1f0f" } Frame { msec: 2832 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "7dcffdbf9ac992aac0751bed5c38a0eb" } Frame { msec: 2848 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "b59dc4f39b3e032d5cd34ffca098889f" } Frame { msec: 2864 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "925d232189a3eee4bae08a8fe86a488b" } Frame { msec: 2880 - image: "dynamic.2.png" + hash: "4ab3a889e27de8f45670c240f6d452a6" } Frame { msec: 2896 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "235bf197b3867c734c4f4ead9db466d1" } Frame { msec: 2912 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "9b8629b588dcb840fcd32f73f66016ee" } Frame { msec: 2928 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "dca8e45e930314a860f36343f4577738" } Frame { msec: 2944 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "b68f3b38e154b65225211c6a1ca8ddb8" } Frame { msec: 2960 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "d8168aea7962cad60132da9baf66f95c" } Frame { msec: 2976 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "6f83cd7be71666e08172a2c59e715f2e" } Frame { msec: 2992 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "f98c68954ed98f340e86c159fcf4f013" } Frame { msec: 3008 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" + hash: "e4692a0e6d82864e9027bcf893e0cf90" } Frame { msec: 3024 - hash: "99e4d853d64a381e8db27707b5ff2b25" + hash: "ed02ff4d37ad03c0d0d53cf8163ed1c5" } Frame { msec: 3040 - hash: "ab0e62aeffc0d57a5e1d63e6cf49b809" + hash: "fb116353a2ceabae2d93c9aac48727d8" } Frame { msec: 3056 - hash: "4ab11bbf1fb6adb0eec8895f78a24a41" + hash: "7b8c99b86838c46db4e756cc039ba045" } Frame { msec: 3072 - hash: "634ff2ceb39a3f263a3362238a4ae252" + hash: "c8d8e194bc957402fe2236b1a472faa6" } Frame { msec: 3088 - hash: "7f4856873dc23a02297b2497101de9b9" + hash: "f0f3d8c8ac3604cd11b7492fe5ee023e" } Frame { msec: 3104 - hash: "bca3919e9d8e6dc5badd8090401dc934" + hash: "b41cf314e4684423b4708ccd55904d60" } Frame { msec: 3120 - hash: "824bfe40c3657cfe1368563640e4cfce" + hash: "4f578969386627b6e620e83bad5a6a6c" } Frame { msec: 3136 - hash: "f831c1600f68bda139697c406ca70c5e" + hash: "bd9fcfaa4e79f969548af12d072c1ec2" } Frame { msec: 3152 - hash: "f8102ca251a9ff46a8fe5a24cff0d2d6" + hash: "a418dc92f8b04fddf95f38bd24825ee6" } Frame { msec: 3168 - hash: "f33407ad684aa16efc6615d1cf6fa4b9" + hash: "4684b3e318a08f0f2331a13143592d18" } Frame { msec: 3184 - hash: "a73d27f776a6ebfc90309b34421700e5" + hash: "1e135a4fd2e7336d8a59ca3497374a3d" } Frame { msec: 3200 - hash: "ff2a4e2663fc50dfec35152f0e79f935" + hash: "d1be76e2c56422b469a9d09e22f62df5" } Frame { msec: 3216 - hash: "4935f5f58f2672e9d240625151044bda" + hash: "8827523a7f8fa89a56d932102dff7b52" } Frame { msec: 3232 - hash: "f3ad5c203f621fe4d5d321c3c1880743" + hash: "e12e6b907af5e6feffed0b9e68c71895" } Frame { msec: 3248 - hash: "d4fb7cd2e1f6a533dae65ddbb50da8ac" + hash: "7bc3605f5f241170732aba19ca649896" } Frame { msec: 3264 - hash: "91705e9234c4f02d0a730f6270f9e95f" + hash: "d7da9274f30cacd419f0b0b7c8c8a728" } Frame { msec: 3280 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "154775464235d2a2fb338c27f1490f27" } Frame { msec: 3296 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "1657f65e8759eec3c026262bb271dd1c" } Frame { msec: 3312 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "29b4c68846aab3c1dcf4e58861915c33" } Frame { msec: 3328 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "fe22b3b991a80b34d6fe12515bfa2fd0" } Frame { msec: 3344 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "961343bb9dcc1fbe81b4c20392c28cb9" } Frame { msec: 3360 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "a2adb3179465e34b517bf906491a1b60" } Frame { msec: 3376 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "067fb8a2f5043dd4616fb1539e3e9c4a" } Frame { msec: 3392 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "009329915e9027d77218fd83334960ed" } Frame { msec: 3408 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "81b05d8aef8152830c6f199d6dd94fd5" } Frame { msec: 3424 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "b23fa537f88a97490e48fb3a8cd4b507" } Frame { msec: 3440 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "182464f620768efe0253c97cda75d839" } Frame { msec: 3456 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "f1ddbec396cead5d4acf9b65822becb6" } Frame { msec: 3472 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "a73085722d33638517b3f60a16ce9fcd" } Frame { msec: 3488 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "ecce53b0c525834341ee4b3c546e670c" } Frame { msec: 3504 - hash: "41e177bec783497b996d6d5f6dac1a15" + hash: "86f1da737164290a90c1aef9355e2375" } Frame { msec: 3520 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "722ec874122ad8dcc73820a3a2fb7dca" } Frame { msec: 3536 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "35eb086b11482b752e2c02f1dc4d9099" } Frame { msec: 3552 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "83cf9c0b5d0afd5d3cee4c446274f5c4" } Frame { msec: 3568 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "e1bbef11fe02adb0756113e1106fe7f1" } Frame { msec: 3584 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "774c8bb4585954274852d6bb07e64916" } Frame { msec: 3600 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "b0264bcddf313d4e819a608143a86ac9" } Frame { msec: 3616 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "5e3859fd56e5022cbc7831e22447f05d" } Frame { msec: 3632 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "8c2a8b7321d2598b08d483914d4f319c" } Frame { msec: 3648 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "f13913dbc015836e35d5a2ebc94bbeef" } Frame { msec: 3664 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "1309af996f2d7a686f1d9177bc5c9be6" } Frame { msec: 3680 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "460b3500b41624486fe8dcfde087d2b5" } Frame { msec: 3696 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "de0837d19497021528dc782db4da084a" } Frame { msec: 3712 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "18afb8f8e9aa6d4a5db376e26cd9a56d" } Frame { msec: 3728 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "4fc1a8173824c2725160798b7d70aec2" } Frame { msec: 3744 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "87a593f74c946d6af6e31c5a25898766" } Frame { msec: 3760 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 3776 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 3792 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 3808 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 3824 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 3840 - image: "dynamic.3.png" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 3856 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 3872 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 3888 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 3904 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 3920 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 3936 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 3952 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 3968 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 3984 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 4000 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 4016 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 4032 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 4048 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 4064 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 4080 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 4096 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 4112 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 4128 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 4144 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 4160 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 4176 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 4192 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 4208 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 4224 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 4240 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 4256 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 4272 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 4288 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 4304 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 4320 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 4336 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 4352 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 4368 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 4384 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 4400 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 4416 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 4432 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 4448 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 4464 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 4480 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 4496 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 4512 - hash: "496dc6261695bcf04a8e574146544e98" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 4528 - hash: "9681be99003f8a14cc5654d06d2c8255" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 4544 - hash: "bcb592a2335aa2e35956881fd028f4e6" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 4560 - hash: "f914b25fdcb02a02b71220d82b7b2a75" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 4576 - hash: "63c82c08eb7f2bd50b54b94c952df3f2" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 4592 - hash: "8a8dc82be81fa55605c6c2e749895120" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 4608 - hash: "271f8d79b8052dfcd840ffa9ba9ffeec" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 4624 - hash: "8f77bbd0585b57e69ac1919bd81ee3b1" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 4640 - hash: "b974260a2f90e141ebc33ced98fbca88" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 4656 - hash: "77ada180f8a45652a6fa636d7ece4d9d" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 4672 - hash: "4c8dc2e33cd989cb3b0938c6c75b5f95" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 4688 - hash: "a145954989508b925a444e14f0c27a20" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 4704 - hash: "8d27ff203819174747ae4a5cee8d0ae8" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 4720 - hash: "830f34b0dab780c6efe2294872ba8508" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 4736 - hash: "5d70a4bbd815569cfe5735b596bad080" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 4752 - hash: "964527bb82ea006e03b030c787a8597c" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 4768 - hash: "1ad54954b818fa9e6032ac4b6114e7db" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 4784 - hash: "47865243cc252aef67774001af70c54c" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 4800 - image: "dynamic.4.png" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 4816 - hash: "47865243cc252aef67774001af70c54c" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 4832 - hash: "47865243cc252aef67774001af70c54c" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 4848 - hash: "47865243cc252aef67774001af70c54c" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 4864 - hash: "47865243cc252aef67774001af70c54c" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 4880 - hash: "47865243cc252aef67774001af70c54c" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 4896 - hash: "47865243cc252aef67774001af70c54c" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 4912 - hash: "47865243cc252aef67774001af70c54c" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 4928 - hash: "47865243cc252aef67774001af70c54c" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 4944 - hash: "47865243cc252aef67774001af70c54c" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 4960 - hash: "47865243cc252aef67774001af70c54c" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 4976 - hash: "47865243cc252aef67774001af70c54c" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 4992 - hash: "47865243cc252aef67774001af70c54c" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 5008 - hash: "47865243cc252aef67774001af70c54c" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 5024 - hash: "47865243cc252aef67774001af70c54c" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 5040 - hash: "baeb8adffc13e230e797e0437f2ad5fa" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 5056 - hash: "d2e440fcad0ee2b7b35d7e5c4e581f73" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 5072 - hash: "fb8acb2f69234d3ee089281d0297ad7c" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 5088 - hash: "7fda29a83dc535ed8d6b35e999400311" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 5104 - hash: "6482e3eb10cfdbdeb57dd38ba3e3d67e" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 5120 - hash: "4d222549bc2565c1598a532460aae4e6" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 5136 - hash: "776d1b0f9945c0e1ceda0cf117264919" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 5152 - hash: "f2c362b34a0982ee1a11dea6b063945e" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 5168 - hash: "115f02b8893972b5b1d63525ce70762e" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 5184 - hash: "7f2d53581fe2c6c45a628fa4cd9b5742" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 5200 - hash: "b5ed1120c4edf842b15d5144adbd93b0" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 5216 - hash: "3511938df57c4cdce316692de204b057" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 5232 - hash: "99583918d068ab5d132fe7a699c2a7a6" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 5248 - hash: "c0ce9df18479dbb57fb1dbc777f4f0e5" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 5264 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 5280 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 5296 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 5312 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 5328 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 5344 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 5360 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 5376 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 5392 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 5408 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 5424 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 5440 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 5456 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 5472 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 5488 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 5504 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 5520 - hash: "b24db7b5c406328380fcf9927fb26c5c" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 5536 - hash: "98cc64411264d8a635a6afe6b11cee6e" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 5552 - hash: "b86434b7af8ad1db946c43a2791d69ab" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 5568 - hash: "f45616f9e33658d1dddb537e842c8768" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 5584 - hash: "e49d8955e27cdc19a37c331e56c81af1" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 5600 - hash: "b2dbe764906b50195f65dc11a5842515" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 5616 - hash: "71ce7c63d65c29cdffd83f5ae07f0b93" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 5632 - hash: "901d01e1fc777ec185cd023ad0ace4c1" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 5648 - hash: "a3f31de30fc2e92bae1f735504216216" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 5664 - hash: "0fc52dd8102506e3e7671fa548551b23" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 5680 - hash: "fb92809e728416035dbb91116ad8fe0e" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 5696 - hash: "9003dc8ca4f781909035cb03dc45864f" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 5712 - hash: "2bff1de793ad8521fd54413849c3cf29" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 5728 - hash: "8362e4db7c4446282d844a4fc6632d19" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 5744 - hash: "b874fa274c6ec77c106ff4a0288f9169" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 5760 - image: "dynamic.5.png" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 5776 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 5792 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 5808 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 5824 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 5840 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 5856 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 5872 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 5888 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 5904 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 5920 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 5936 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 5952 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 5968 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 5984 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 6000 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 6016 - hash: "e64ac8e11e36cafb25c947c5802d54b9" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 6032 - hash: "7621e64568058b82bcb6f6b46cee3ebc" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 6048 - hash: "f77f6de6fc88813f49427b4888a59dbf" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 6064 - hash: "d3a48f596219372ac25941e4c5ec5b2b" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 6080 - hash: "d572d932b613f9ca1e0acf144f127dd1" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 6096 - hash: "edf317eaf51d933bcd0f57f214921a81" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 6112 - hash: "e0cee7959a5a8a08ad03d75e7b5c6ca1" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 6128 - hash: "96877a15f44d4a2c8d9974cb28b9e1b6" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } Frame { msec: 6144 - hash: "c0ffb0ef6dd9d007d201feebd2f68e44" + hash: "b692386f34972d80aded2347e64ad2b6" } Frame { msec: 6160 - hash: "209fb930223243fa19c5dde9e85ec518" + hash: "dc65b0a791002efffec05884aa948842" } Frame { msec: 6176 - hash: "ae98ac4dba0e78eb8fb7f7dbe29b2832" + hash: "069bab78e29d322894647f81d315184a" } Frame { msec: 6192 - hash: "c94a7d68ce007d83df77a595a5815a96" + hash: "39c8d804b3caf53845baba4ce98e007d" } Frame { msec: 6208 - hash: "4c28e409bf5a6c1289bcab8cd59a9e42" + hash: "3b477dfd05f07bdf0ba562d6068cafdb" } Frame { msec: 6224 - hash: "ea1009f1a3446dd5ce937e6949794794" + hash: "eb84ee75bdbf25dcc32587007f5dc9bd" } Frame { msec: 6240 - hash: "940c16766c2f87feef48e1187672ca9b" + hash: "441d34bff2755e3c30bed80e2bdde69c" } Frame { msec: 6256 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "57e68ec2aa5a21b11d21f388399713e5" } Frame { msec: 6272 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "4cb9ee1d12b99fb98bedcbcc048867e4" } Frame { msec: 6288 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "3eebd1f4f58210f6b546715997a984c2" } Frame { msec: 6304 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "39eabc07bfcefb2ecd369abf94d706cd" } Frame { msec: 6320 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "a0c46402b4700cc2099bdf42c47faf9b" } Frame { msec: 6336 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "3c8b4831583922c7c1c85f227ef2b3dc" } Frame { msec: 6352 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "c92cba3c2825db4293153588c4b7b229" } Frame { msec: 6368 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "e1b0d4cae609f3074fb1ac46c172bf4a" } Frame { msec: 6384 - hash: "93664c87c8dcfadc0345f646b2508625" + hash: "09b76db3e4a95666ba9c37dd89996fa3" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png new file mode 100644 index 0000000..75a6c49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml index 5d88df7..3365d40 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "1a396cf01a6c31155609532654653599" + image: "usingRepeater.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png index bf02e1a..a104312 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml index 3124973..fd262e0 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "2c6600b50a18c415032fa95fe5089da6" + image: "smoothedfollow.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "smoothedfollow.0.png" + hash: "cecdb41f4b121dcb9ea8eedacdc4653b" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "smoothedfollow.1.png" + hash: "6b810b1a3a9090ea11456a0bdf170c8a" } Frame { msec: 1936 @@ -722,7 +722,7 @@ VisualTest { } Frame { msec: 2880 - image: "smoothedfollow.2.png" + hash: "d97e6dd2b3c79fe0b306981c08b6cea4" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png index f159b6b..a3bb3ac 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml index a3cd66b..6f0c939 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "cb33c89e5108c85e43b53489d1255862" + image: "clock.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "clock.0.png" + hash: "2ff4e8f394a62892adb348271435205c" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "clock.1.png" + hash: "a3e6173e6d82d2cb52149588b32851e4" } Frame { msec: 1936 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png index c79ac9c..ae89849 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml index a688563..12d7897 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "e94ba580322887dbbbf9cb6309e39c23" + image: "follow.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "follow.0.png" + hash: "00586f2f1d49fa81f90f7b06614311b4" } Frame { msec: 976 @@ -490,7 +490,7 @@ VisualTest { } Frame { msec: 1920 - image: "follow.1.png" + hash: "a40e5e2744d1d84c8b9a45525801a745" } Frame { msec: 1936 @@ -730,7 +730,7 @@ VisualTest { } Frame { msec: 2880 - image: "follow.2.png" + hash: "3c5d3d10bacc093afc6a9c0b5aa4cddc" } Frame { msec: 2896 @@ -978,7 +978,7 @@ VisualTest { } Frame { msec: 3840 - image: "follow.3.png" + hash: "6686f9c1a814c6a6b785b70f94937b68" } Frame { msec: 3856 @@ -1218,7 +1218,7 @@ VisualTest { } Frame { msec: 4800 - image: "follow.4.png" + hash: "315764d20b647f6ab1ba30239a69bf72" } Frame { msec: 4816 @@ -1458,7 +1458,7 @@ VisualTest { } Frame { msec: 5760 - image: "follow.5.png" + hash: "b7133225daa03563d3f5b1dac5f56a23" } Frame { msec: 5776 @@ -1698,7 +1698,7 @@ VisualTest { } Frame { msec: 6720 - image: "follow.6.png" + hash: "228920e994ebf71d542c71ce8263614e" } Frame { msec: 6736 @@ -1731,7 +1731,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png index e6b2b3c..9b76db0 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml index 1b43aa3..1059209 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "1ec47db85ba34bf1900445a2ab87b5e3" + image: "multilineAlign.0.png" } Frame { msec: 32 @@ -242,6 +242,6 @@ VisualTest { } Frame { msec: 960 - image: "multilineAlign.0.png" + hash: "436000b48f688120d96919227d9e67b4" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png new file mode 100644 index 0000000..b2ac22f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml index c526f47..22c4b93 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "e38b59f2c271def037213e57a966bd95" + image: "parentanchor.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png index b8cc1c7..ee3c744 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml index 6201c72..01ec5d6 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "fab978e1e0ee5140d8131320ff2322e9" + image: "QTBUG-14469.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "QTBUG-14469.0.png" + hash: "b1a283365bbffbc0ddaa4aa661e52add" } Frame { msec: 976 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml index a470a66..5c1f112 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "fd4d35de0a95388dd92ffbb82fbe0e8a" + image: "qtbug_14865.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "qtbug_14865.0.png" + hash: "fd4d35de0a95388dd92ffbb82fbe0e8a" } Frame { msec: 976 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml index fcaeed5..949f077 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "bdf278826a033dbb744d1fa9492c9351" + image: "elide.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "elide.0.png" + hash: "bdf278826a033dbb744d1fa9492c9351" } Frame { msec: 976 @@ -251,7 +251,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png index 03b6e5d..51d009f 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml index 1c1d5eb..7d2ee3d 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "26a468619443250a160845a894643eb9" + image: "elide2.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "elide2.0.png" + hash: "186db3738dc443d66b5b0352d7753b26" } Frame { msec: 976 @@ -443,7 +443,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 @@ -490,7 +490,7 @@ VisualTest { } Frame { msec: 1920 - image: "elide2.1.png" + hash: "03123bcb0f4ff032257415f713a5873c" } Frame { msec: 1936 @@ -730,7 +730,7 @@ VisualTest { } Frame { msec: 2880 - image: "elide2.2.png" + hash: "905d42c34198abdc68a3c6f69bfbd293" } Frame { msec: 2896 @@ -970,7 +970,7 @@ VisualTest { } Frame { msec: 3840 - image: "elide2.3.png" + hash: "6e800f4aacf0096f34acdf13678cab25" } Frame { msec: 3856 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png index 7980f23..33f7eb0 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml index 3871f91..ae009f7 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "51e3a7214bf2fd98108de683ae650b05" + image: "multilength.0.png" } Frame { msec: 32 @@ -242,7 +242,7 @@ VisualTest { } Frame { msec: 960 - image: "multilength.0.png" + hash: "7ee899df8915bc0c523e0bb01fc210ca" } Frame { msec: 976 @@ -482,7 +482,7 @@ VisualTest { } Frame { msec: 1920 - image: "multilength.1.png" + hash: "a631a4ba1e9638943719dcc2ea5cdb3c" } Frame { msec: 1936 @@ -722,7 +722,7 @@ VisualTest { } Frame { msec: 2880 - image: "multilength.2.png" + hash: "72cc0f0bd55773611952347b2b177d2c" } Frame { msec: 2896 @@ -962,7 +962,7 @@ VisualTest { } Frame { msec: 3840 - image: "multilength.3.png" + hash: "4f2bd407ac54541506ec10edb4dbec58" } Frame { msec: 3856 @@ -1202,7 +1202,7 @@ VisualTest { } Frame { msec: 4800 - image: "multilength.4.png" + hash: "ea23a6ba2406a5cd0cb8a8a7477bdf94" } Frame { msec: 4816 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png index b24344c..8803b36 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml index 0407aaf..a0803a4 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "6e8324bf913d9df21a59ab4337257c15" + image: "cursorDelegate.0.png" } Frame { msec: 32 @@ -290,7 +290,7 @@ VisualTest { } Frame { msec: 960 - image: "cursorDelegate.0.png" + hash: "d23d7492b85e4f30994ecd64e8273ff6" } Frame { msec: 976 @@ -578,7 +578,7 @@ VisualTest { } Frame { msec: 1920 - image: "cursorDelegate.1.png" + hash: "a5f90da82b51bc866648304a20a1dcd3" } Frame { msec: 1936 @@ -850,7 +850,7 @@ VisualTest { } Frame { msec: 2880 - image: "cursorDelegate.2.png" + hash: "1bb236db749ef514c00d0a3dd698d24f" } Frame { msec: 2896 @@ -1122,7 +1122,7 @@ VisualTest { } Frame { msec: 3840 - image: "cursorDelegate.3.png" + hash: "2d1b406be294727a278ba6bbc97be62a" } Key { type: 7 @@ -1378,7 +1378,7 @@ VisualTest { } Frame { msec: 4800 - image: "cursorDelegate.4.png" + hash: "4f0d49aff27a1c83287d38e760c10f16" } Frame { msec: 4816 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png index 7c68d9c..95f0c98 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png index 96afa8d..409192c 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png index 58b168d..cd2f112 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png index 95f0c98..7191c1e 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml index 7b00cdd..f9d728e 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "8d8671fb6c3413f38308a0dd15026eae" + image: "qt-669.0.png" } Frame { msec: 32 @@ -314,7 +314,7 @@ VisualTest { } Frame { msec: 960 - image: "qt-669.0.png" + hash: "0c7162e2bf228c76c7b9247e7ee1cf63" } Frame { msec: 976 @@ -634,7 +634,7 @@ VisualTest { } Frame { msec: 1920 - image: "qt-669.1.png" + hash: "2dc196a65cb13214901e0189c2b1984b" } Frame { msec: 1936 @@ -970,7 +970,7 @@ VisualTest { } Frame { msec: 2880 - image: "qt-669.2.png" + hash: "b6f3847d394c87873e34814e332e205a" } Frame { msec: 2896 @@ -1250,7 +1250,7 @@ VisualTest { } Frame { msec: 3840 - image: "qt-669.3.png" + hash: "8d8671fb6c3413f38308a0dd15026eae" } Frame { msec: 3856 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png index e69860e..0d989de 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png index ae21dca..9c72d52 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png index ae21dca..9c72d52 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png index 5f329b6..d49c2ff 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png index ae21dca..9c72d52 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml index 5a1f8de..91489b9 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "a4edfba57a47b45f96fe1fa7a37c1720" + image: "usingMultilineEdit.0.png" } Frame { msec: 32 @@ -274,7 +274,7 @@ VisualTest { } Frame { msec: 960 - image: "usingMultilineEdit.0.png" + hash: "bf9ad629e190df34f8bbb242e986083f" } Frame { msec: 976 @@ -618,7 +618,7 @@ VisualTest { } Frame { msec: 1920 - image: "usingMultilineEdit.1.png" + hash: "1d5b3f8dc6e0701c0c11a330e055ba5d" } Frame { msec: 1936 @@ -1010,7 +1010,7 @@ VisualTest { } Frame { msec: 2880 - image: "usingMultilineEdit.2.png" + hash: "3646bd6ea35fb8f0160a24a203b0f469" } Frame { msec: 2896 @@ -1426,7 +1426,7 @@ VisualTest { } Frame { msec: 3840 - image: "usingMultilineEdit.3.png" + hash: "00972f42fed66eb94832506b436b203d" } Frame { msec: 3856 @@ -1770,7 +1770,7 @@ VisualTest { } Frame { msec: 4800 - image: "usingMultilineEdit.4.png" + hash: "67facce41bc51af385bd8102a7e1285e" } Frame { msec: 4816 @@ -2034,7 +2034,7 @@ VisualTest { } Frame { msec: 5760 - image: "usingMultilineEdit.5.png" + hash: "a616e994d83964ff75d95b702f355937" } Mouse { type: 2 @@ -2994,7 +2994,7 @@ VisualTest { } Frame { msec: 6720 - image: "usingMultilineEdit.6.png" + hash: "bc4cd74678c08403bb16b74630d0fd18" } Mouse { type: 5 @@ -3434,7 +3434,7 @@ VisualTest { } Frame { msec: 7680 - image: "usingMultilineEdit.7.png" + hash: "f8d7e167379a5109b1744727b3bb5050" } Frame { msec: 7696 @@ -3810,7 +3810,7 @@ VisualTest { } Frame { msec: 8640 - image: "usingMultilineEdit.8.png" + hash: "b5c199f82cea188d2aafa4fa09f444fc" } Frame { msec: 8656 @@ -4130,7 +4130,7 @@ VisualTest { } Frame { msec: 9600 - image: "usingMultilineEdit.9.png" + hash: "a6c8b66b0d3f1124a6a316209a1456ff" } Frame { msec: 9616 @@ -4410,7 +4410,7 @@ VisualTest { } Frame { msec: 10560 - image: "usingMultilineEdit.10.png" + hash: "a6c8b66b0d3f1124a6a316209a1456ff" } Frame { msec: 10576 @@ -4658,7 +4658,7 @@ VisualTest { } Frame { msec: 11520 - image: "usingMultilineEdit.11.png" + hash: "a6c8b66b0d3f1124a6a316209a1456ff" } Frame { msec: 11536 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png index 4f51246..daa0479 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png index a27067f..ec65f49 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png index e33a8b0..ec65f49 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png index fb35f56..ec65f49 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png index 9eab398..ec65f49 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png index 66edb6b..ec65f49 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png index 66edb6b..ec65f49 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml index 475aee1..0bf29ab 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "d9acaa85ca366aac5a63f59b8913039a" + image: "wrap.0.png" } Key { type: 6 @@ -418,7 +418,7 @@ VisualTest { } Frame { msec: 960 - image: "wrap.0.png" + hash: "3e21db7face603e4a41010e10fdc35eb" } Frame { msec: 976 @@ -810,7 +810,7 @@ VisualTest { } Frame { msec: 1920 - image: "wrap.1.png" + hash: "e5100e36d546b8af34bfc7a68317fa74" } Frame { msec: 1936 @@ -1186,7 +1186,7 @@ VisualTest { } Frame { msec: 2880 - image: "wrap.2.png" + hash: "8ea955780d76128c025cf1a51c995075" } Frame { msec: 2896 @@ -1546,7 +1546,7 @@ VisualTest { } Frame { msec: 3840 - image: "wrap.3.png" + hash: "63d557c9ea24a9e63d6bdfc6259c8bf9" } Frame { msec: 3856 @@ -1922,7 +1922,7 @@ VisualTest { } Frame { msec: 4800 - image: "wrap.4.png" + hash: "6ae6a9c38541546561db9049a300bce6" } Frame { msec: 4816 @@ -2186,7 +2186,7 @@ VisualTest { } Frame { msec: 5760 - image: "wrap.5.png" + hash: "41179a181fd4ae8bd15a259b66d90eea" } Frame { msec: 5776 @@ -2426,7 +2426,7 @@ VisualTest { } Frame { msec: 6720 - image: "wrap.6.png" + hash: "41179a181fd4ae8bd15a259b66d90eea" } Frame { msec: 6736 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png index 5ab78c0..4f24b27 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml index 6eb74ea..b9e40a1 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "65bbc5da769f475d1c47bdedb92ba65e" + image: "cursorDelegate.0.png" } Frame { msec: 32 @@ -306,7 +306,7 @@ VisualTest { } Frame { msec: 960 - image: "cursorDelegate.0.png" + hash: "a764060e409f44b5a2196e405f0e00e0" } Frame { msec: 976 @@ -642,7 +642,7 @@ VisualTest { } Frame { msec: 1920 - image: "cursorDelegate.1.png" + hash: "627206a252bd6fcbf57d9f1cde0506bb" } Frame { msec: 1936 @@ -978,7 +978,7 @@ VisualTest { } Frame { msec: 2880 - image: "cursorDelegate.2.png" + hash: "87968f62496d88d8ed800d76a2d41c25" } Frame { msec: 2896 @@ -1266,7 +1266,7 @@ VisualTest { } Frame { msec: 3840 - image: "cursorDelegate.3.png" + hash: "4a080a5154c517e6bcf24b3a1f1d7f2c" } Frame { msec: 3856 @@ -1506,7 +1506,7 @@ VisualTest { } Frame { msec: 4800 - image: "cursorDelegate.4.png" + hash: "7797530c0cec492d09390e8f5b6410e6" } Frame { msec: 4816 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png index 551a3de..a6593c9 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml index c8f1f27..7d2f45e 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "eff6a4491bc00e5570ea73a1371f63fc" + image: "echoMode.0.png" } Frame { msec: 32 @@ -306,7 +306,7 @@ VisualTest { } Frame { msec: 960 - image: "echoMode.0.png" + hash: "b3504e4dbb653a7c039dcf8ab0351055" } Frame { msec: 976 @@ -650,7 +650,7 @@ VisualTest { } Frame { msec: 1920 - image: "echoMode.1.png" + hash: "deab81e7fcc4ecc31d02fccc52a4cc17" } Key { type: 7 @@ -994,7 +994,7 @@ VisualTest { } Frame { msec: 2880 - image: "echoMode.2.png" + hash: "34d00f787b814ad82c025c77d6be51a2" } Frame { msec: 2896 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png new file mode 100644 index 0000000..654a26d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml index 32330f4..c523060 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "09298802dfc053e2bb1b3bb2192ca5b2" + image: "hAlign.0.png" } Frame { msec: 32 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png index 313fcc2..e75900a 100644 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml index f014a30..3c7eb2c 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml @@ -6,7 +6,7 @@ VisualTest { } Frame { msec: 16 - hash: "9d5b9f785409527b8f315fef560a4688" + image: "usingLineEdit.0.png" } Frame { msec: 32 @@ -258,7 +258,7 @@ VisualTest { } Frame { msec: 960 - image: "usingLineEdit.0.png" + hash: "ebd6e6bbd0edaffed688dd5fa2328393" } Mouse { type: 4 @@ -379,7 +379,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 @@ -522,7 +522,7 @@ VisualTest { } Frame { msec: 1920 - image: "usingLineEdit.1.png" + hash: "957c85bfa6586d5d92aa3689c178944f" } Frame { msec: 1936 @@ -583,7 +583,7 @@ VisualTest { Key { type: 7 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 @@ -783,7 +783,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 @@ -810,7 +810,7 @@ VisualTest { } Frame { msec: 2880 - image: "usingLineEdit.2.png" + hash: "ebd6e6bbd0edaffed688dd5fa2328393" } Frame { msec: 2896 @@ -1082,7 +1082,7 @@ VisualTest { } Frame { msec: 3840 - image: "usingLineEdit.3.png" + hash: "3e9cbf56be37f593e907759285ddebdb" } Frame { msec: 3856 @@ -1175,7 +1175,7 @@ VisualTest { Key { type: 7 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 @@ -1338,7 +1338,7 @@ VisualTest { } Frame { msec: 4800 - image: "usingLineEdit.4.png" + hash: "39ce4d31df138a329a21056b8d397fd7" } Mouse { type: 3 @@ -1674,7 +1674,7 @@ VisualTest { } Frame { msec: 5760 - image: "usingLineEdit.5.png" + hash: "48bb05f44207f641b573d43043882aa2" } Frame { msec: 5776 @@ -1823,7 +1823,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 @@ -2058,7 +2058,7 @@ VisualTest { } Frame { msec: 6720 - image: "usingLineEdit.6.png" + hash: "ecfa95feb59486098b758894cba272c8" } Frame { msec: 6736 @@ -2327,7 +2327,7 @@ VisualTest { Key { type: 7 key: 16777249 - modifiers: 67108864 + modifiers: 0 text: "" autorep: false count: 1 @@ -2370,7 +2370,7 @@ VisualTest { } Frame { msec: 7680 - image: "usingLineEdit.7.png" + hash: "28b1455bb7b150afb4bec88f3328a1f6" } Frame { msec: 7696 @@ -2682,7 +2682,7 @@ VisualTest { } Frame { msec: 8640 - image: "usingLineEdit.8.png" + hash: "b7f624c97fc369c66314ecbb86549686" } Mouse { type: 5 @@ -3626,7 +3626,7 @@ VisualTest { } Frame { msec: 9600 - image: "usingLineEdit.9.png" + hash: "0b4b632291769b48d942f5aea91a8ae5" } Mouse { type: 5 @@ -4154,7 +4154,7 @@ VisualTest { } Frame { msec: 10560 - image: "usingLineEdit.10.png" + hash: "020ac5797abe98f97c4839afc67aac18" } Frame { msec: 10576 -- cgit v0.12 From 22c71ed42529277caa4dc8db03efd975b3910546 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 15 Nov 2010 12:59:41 +0100 Subject: compile with quintptr instead of intptr_t --- .../declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 3dd69da..652404c 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -1566,7 +1566,7 @@ void tst_qdeclarativeecmascript::callQtInvokables() o.reset(); { - QString expected = "MyInvokableObject(0x" + QString::number((intptr_t)&o, 16) + ")"; + QString expected = "MyInvokableObject(0x" + QString::number((quintptr)&o, 16) + ")"; QCOMPARE(engine->evaluate("object.method_QString(object)").isUndefined(), true); QCOMPARE(o.error(), false); QCOMPARE(o.invoked(), 11); -- cgit v0.12 From 149cfee3fea478640384559e69209a16bfda44a9 Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Mon, 15 Nov 2010 13:08:03 +0100 Subject: Fixed QGesture autotest for QGesture lazy deletion. Reviewed By: Trust Me --- tests/auto/gestures/tst_gestures.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp index 667cdd3..ee19125 100644 --- a/tests/auto/gestures/tst_gestures.cpp +++ b/tests/auto/gestures/tst_gestures.cpp @@ -1486,13 +1486,15 @@ void tst_Gestures::ungrabGesture() // a method on QWidget QVERIFY(customGestureA.data() != customGestureB.data()); a->ungrabGesture(CustomGesture::GestureType); - QVERIFY(customGestureA.isNull()); + //We changed the deletion of Gestures to lazy during QT-4022, so we can't ensure the QGesture is deleted until now QVERIFY(!customGestureB.isNull()); a->gestures.clear(); a->reset(); // send again to 'b' and make sure a never gets it. sendCustomGesture(&event, b); + //After all Gestures are processed in the QGestureManager, we can ensure the QGesture is now deleted + QVERIFY(customGestureA.isNull()); QCOMPARE(a->gestureEventsReceived, 0); QCOMPARE(a->gestureOverrideEventsReceived, 0); } -- cgit v0.12