diff options
author | Peter Yard <peter.yard@nokia.com> | 2010-11-22 04:51:16 (GMT) |
---|---|---|
committer | Peter Yard <peter.yard@nokia.com> | 2010-11-22 04:51:16 (GMT) |
commit | e4649285568769d7dd698446f07086197c956df0 (patch) | |
tree | 27bc8235d980b1cdedcdd91df359e0b9dc53e5c9 | |
parent | e6a09f87f3224588324218b6f9498bee81d178fc (diff) | |
parent | cbedbc4455eecea670988b635af4ee90d01cfab3 (diff) | |
download | Qt-e4649285568769d7dd698446f07086197c956df0.zip Qt-e4649285568769d7dd698446f07086197c956df0.tar.gz Qt-e4649285568769d7dd698446f07086197c956df0.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7
65 files changed, 928 insertions, 641 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index a719e72..3dccda6 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -84,7 +84,8 @@ extern uint qGlobalPostedEventsCount(); enum { WM_QT_SOCKETNOTIFIER = WM_USER, - WM_QT_SENDPOSTEDEVENTS = WM_USER + 1 + WM_QT_SENDPOSTEDEVENTS = WM_USER + 1, + SendPostedEventsWindowsTimerId = ~1u }; #if defined(Q_OS_WINCE) @@ -353,7 +354,7 @@ public: // for controlling when to send posted events QAtomicInt serialNumber; - int lastSerialNumber; + int lastSerialNumber, sendPostedEventsWindowsTimerId; QAtomicInt wakeUps; // timers @@ -378,7 +379,7 @@ public: QEventDispatcherWin32Private::QEventDispatcherWin32Private() : threadId(GetCurrentThreadId()), interrupt(false), internalHwnd(0), getMessageHook(0), - serialNumber(0), lastSerialNumber(0), wakeUps(0) + serialNumber(0), lastSerialNumber(0), sendPostedEventsWindowsTimerId(0), wakeUps(0) { resolveTimerAPI(); } @@ -485,17 +486,21 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA } } return 0; - } else if (message == WM_TIMER) { - Q_ASSERT(d != 0); - d->sendTimerEvent(wp); - return 0; - } else if (message == WM_QT_SENDPOSTEDEVENTS) { + } else if (message == WM_QT_SENDPOSTEDEVENTS + // we also use a Windows timer to send posted events when the message queue is full + || (message == WM_TIMER + && d->sendPostedEventsWindowsTimerId != 0 + && wp == d->sendPostedEventsWindowsTimerId)) { int localSerialNumber = d->serialNumber; if (localSerialNumber != d->lastSerialNumber) { d->lastSerialNumber = localSerialNumber; QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData); } return 0; + } else if (message == WM_TIMER) { + Q_ASSERT(d != 0); + d->sendTimerEvent(wp); + return 0; } return DefWindowProc(hwnd, message, wp, lp); @@ -507,21 +512,36 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp) QEventDispatcherWin32 *q = qobject_cast<QEventDispatcherWin32 *>(QAbstractEventDispatcher::instance()); Q_ASSERT(q != 0); if (q) { + MSG *msg = (MSG *) lp; QEventDispatcherWin32Private *d = q->d_func(); int localSerialNumber = d->serialNumber; - MSG unused; - if ((HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT)) == 0 - && PeekMessage(&unused, 0, WM_TIMER, WM_TIMER, PM_NOREMOVE) == 0)) { - // no more input or timer events in the message queue or more than 10ms has elapsed since - // we send posted events, we can allow posted events to be sent now + if (HIWORD(GetQueueStatus(QS_TIMER | QS_INPUT | QS_RAWINPUT)) == 0) { + // no more input or timer events in the message queue, we can allow posted events to be sent normally now + if (d->sendPostedEventsWindowsTimerId != 0) { + // stop the timer to send posted events, since we now allow the WM_QT_SENDPOSTEDEVENTS message + KillTimer(d->internalHwnd, d->sendPostedEventsWindowsTimerId); + d->sendPostedEventsWindowsTimerId = 0; + } (void) d->wakeUps.fetchAndStoreRelease(0); - MSG *msg = (MSG *) lp; if (localSerialNumber != d->lastSerialNumber // if this message IS the one that triggers sendPostedEvents(), no need to post it again && (msg->hwnd != d->internalHwnd || msg->message != WM_QT_SENDPOSTEDEVENTS)) { PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS, 0, 0); } + } else if (d->sendPostedEventsWindowsTimerId == 0 + && localSerialNumber != d->lastSerialNumber + // if this message IS the one that triggers sendPostedEvents(), no need to post it again + && (msg->hwnd != d->internalHwnd + || msg->message != WM_QT_SENDPOSTEDEVENTS)) { + // start a special timer to continue delivering posted events while + // there are still input and timer messages in the message queue + d->sendPostedEventsWindowsTimerId = SetTimer(d->internalHwnd, + SendPostedEventsWindowsTimerId, + USER_TIMER_MINIMUM, + NULL); + // we don't check the return value of SetTimer()... if creating the timer failed, there's little + // we can do. we just have to accept that posted events will be starved } } } diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 87fa770..2dbed76 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -87,9 +87,13 @@ QT_BEGIN_HEADER #include <tmmintrin.h> #endif -// SSE4.1 and SSE4.2 intrinsics -#if (defined(QT_HAVE_SSE4_1) || defined(QT_HAVE_SSE4_2)) && (defined(__SSE4_1__) || defined(Q_CC_MSVC)) +// SSE4.1 intrinsics +#if defined(QT_HAVE_SSE4_1) && (defined(__SSE4_1__) || defined(Q_CC_MSVC)) #include <smmintrin.h> +#endif + +// SSE4.2 intrinsics +#if defined(QT_HAVE_SSE4_2) && (defined(__SSE4_2__) || defined(Q_CC_MSVC)) #include <nmmintrin.h> #endif diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index d4a1248..92b54a0 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_ALWAYS_HAVE_NEON +#elif defined(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/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 3a3189c..1870647 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -386,6 +386,13 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd() \snippet doc/src/snippets/declarative/flickable.qml document \clearfloat + + Items declared as children of a Flickable are automatically parented to the + Flickable's \l contentItem. This should be taken into account when + operating on the children of the Flickable; it is usually the children of + \c contentItem that are relevant. For example, the bound of Items added + to the Flickable will be available by \c contentItem.childrenRect + \section1 Limitations \note Due to an implementation detail, items placed inside a Flickable cannot anchor to it by diff --git a/src/declarative/qml/qdeclarativecompileddata.cpp b/src/declarative/qml/qdeclarativecompileddata.cpp index a4ecc77..690f499 100644 --- a/src/declarative/qml/qdeclarativecompileddata.cpp +++ b/src/declarative/qml/qdeclarativecompileddata.cpp @@ -169,8 +169,8 @@ QDeclarativeCompiledData::QDeclarativeCompiledData(QDeclarativeEngine *engine) QDeclarativeCompiledData::~QDeclarativeCompiledData() { for (int ii = 0; ii < types.count(); ++ii) { - if (types.at(ii).ref) - types.at(ii).ref->release(); + if (types.at(ii).component) + types.at(ii).component->release(); } for (int ii = 0; ii < propertyCaches.count(); ++ii) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index b2740b8..645402e 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -591,8 +591,6 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine, } } else if (tref.typeData) { ref.component = tref.typeData->compiledData(); - ref.ref = tref.typeData; - ref.ref->addref(); } ref.className = parserRef->name.toUtf8(); out->types << ref; diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h index 43a0901..5cd1fd2 100644 --- a/src/declarative/qml/qdeclarativecompiler_p.h +++ b/src/declarative/qml/qdeclarativecompiler_p.h @@ -89,14 +89,12 @@ public: struct TypeReference { TypeReference() - : type(0), component(0), ref(0) {} + : type(0), component(0) {} QByteArray className; QDeclarativeType *type; -// QDeclarativeComponent *component; QDeclarativeCompiledData *component; - QDeclarativeRefCount *ref; QObject *createInstance(QDeclarativeContextData *, const QBitField &, QList<QDeclarativeError> *) const; const QMetaObject *metaObject() const; }; diff --git a/src/declarative/util/qdeclarativeopenmetaobject.cpp b/src/declarative/util/qdeclarativeopenmetaobject.cpp index 40485bd..c611435 100644 --- a/src/declarative/util/qdeclarativeopenmetaobject.cpp +++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp @@ -186,6 +186,7 @@ QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(QObject *obj, bool automa d->type->d->referers.insert(this); QObjectPrivate *op = QObjectPrivate::get(obj); + d->parent = static_cast<QAbstractDynamicMetaObject *>(op->metaObject); *static_cast<QMetaObject *>(this) = *d->type->d->mem; op->metaObject = this; } @@ -201,6 +202,7 @@ QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(QObject *obj, QDeclarativ d->type->d->referers.insert(this); QObjectPrivate *op = QObjectPrivate::get(obj); + d->parent = static_cast<QAbstractDynamicMetaObject *>(op->metaObject); *static_cast<QMetaObject *>(this) = *d->type->d->mem; op->metaObject = this; } diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp index 1f155c6..d495da2 100644 --- a/src/gui/graphicsview/qgraphicstransform.cpp +++ b/src/gui/graphicsview/qgraphicstransform.cpp @@ -54,7 +54,7 @@ instances to one QGraphicsItem. Each QGraphicsTransform is applied in order, one at a time, to the QGraphicsItem it's assigned to. - QGraphicsTransform is particularily useful for animations. Whereas + QGraphicsTransform is particularly useful for animations. Whereas QGraphicsItem::setTransform() lets you assign any transform directly to an item, there is no direct way to interpolate between two different transformations (e.g., when transitioning between two states, each for diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 78028eb..10c4ed6 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -3269,7 +3269,7 @@ bool QETWidget::translateMouseEvent(const MSG &msg) if (type == QEvent::MouseButtonPress && QApplication::activePopupWidget() != activePopupWidget && replayPopupMouseEvent) { - // the popup dissappeared. Replay the event + // the popup disappeared. Replay the event QWidget* w = QApplication::widgetAt(gpos.x, gpos.y); if (w && !QApplicationPrivate::isBlockedByModal(w)) { Q_ASSERT(w->testAttribute(Qt::WA_WState_Created)); @@ -3506,7 +3506,7 @@ static void tabletInit(const quint64 uniqueId, const UINT csr_type, HCTX hTab) } #endif // QT_NO_TABLETEVENT -// Update the "dynamic" informations of a cursor device (pen, airbrush, etc). +// Update the "dynamic" information of a cursor device (pen, airbrush, etc). // The dynamic information is the information of QTabletDeviceData that can change // in time (eraser or pen if a device is turned around). #ifndef QT_NO_TABLETEVENT diff --git a/src/gui/kernel/qclipboard_mac.cpp b/src/gui/kernel/qclipboard_mac.cpp index 49a6cc8..482a3a3 100644 --- a/src/gui/kernel/qclipboard_mac.cpp +++ b/src/gui/kernel/qclipboard_mac.cpp @@ -623,7 +623,7 @@ QMacPasteboard::sync() const #ifdef DEBUG_PASTEBOARD if(fromGlobal) - qDebug("Pasteboard: Syncronize!"); + qDebug("Pasteboard: Synchronize!"); #endif return fromGlobal; } diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index eade02e..7fdb926 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -1970,7 +1970,7 @@ void QInputMethodEvent::setCommitString(const QString &commitString, int replace is usually given by a wheel on 4D mouse. If the device does not support a Z-axis, pass zero here. - The \a tangentialPressure paramater contins the tangential pressure of an air + The \a tangentialPressure parameter contins the tangential pressure of an air brush. If the device does not support tangential pressure, pass 0 here. \a rotation contains the device's rotation in degrees. 4D mice support diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index 9519447..46450b1 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -189,7 +189,7 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recognizer, Qt::GestureType type) { // if the widget is being deleted we should be careful not to - // create a new state, as it will create QWeakPointer which doesnt work + // create a new state, as it will create QWeakPointer which doesn't work // from the destructor. if (object->isWidgetType()) { if (static_cast<QWidget *>(object)->d_func()->data.in_destructor) diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h index a5a3482..92310f5 100644 --- a/src/gui/kernel/qgesturemanager_p.h +++ b/src/gui/kernel/qgesturemanager_p.h @@ -101,7 +101,7 @@ private: NotGesture, MaybeGesture // this means timers are up and waiting for some // more events, and input events are handled by - // gesture recognizer explicitely + // gesture recognizer explicitly } state; struct ObjectGesture diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp index 2dd251b..c80c6d3 100644 --- a/src/gui/kernel/qguiplatformplugin.cpp +++ b/src/gui/kernel/qguiplatformplugin.cpp @@ -187,7 +187,7 @@ QString QGuiPlatformPlugin::styleName() #endif } -/* return an aditional default palette (only work on X11) */ +/* return an additional default palette (only work on X11) */ QPalette QGuiPlatformPlugin::palette() { #ifdef Q_WS_X11 diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp index 300e5ca..b8f08bf 100644 --- a/src/gui/kernel/qkeymapper_mac.cpp +++ b/src/gui/kernel/qkeymapper_mac.cpp @@ -765,7 +765,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e &handled_event) == false) return handled_event; QString text(ourChar); - /* This is actually wrong - but unfortunatly it is the best that can be + /* This is actually wrong - but unfortunately it is the best that can be done for now because of the Control/Meta mapping problems */ if (modifiers & (Qt::ControlModifier | Qt::MetaModifier) && !qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta)) { diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 50b2354..bf3eddd 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -1105,7 +1105,7 @@ QKeySequence QKeySequence::mnemonic(const QString &text) #else found = true; } else { - qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurences of '&'", qPrintable(text)); + qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurrences of '&'", qPrintable(text)); #endif } } diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index e22ec55..39c734e 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -8836,7 +8836,7 @@ void QWidget::mousePressEvent(QMouseEvent *event) QWidget* w; while ((w = QApplication::activePopupWidget()) && w != this){ w->close(); - if (QApplication::activePopupWidget() == w) // widget does not want to dissappear + if (QApplication::activePopupWidget() == w) // widget does not want to disappear w->hide(); // hide at least } if (!rect().contains(event->pos())){ @@ -9305,7 +9305,7 @@ void QWidget::setInputMethodHints(Qt::InputMethodHints hints) #ifndef QT_NO_IM Q_D(QWidget); d->imHints = hints; - // Optimisation to update input context only it has already been created. + // Optimization to update input context only it has already been created. if (d->ic || qApp->d_func()->inputContext) { QInputContext *ic = inputContext(); if (ic) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index cf4bdf1..97917ba 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -57,7 +57,7 @@ #include <eikbtgpc.h> #endif -// This is necessary in order to be able to perform delayed invokation on slots +// This is necessary in order to be able to perform delayed invocation on slots // which take arguments of type WId. One example is // QWidgetPrivate::_q_delayedDestroy, which is used to delay destruction of // CCoeControl objects until after the CONE event handler has finished running. diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp index 9f1b1f8..e6e3bfb 100644 --- a/src/gui/kernel/qx11embed_x11.cpp +++ b/src/gui/kernel/qx11embed_x11.cpp @@ -1136,7 +1136,7 @@ void QX11EmbedContainer::paintEvent(QPaintEvent *) /*! \internal - Returns wether or not the windows' embedded flag is set. + Returns whether or not the windows' embedded flag is set. */ bool QX11EmbedContainerPrivate::isEmbedded() const { diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp index b609f7b..2daa1f0 100644 --- a/src/gui/painting/qtextureglyphcache.cpp +++ b/src/gui/painting/qtextureglyphcache.cpp @@ -65,7 +65,7 @@ static inline int qt_next_power_of_two(int v) return v; } -void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs, +bool QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs, const QFixedPoint *) { #ifdef CACHE_DEBUG @@ -119,7 +119,7 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const rowHeight = qMax(rowHeight, glyph_height); } if (listItemCoordinates.isEmpty()) - return; + return true; rowHeight += margin * 2 + paddingDoubled; if (isNull()) @@ -150,6 +150,13 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const int new_height = m_h*2; while (new_height < m_cy + c.h) new_height *= 2; + + if (maxTextureHeight() > 0 && new_height > maxTextureHeight()) { + // We can't make a new texture of the required size, so + // bail out + return false; + } + // if no room in the current texture - realloc a larger texture resizeTextureData(m_w, new_height); m_h = new_height; @@ -165,7 +172,7 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const ++iter; } - + return true; } QImage QTextureGlyphCache::textureMapForGlyph(glyph_t g) const @@ -259,11 +266,14 @@ void QImageTextureGlyphCache::fillTexture(const Coord &c, glyph_t g) } #endif - if (m_type == QFontEngineGlyphCache::Raster_RGBMask) { - QPainter p(&m_image); + if (m_type == QFontEngineGlyphCache::Raster_RGBMask) { + QImage ref(m_image.bits() + (c.x * 4 + c.y * m_image.bytesPerLine()), + qMax(mask.width(), c.w), qMax(mask.height(), c.h), m_image.bytesPerLine(), + m_image.format()); + QPainter p(&ref); p.setCompositionMode(QPainter::CompositionMode_Source); - p.fillRect(c.x, c.y, c.w, c.h, QColor(0,0,0,0)); // TODO optimize this - p.drawImage(c.x, c.y, mask); + p.fillRect(0, 0, c.w, c.h, QColor(0,0,0,0)); // TODO optimize this + p.drawImage(0, 0, mask); p.end(); } else if (m_type == QFontEngineGlyphCache::Raster_Mono) { if (mask.depth() > 1) { diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h index e6d2b22..94cb555 100644 --- a/src/gui/painting/qtextureglyphcache_p.h +++ b/src/gui/painting/qtextureglyphcache_p.h @@ -96,7 +96,7 @@ public: int baseLineY; }; - void populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs, + bool populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions); virtual void createTextureData(int width, int height) = 0; @@ -118,7 +118,7 @@ public: QImage textureMapForGlyph(glyph_t g) const; virtual int maxTextureWidth() const { return QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH; } - virtual int maxTextureHeight() const { return 32768; } + virtual int maxTextureHeight() const { return -1; } protected: QFontEngine *m_current_fontengine; diff --git a/src/gui/util/qundostack.cpp b/src/gui/util/qundostack.cpp index 919ac3c..04cfca9 100644 --- a/src/gui/util/qundostack.cpp +++ b/src/gui/util/qundostack.cpp @@ -441,7 +441,7 @@ bool QUndoStackPrivate::checkUndoLimit() /*! Constructs an empty undo stack with the parent \a parent. The - stack will initally be in the clean state. If \a parent is a + stack will initially be in the clean state. If \a parent is a QUndoGroup object, the stack is automatically added to the group. \sa push() diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 70ef7ba..0479d83 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -728,7 +728,7 @@ void CSymbianCertificateRetriever::RunL() if (iStatus.Int() == KErrNone) iCertificates->append(iCertificateData); else - qWarning() << "CSymbianCertificateRetriever: failed to retreive a certificate, error " << iStatus.Int(); + qWarning() << "CSymbianCertificateRetriever: failed to retrieve a certificate, error " << iStatus.Int(); GetCertificateL(); break; } diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 1dcb773..3ddc15a 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1212,6 +1212,9 @@ void QGL2PaintEngineExPrivate::stroke(const QVectorPath &path, const QPen &pen) stroker.process(dashStroke, pen, clip); } + if (!stroker.vertexCount()) + return; + if (opaque) { prepareForDraw(opaque); setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, stroker.vertices()); @@ -1479,6 +1482,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp if (!cache || cache->cacheType() != glyphType) { cache = new QGLTextureGlyphCache(ctx, glyphType, QTransform()); staticTextItem->fontEngine()->setGlyphCache(ctx, cache); + } else if (cache->context() == 0) { // Old context has been destroyed, new context has same ptr value + cache->setContext(ctx); } bool recreateVertexArrays = false; @@ -1494,8 +1499,13 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp // cache so this text is performed before we test if the cache size has changed. if (recreateVertexArrays) { cache->setPaintEnginePrivate(this); - cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs, - staticTextItem->glyphs, staticTextItem->glyphPositions); + if (!cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs, + staticTextItem->glyphs, staticTextItem->glyphPositions)) { + // No space in cache. We need to clear the cache and try again + cache->clear(); + cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs, + staticTextItem->glyphs, staticTextItem->glyphPositions); + } } if (cache->width() == 0 || cache->height() == 0) diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp index 919c542..705ad09 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp @@ -54,11 +54,18 @@ extern Q_GUI_EXPORT bool qt_cleartype_enabled; QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyphCache::Type type, const QTransform &matrix) : QImageTextureGlyphCache(type, matrix) - , ctx(context) + , ctx(0) , m_width(0) , m_height(0) , m_filterMode(Nearest) { + setContext(context); +} + +void QGLTextureGlyphCache::setContext(QGLContext *context) +{ + ctx = context; + // broken FBO readback is a bug in the SGX 1.3 and 1.4 drivers for the N900 where // copying between FBO's is broken if the texture is either GL_ALPHA or POT. The // workaround is to use a system-memory copy of the glyph cache for this device. @@ -71,7 +78,7 @@ QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyph SLOT(contextDestroyed(const QGLContext*))); } -QGLTextureGlyphCache::~QGLTextureGlyphCache() +void QGLTextureGlyphCache::clear() { if (ctx) { QGLShareContextScope scope(ctx); @@ -81,7 +88,24 @@ QGLTextureGlyphCache::~QGLTextureGlyphCache() if (m_width || m_height) glDeleteTextures(1, &m_texture); + + m_fbo = 0; + m_texture = 0; + m_width = 0; + m_height = 0; + m_w = 0; + m_h = 0; + m_cx = 0; + m_cy = 0; + m_currentRowHeight = 0; + coords.clear(); } + +} + +QGLTextureGlyphCache::~QGLTextureGlyphCache() +{ + clear(); } void QGLTextureGlyphCache::createTextureData(int width, int height) diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h index e22146d..aaef350 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h @@ -90,6 +90,9 @@ public: FilterMode filterMode() const { return m_filterMode; } void setFilterMode(FilterMode m) { m_filterMode = m; } + void setContext(QGLContext *context); + QGLContext *context() const { return ctx; } + public Q_SLOTS: void contextDestroyed(const QGLContext *context) { if (context == ctx) { @@ -98,10 +101,20 @@ public Q_SLOTS: // the context may not be current, so we cannot directly // destroy the fbo and texture here, but since the context // is about to be destroyed, the GL server will do the - // clean up for us anyway + // clean up for us anyway. We reset everything, so that the + // glyph cache object can be reused later by setting a new + // context on it. m_fbo = 0; m_texture = 0; ctx = 0; + m_width = 0; + m_height = 0; + m_w = 0; + m_h = 0; + m_cx = 0; + m_cy = 0; + m_currentRowHeight = 0; + coords.clear(); } else { // since the context holding the texture is shared, and // about to be destroyed, we have to transfer ownership @@ -111,6 +124,8 @@ public Q_SLOTS: } } + void clear(); + private: QGLContext *ctx; diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 4742bdb..b46d428 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -506,7 +506,8 @@ private slots: // when you come to delete the context. QGLContextPrivate::unbindPixmapFromTexture(boundPixmap); glDeleteTextures(1, &id); - oldContext->makeCurrent(); + if (oldContext) + oldContext->makeCurrent(); return; } #endif diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index 33fa508..f025d86 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -981,7 +981,7 @@ void SymbianEngine::RunL() QMutexLocker locker(&mutex); if (iStatus != KErrCancel) { - // By default, start relistening notifications. Stop only if interesting event occured. + // By default, start relistening notifications. Stop only if interesting event occurred. iWaitingCommsDatabaseNotifications = true; RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int()); switch (event) { diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index 2eeee24..fbc539b 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -344,9 +344,11 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion ®ion, if (!win) return; +#ifndef QT_NO_QWS_PROXYSCREEN QWExtra *extra = qt_widget_private(widget)->extraData(); if (extra && extra->proxyWidget) return; +#endif const quint8 windowOpacity = quint8(win->windowOpacity() * 0xff); const QRect windowGeometry = geometry(); diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp index 063af13..507f70b 100644 --- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp +++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp @@ -83,7 +83,7 @@ QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const QPixmapData *QMeeGoGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const { // Long story short: without this it's possible to hit an - // unitialized paintDevice due to a Qt bug too complex to even + // uninitialized paintDevice due to a Qt bug too complex to even // explain here... not to mention fix without going crazy. // MDK QGLShareContextScope ctx(qt_gl_share_widget()->context()); diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index c91b22c..dc8a865 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -12898,4 +12898,10 @@ EXPORTS ?qmljsDebugArgumentsString@QApplicationPrivate@@SA?AVQString@@XZ @ 12897 NONAME ; class QString QApplicationPrivate::qmljsDebugArgumentsString(void) ?convertToPostscriptFontFamilyName@QFontEngine@@SA?AVQByteArray@@ABV2@@Z @ 12898 NONAME ; class QByteArray QFontEngine::convertToPostscriptFontFamilyName(class QByteArray const &) ?lastResortFont@QFont@@QBE?AVQString@@XZ @ 12899 NONAME ; class QString QFont::lastResortFont(void) const + ?setFontEngine@QStaticTextItem@@QAEXPAVQFontEngine@@@Z @ 12900 NONAME ; void QStaticTextItem::setFontEngine(class QFontEngine *) + ??0QStaticTextItem@@QAE@ABV0@@Z @ 12901 NONAME ; QStaticTextItem::QStaticTextItem(class QStaticTextItem const &) + ??4QStaticTextItem@@QAEXABV0@@Z @ 12902 NONAME ; void QStaticTextItem::operator=(class QStaticTextItem const &) + ?fontEngine@QStaticTextItem@@QBEPAVQFontEngine@@XZ @ 12903 NONAME ; class QFontEngine * QStaticTextItem::fontEngine(void) const + ?reactivateDeferredActiveObjects@QEventDispatcherS60@@UAEXXZ @ 12904 NONAME ; void QEventDispatcherS60::reactivateDeferredActiveObjects(void) + ?userData@QStaticTextItem@@QBEPAVQStaticTextUserData@@XZ @ 12905 NONAME ; class QStaticTextUserData * QStaticTextItem::userData(void) const diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def index fa340e4..620fcb9 100644 --- a/src/s60installs/bwins/QtOpenGLu.def +++ b/src/s60installs/bwins/QtOpenGLu.def @@ -8,7 +8,7 @@ EXPORTS ?d_func@QGLShader@@AAEPAVQGLShaderPrivate@@XZ @ 7 NONAME ; class QGLShaderPrivate * QGLShader::d_func(void) ?bindToDynamicTexture@QGLPixelBuffer@@QAE_NI@Z @ 8 NONAME ; bool QGLPixelBuffer::bindToDynamicTexture(unsigned int) ??0QGLWidget@@QAE@PAVQGLContext@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9 NONAME ; QGLWidget::QGLWidget(class QGLContext *, class QWidget *, class QGLWidget const *, class QFlags<enum Qt::WindowType>) - ??_EQGLFormat@@QAE@I@Z @ 10 NONAME ; QGLFormat::~QGLFormat(unsigned int) + ??_EQGLFormat@@QAE@I@Z @ 10 NONAME ABSENT ; QGLFormat::~QGLFormat(unsigned int) ?drawPixmapFragments@QGL2PaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 11 NONAME ; void QGL2PaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>) ?paintEngine@QGLWidget@@UBEPAVQPaintEngine@@XZ @ 12 NONAME ; class QPaintEngine * QGLWidget::paintEngine(void) const ?setPreferredPaintEngine@QGL@@YAXW4Type@QPaintEngine@@@Z @ 13 NONAME ; void QGL::setPreferredPaintEngine(enum QPaintEngine::Type) @@ -107,7 +107,7 @@ EXPORTS ??0QGLContext@@QAE@ABVQGLFormat@@@Z @ 106 NONAME ; QGLContext::QGLContext(class QGLFormat const &) ?geometryOutputVertexCount@QGLShaderProgram@@QBEHXZ @ 107 NONAME ; int QGLShaderProgram::geometryOutputVertexCount(void) const ?setAccum@QGLFormat@@QAEX_N@Z @ 108 NONAME ; void QGLFormat::setAccum(bool) - ??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ; QGLSignalProxy::QGLSignalProxy(void) + ??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ABSENT ; QGLSignalProxy::QGLSignalProxy(void) ?isUninitialized@QGLPixmapData@@ABE_NXZ @ 110 NONAME ; bool QGLPixmapData::isUninitialized(void) const ??0QGLFramebufferObjectFormat@@QAE@XZ @ 111 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(void) ??8@YA_NABVQGLFormat@@0@Z @ 112 NONAME ; bool operator==(class QGLFormat const &, class QGLFormat const &) @@ -496,7 +496,7 @@ EXPORTS ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSize@@@Z @ 495 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSize const &) ?convertToGLFormat@QGLWidget@@SA?AVQImage@@ABV2@@Z @ 496 NONAME ; class QImage QGLWidget::convertToGLFormat(class QImage const &) ?staticMetaObject@QGLTextureGlyphCache@@2UQMetaObject@@B @ 497 NONAME ; struct QMetaObject const QGLTextureGlyphCache::staticMetaObject - ??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ; QGLContextResource::~QGLContextResource(unsigned int) + ??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ABSENT ; QGLContextResource::~QGLContextResource(unsigned int) ?handle@QGLColormap@@IAEKXZ @ 499 NONAME ; unsigned long QGLColormap::handle(void) ?isCreated@QGLBuffer@@QBE_NXZ @ 500 NONAME ; bool QGLBuffer::isCreated(void) const ?setColormap@QGLWidget@@QAEXABVQGLColormap@@@Z @ 501 NONAME ; void QGLWidget::setColormap(class QGLColormap const &) @@ -698,4 +698,9 @@ EXPORTS ?setProfile@QGLFormat@@QAEXW4OpenGLContextProfile@1@@Z @ 697 NONAME ; void QGLFormat::setProfile(enum QGLFormat::OpenGLContextProfile) ?updateDynamicTexture@QGLPixelBuffer@@QBEXI@Z @ 698 NONAME ; void QGLPixelBuffer::updateDynamicTexture(unsigned int) const ?setUniformValue@QGLShaderProgram@@QAEXHH@Z @ 699 NONAME ; void QGLShaderProgram::setUniformValue(int, int) + ?maxTextureHeight@QGLTextureGlyphCache@@UBEHXZ @ 700 NONAME ; int QGLTextureGlyphCache::maxTextureHeight(void) const + ?initializeOffscreenTexture@QGLWindowSurface@@AAE_NABVQSize@@@Z @ 701 NONAME ; bool QGLWindowSurface::initializeOffscreenTexture(class QSize const &) + ?maxTextureWidth@QGLTextureGlyphCache@@UBEHXZ @ 702 NONAME ; int QGLTextureGlyphCache::maxTextureWidth(void) const + ?filterMode@QGLTextureGlyphCache@@QBE?AW4FilterMode@1@XZ @ 703 NONAME ; enum QGLTextureGlyphCache::FilterMode QGLTextureGlyphCache::filterMode(void) const + ?setFilterMode@QGLTextureGlyphCache@@QAEXW4FilterMode@1@@Z @ 704 NONAME ; void QGLTextureGlyphCache::setFilterMode(enum QGLTextureGlyphCache::FilterMode) diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def index 7ceade4..c92d99e 100644 --- a/src/s60installs/eabi/QtOpenGLu.def +++ b/src/s60installs/eabi/QtOpenGLu.def @@ -702,4 +702,9 @@ EXPORTS _ZeqRK9QGLFormatS1_ @ 701 NONAME _Zls6QDebugRK9QGLFormat @ 702 NONAME _ZneRK9QGLFormatS1_ @ 703 NONAME + _ZN16QGLWindowSurface26initializeOffscreenTextureERK5QSize @ 704 NONAME + _ZNK20QGLTextureGlyphCache15maxTextureWidthEv @ 705 NONAME + _ZNK20QGLTextureGlyphCache16maxTextureHeightEv @ 706 NONAME + _ZThn8_NK20QGLTextureGlyphCache15maxTextureWidthEv @ 707 NONAME + _ZThn8_NK20QGLTextureGlyphCache16maxTextureHeightEv @ 708 NONAME diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp index a90e014..8528dec 100644 --- a/src/script/api/qscriptcontextinfo.cpp +++ b/src/script/api/qscriptcontextinfo.cpp @@ -177,7 +177,7 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte fileName = source->url(); } - // Get the others informations: + // Get the others information: JSC::JSObject *callee = frame->callee(); if (callee && callee->inherits(&JSC::InternalFunction::info)) functionName = JSC::asInternalFunction(callee)->name(frame); diff --git a/src/sql/models/qsqlrelationaldelegate.h b/src/sql/models/qsqlrelationaldelegate.h index 7600e52..96760e1 100644 --- a/src/sql/models/qsqlrelationaldelegate.h +++ b/src/sql/models/qsqlrelationaldelegate.h @@ -59,23 +59,23 @@ class QSqlRelationalDelegate: public QItemDelegate { public: -explicit QSqlRelationalDelegate(QObject *parent = 0) - : QItemDelegate(parent) +explicit QSqlRelationalDelegate(QObject *aParent = 0) + : QItemDelegate(aParent) {} ~QSqlRelationalDelegate() {} -QWidget *createEditor(QWidget *parent, +QWidget *createEditor(QWidget *aParent, const QStyleOptionViewItem &option, const QModelIndex &index) const { const QSqlRelationalTableModel *sqlModel = qobject_cast<const QSqlRelationalTableModel *>(index.model()); QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : 0; if (!childModel) - return QItemDelegate::createEditor(parent, option, index); + return QItemDelegate::createEditor(aParent, option, index); - QComboBox *combo = new QComboBox(parent); + QComboBox *combo = new QComboBox(aParent); combo->setModel(childModel); combo->setModelColumn(childModel->fieldIndex(sqlModel->relation(index.column()).displayColumn())); combo->installEventFilter(const_cast<QSqlRelationalDelegate *>(this)); diff --git a/src/testlib/qtesttouch.h b/src/testlib/qtesttouch.h index 1beef85..6c58e4c 100644 --- a/src/testlib/qtesttouch.h +++ b/src/testlib/qtesttouch.h @@ -106,8 +106,8 @@ namespace QTest } private: - QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType deviceType) - : targetWidget(widget), deviceType(deviceType) + QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType aDeviceType) + : targetWidget(widget), deviceType(aDeviceType) { } QTouchEventSequence(const QTouchEventSequence &v); diff --git a/src/xmlpatterns/expr/qarithmeticexpression_p.h b/src/xmlpatterns/expr/qarithmeticexpression_p.h index 66c1f13..6ff8219 100644 --- a/src/xmlpatterns/expr/qarithmeticexpression_p.h +++ b/src/xmlpatterns/expr/qarithmeticexpression_p.h @@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE namespace QPatternist { /** - * @short Implements arithmetics, such as multiplication and substraction. + * @short Implements arithmetics, such as multiplication and subtraction. * * * Optimizations: there's some operator/value combos that are no ops. For diff --git a/tests/auto/collections/tst_collections.cpp b/tests/auto/collections/tst_collections.cpp index f81535e..43e1a52 100644 --- a/tests/auto/collections/tst_collections.cpp +++ b/tests/auto/collections/tst_collections.cpp @@ -1222,7 +1222,7 @@ void tst_Collections::vector() } } - // this used to trigger an unitialized read in valgrind + // this used to trigger an uninitialized read in valgrind QVector<char> foo; foo.resize(144); diff --git a/tests/auto/declarative/qmlvisual/TEST_GUIDELINES b/tests/auto/declarative/qmlvisual/TEST_GUIDELINES index cb53b6e..469832f 100644 --- a/tests/auto/declarative/qmlvisual/TEST_GUIDELINES +++ b/tests/auto/declarative/qmlvisual/TEST_GUIDELINES @@ -4,4 +4,4 @@ Guidelines for creating new visual tests: 2. Keep it short. It is hoped that these tests can be run regularly, perhaps even for every commit, and if you add up ten seconds for every time someone commits a change to QML then we'll be sitting here for a long time. Completeness is more important than haste, but consider the most time efficient ways to achieve said completeness. Do not forget about snapshot mode (tst_qmlvisual -help for details on -recordsnapshot) when testing that a static scene looks right. -3. Avoid text. Text is relatively unstable due to platform specific peculiarities. If you need to identify an area, consider a unique color as opposed to a unique text label. If you must use Text, TextEdit, or TextInput, use the test-friendlier versions in the 'shared' directory. +3. Avoid text. Text is relatively unstable due to platform specific peculiarities. If you need to identify an area, consider a unique color as opposed to a unique text label. If you must use Text, TextEdit, or TextInput, use the test-friendlier versions in the 'shared' directory. Also keep in mind that text anti-aliasing is disabled during tests for greater consistency, and you should never use point sizes in tests. Text autotests can thus only test some aspects of the elements. diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml index 4273f32..17709ba 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml @@ -46,6 +46,7 @@ Item { horizontalAlignment: TextInput.AlignLeft wrapMode: TextEdit.WordWrap font.pixelSize:15 + selectionColor: 'steelblue' } MouseArea { //Implements all line edit mouse handling diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png Binary files differindex 56f6ece..8effaef 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png Binary files differindex 56f6ece..8effaef 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png Binary files differindex 56f6ece..8effaef 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png Binary files differindex f8bc3b4..b79af19 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png Binary files differindex e156cd5..ef15fdf 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml index 56ae969..a03948c 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml @@ -2098,7 +2098,7 @@ VisualTest { } Frame { msec: 5856 - hash: "6e3ef70a6a20c61d681c0510da3dba63" + hash: "4b0c9ae119bd6c9f6331cbefc53afa3d" } Mouse { type: 5 @@ -2118,7 +2118,7 @@ VisualTest { } Frame { msec: 5872 - hash: "6e3ef70a6a20c61d681c0510da3dba63" + hash: "4b0c9ae119bd6c9f6331cbefc53afa3d" } Mouse { type: 5 @@ -2138,7 +2138,7 @@ VisualTest { } Frame { msec: 5888 - hash: "12199badcd73e1dead9e7fb8848175a7" + hash: "e6b3b80f052fec9f67b02a7f36676b5d" } Mouse { type: 5 @@ -2158,7 +2158,7 @@ VisualTest { } Frame { msec: 5904 - hash: "9a10e37dad5bce8a6a3e9dfe3789ea71" + hash: "37d1ee8e1c914d499dd7920576dadcae" } Mouse { type: 5 @@ -2178,7 +2178,7 @@ VisualTest { } Frame { msec: 5920 - hash: "9a10e37dad5bce8a6a3e9dfe3789ea71" + hash: "37d1ee8e1c914d499dd7920576dadcae" } Mouse { type: 5 @@ -2198,7 +2198,7 @@ VisualTest { } Frame { msec: 5936 - hash: "a636fd97f33ef06215d71ce3c4b5e151" + hash: "34f7bd61afb22009181d79841bc59fa1" } Mouse { type: 5 @@ -2218,7 +2218,7 @@ VisualTest { } Frame { msec: 5952 - hash: "b0967a28cd241da39213d6c8478280f7" + hash: "23ea9471d132daab6193b0809c8bd98e" } Mouse { type: 5 @@ -2238,7 +2238,7 @@ VisualTest { } Frame { msec: 5968 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2250,7 +2250,7 @@ VisualTest { } Frame { msec: 5984 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2270,7 +2270,7 @@ VisualTest { } Frame { msec: 6000 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2290,7 +2290,7 @@ VisualTest { } Frame { msec: 6016 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2310,7 +2310,7 @@ VisualTest { } Frame { msec: 6032 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2330,7 +2330,7 @@ VisualTest { } Frame { msec: 6048 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2350,7 +2350,7 @@ VisualTest { } Frame { msec: 6064 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2370,7 +2370,7 @@ VisualTest { } Frame { msec: 6080 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2390,7 +2390,7 @@ VisualTest { } Frame { msec: 6096 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2410,7 +2410,7 @@ VisualTest { } Frame { msec: 6112 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2430,7 +2430,7 @@ VisualTest { } Frame { msec: 6128 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2450,7 +2450,7 @@ VisualTest { } Frame { msec: 6144 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2470,7 +2470,7 @@ VisualTest { } Frame { msec: 6160 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2490,7 +2490,7 @@ VisualTest { } Frame { msec: 6176 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2502,23 +2502,23 @@ VisualTest { } Frame { msec: 6192 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Frame { msec: 6208 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Frame { msec: 6224 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Frame { msec: 6240 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Frame { msec: 6256 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2530,7 +2530,7 @@ VisualTest { } Frame { msec: 6272 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2550,7 +2550,7 @@ VisualTest { } Frame { msec: 6288 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2570,7 +2570,7 @@ VisualTest { } Frame { msec: 6304 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2590,7 +2590,7 @@ VisualTest { } Frame { msec: 6320 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2610,7 +2610,7 @@ VisualTest { } Frame { msec: 6336 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2630,7 +2630,7 @@ VisualTest { } Frame { msec: 6352 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2650,7 +2650,7 @@ VisualTest { } Frame { msec: 6368 - hash: "684d7a67d57fdc766dca3092c65cf089" + hash: "e35d1c5a15474388727942b41fdcec0f" } Mouse { type: 5 @@ -2670,7 +2670,7 @@ VisualTest { } Frame { msec: 6384 - hash: "81c12a084635c80c97f6b3cd3574a6e6" + hash: "1b24d0c17446cfadc351127f842ac5fd" } Mouse { type: 5 @@ -2682,7 +2682,7 @@ VisualTest { } Frame { msec: 6400 - hash: "81c12a084635c80c97f6b3cd3574a6e6" + hash: "1b24d0c17446cfadc351127f842ac5fd" } Mouse { type: 5 @@ -2702,7 +2702,7 @@ VisualTest { } Frame { msec: 6416 - hash: "8374126491796963e3f5895dab7e9076" + hash: "f0b06fefc9e18b836ffe081215efe584" } Mouse { type: 5 @@ -2722,7 +2722,7 @@ VisualTest { } Frame { msec: 6432 - hash: "d7f5f6f0654d055ff47bef6736bbcfc6" + hash: "9ed30cb00df82cce04e8c8b76d056013" } Mouse { type: 5 @@ -2742,7 +2742,7 @@ VisualTest { } Frame { msec: 6448 - hash: "85c94958294c8590e1cb9c74bf741bb2" + hash: "4d37a34962e019f47201da6baddebca8" } Mouse { type: 5 @@ -2754,7 +2754,7 @@ VisualTest { } Frame { msec: 6464 - hash: "586c98412d41f892eb07d8c41cb3c990" + hash: "cd83055403901b1a7a99dfda3798ca7e" } Mouse { type: 5 @@ -2794,7 +2794,7 @@ VisualTest { } Frame { msec: 6496 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2814,7 +2814,7 @@ VisualTest { } Frame { msec: 6512 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2834,7 +2834,7 @@ VisualTest { } Frame { msec: 6528 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2854,7 +2854,7 @@ VisualTest { } Frame { msec: 6544 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2874,7 +2874,7 @@ VisualTest { } Frame { msec: 6560 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2894,7 +2894,7 @@ VisualTest { } Frame { msec: 6576 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2914,27 +2914,27 @@ VisualTest { } Frame { msec: 6592 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Frame { msec: 6608 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Frame { msec: 6624 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Frame { msec: 6640 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Frame { msec: 6656 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Frame { msec: 6672 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2954,7 +2954,7 @@ VisualTest { } Frame { msec: 6688 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2974,7 +2974,7 @@ VisualTest { } Frame { msec: 6704 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -2994,7 +2994,7 @@ VisualTest { } Frame { msec: 6720 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3034,7 +3034,7 @@ VisualTest { } Frame { msec: 6752 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3054,7 +3054,7 @@ VisualTest { } Frame { msec: 6768 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3074,7 +3074,7 @@ VisualTest { } Frame { msec: 6784 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3094,7 +3094,7 @@ VisualTest { } Frame { msec: 6800 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3114,7 +3114,7 @@ VisualTest { } Frame { msec: 6816 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3134,7 +3134,7 @@ VisualTest { } Frame { msec: 6832 - hash: "120ac252477fd32ecb696e6796b0984b" + hash: "71cdc5a9144234556630430361779ff7" } Mouse { type: 5 @@ -3662,19 +3662,19 @@ VisualTest { } Frame { msec: 8208 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Frame { msec: 8224 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Frame { msec: 8240 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Frame { msec: 8256 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Key { type: 7 @@ -3686,19 +3686,19 @@ VisualTest { } Frame { msec: 8272 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Frame { msec: 8288 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Frame { msec: 8304 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Frame { msec: 8320 - hash: "acfeaebe60368dd946a2fa80ab15df1d" + hash: "c8254066bc7b4bae0934425226d59a2b" } Key { type: 6 @@ -3710,19 +3710,19 @@ VisualTest { } Frame { msec: 8336 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8352 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8368 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8384 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Key { type: 7 @@ -3734,23 +3734,23 @@ VisualTest { } Frame { msec: 8400 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8416 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8432 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8448 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Frame { msec: 8464 - hash: "c21a0997b7d428306b5caa09dd02e9d3" + hash: "7bd48f4441ba1971bf49cb5b9e174935" } Key { type: 6 @@ -3762,19 +3762,19 @@ VisualTest { } Frame { msec: 8480 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8496 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8512 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8528 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Key { type: 7 @@ -3786,31 +3786,31 @@ VisualTest { } Frame { msec: 8544 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8560 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8576 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8592 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8608 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8624 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8640 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8656 @@ -3826,139 +3826,139 @@ VisualTest { } Frame { msec: 8672 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8688 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8704 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8720 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8736 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8752 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8768 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8784 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8800 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8816 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8832 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8848 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8864 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8880 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8896 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8912 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8928 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8944 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8960 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8976 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 8992 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9008 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9024 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9040 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9056 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9072 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9088 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9104 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9120 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9136 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9152 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9168 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9184 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9200 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Mouse { type: 2 @@ -3970,11 +3970,11 @@ VisualTest { } Frame { msec: 9216 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9232 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Mouse { type: 5 @@ -3986,7 +3986,7 @@ VisualTest { } Frame { msec: 9248 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Mouse { type: 5 @@ -4006,7 +4006,7 @@ VisualTest { } Frame { msec: 9264 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Mouse { type: 5 @@ -4026,7 +4026,7 @@ VisualTest { } Frame { msec: 9280 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Mouse { type: 3 @@ -4038,43 +4038,43 @@ VisualTest { } Frame { msec: 9296 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9312 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9328 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9344 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9360 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9376 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9392 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9408 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9424 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Frame { msec: 9440 - hash: "af707ae0e8110b2e6e3d1041aaa89319" + hash: "edf44121a60ee9d975954863c2ed848c" } Mouse { type: 2 @@ -4086,27 +4086,27 @@ VisualTest { } Frame { msec: 9456 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9472 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9488 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9504 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9520 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9536 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Mouse { type: 3 @@ -4118,19 +4118,19 @@ VisualTest { } Frame { msec: 9552 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9568 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9584 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9600 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9616 @@ -4138,15 +4138,15 @@ VisualTest { } Frame { msec: 9632 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9648 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9664 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Key { type: 6 @@ -4158,111 +4158,111 @@ VisualTest { } Frame { msec: 9680 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9696 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9712 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9728 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9744 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9760 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9776 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9792 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9808 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9824 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9840 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9856 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9872 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9888 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9904 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9920 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9936 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9952 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9968 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 9984 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10000 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10016 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10032 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10048 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10064 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10080 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10096 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Key { type: 6 @@ -4274,35 +4274,35 @@ VisualTest { } Frame { msec: 10112 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10128 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10144 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10160 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10176 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10192 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10208 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10224 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Key { type: 7 @@ -4314,35 +4314,35 @@ VisualTest { } Frame { msec: 10240 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10256 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10272 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10288 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10304 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10320 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10336 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Frame { msec: 10352 - hash: "d99a651d8ed51c36dbca0ca86abc808e" + hash: "956f4f8cfca76cfee9babea29b0715ea" } Key { type: 6 @@ -4354,27 +4354,27 @@ VisualTest { } Frame { msec: 10368 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10384 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10400 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10416 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10432 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10448 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Key { type: 7 @@ -4386,31 +4386,31 @@ VisualTest { } Frame { msec: 10464 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10480 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10496 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10512 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10528 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10544 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10560 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10576 @@ -4418,19 +4418,19 @@ VisualTest { } Frame { msec: 10592 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10608 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10624 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10640 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Key { type: 7 @@ -4442,223 +4442,223 @@ VisualTest { } Frame { msec: 10656 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10672 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10688 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10704 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10720 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10736 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10752 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10768 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10784 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10800 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10816 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10832 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10848 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10864 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10880 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10896 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10912 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10928 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10944 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10960 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10976 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 10992 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11008 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11024 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11040 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11056 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11072 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11088 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11104 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11120 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11136 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11152 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11168 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11184 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11200 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11216 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11232 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11248 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11264 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11280 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11296 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11312 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11328 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11344 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11360 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11376 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11392 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11408 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11424 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11440 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11456 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11472 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11488 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11504 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11520 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11536 @@ -4666,22 +4666,22 @@ VisualTest { } Frame { msec: 11552 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11568 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11584 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11600 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } Frame { msec: 11616 - hash: "e940f5582d8ad5487221743f15041021" + hash: "b58ab2c31823e7b0be144fba3e77368a" } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml index 50c3cb4..6789eac 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml @@ -42,6 +42,7 @@ Item { text:"" horizontalAlignment: TextInput.AlignLeft font.pixelSize:15 + selectionColor: 'steelblue' } MouseArea { //Implements all line edit mouse handling diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png Binary files differindex 6408df3..444ee34 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png Binary files differindex 6e7b717..5f3668c 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png Binary files differindex 7829e03..0ea21f3 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png Binary files differindex 6408df3..444ee34 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png Binary files differindex e2c0a7d..4f285b1 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml index 386c9d1..8957e39 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml @@ -274,23 +274,23 @@ VisualTest { } Frame { msec: 992 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1008 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1024 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1040 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1056 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Mouse { type: 3 @@ -302,79 +302,79 @@ VisualTest { } Frame { msec: 1072 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1088 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1104 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1120 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1136 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1152 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1168 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1184 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1200 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1216 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1232 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1248 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1264 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1280 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1296 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1312 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1328 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1344 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1360 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Key { type: 6 @@ -386,143 +386,143 @@ VisualTest { } Frame { msec: 1376 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1392 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1408 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1424 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1440 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1456 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1472 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1488 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1504 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1520 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1536 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1552 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1568 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1584 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1600 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1616 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1632 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1648 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1664 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1680 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1696 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1712 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1728 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1744 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1760 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1776 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1792 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1808 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1824 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1840 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1856 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1872 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1888 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1904 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1920 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1936 @@ -530,15 +530,15 @@ VisualTest { } Frame { msec: 1952 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1968 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 1984 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Key { type: 6 @@ -550,35 +550,35 @@ VisualTest { } Frame { msec: 2000 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2016 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2032 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2048 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2064 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2080 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2096 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2112 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Key { type: 7 @@ -598,95 +598,95 @@ VisualTest { } Frame { msec: 2128 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2144 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2160 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2176 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2192 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2208 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2224 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2240 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2256 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2272 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2288 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2304 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2320 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2336 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2352 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2368 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2384 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2400 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2416 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2432 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2448 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2464 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Frame { msec: 2480 - hash: "29ccc1cc5ae395d91c92ed4645d3b376" + hash: "b888cf6d6e002e28690cff49726eea70" } Key { type: 6 @@ -2630,7 +2630,7 @@ VisualTest { } Frame { msec: 8592 - hash: "e1349a4271e99bb99b46271fd4a3190e" + hash: "8173ad74ad73a8061af3edb8322b3e28" } Mouse { type: 5 @@ -2650,7 +2650,7 @@ VisualTest { } Frame { msec: 8608 - hash: "e1349a4271e99bb99b46271fd4a3190e" + hash: "8173ad74ad73a8061af3edb8322b3e28" } Mouse { type: 5 @@ -2662,7 +2662,7 @@ VisualTest { } Frame { msec: 8624 - hash: "69fafd9730dc1bb6fdb5485a2b16c025" + hash: "a470057b75a1aade3945dbb61526ae50" } Mouse { type: 5 @@ -2682,7 +2682,7 @@ VisualTest { } Frame { msec: 8640 - hash: "69fafd9730dc1bb6fdb5485a2b16c025" + hash: "a470057b75a1aade3945dbb61526ae50" } Mouse { type: 5 @@ -2714,7 +2714,7 @@ VisualTest { } Frame { msec: 8672 - hash: "2271dcb95090d595070fd1fcde1b8792" + hash: "74c1edc228a7c4ba1c0adab9ed7dd086" } Mouse { type: 5 @@ -2726,7 +2726,7 @@ VisualTest { } Frame { msec: 8688 - hash: "2271dcb95090d595070fd1fcde1b8792" + hash: "74c1edc228a7c4ba1c0adab9ed7dd086" } Mouse { type: 5 @@ -2746,7 +2746,7 @@ VisualTest { } Frame { msec: 8704 - hash: "2271dcb95090d595070fd1fcde1b8792" + hash: "74c1edc228a7c4ba1c0adab9ed7dd086" } Mouse { type: 5 @@ -2766,7 +2766,7 @@ VisualTest { } Frame { msec: 8720 - hash: "2271dcb95090d595070fd1fcde1b8792" + hash: "74c1edc228a7c4ba1c0adab9ed7dd086" } Mouse { type: 5 @@ -2786,7 +2786,7 @@ VisualTest { } Frame { msec: 8736 - hash: "0bc5d6855feb4174bdf64b95ff9f7df2" + hash: "11e31d23d38f163c2c28ca042af7f9f6" } Mouse { type: 5 @@ -2806,7 +2806,7 @@ VisualTest { } Frame { msec: 8752 - hash: "0bc5d6855feb4174bdf64b95ff9f7df2" + hash: "11e31d23d38f163c2c28ca042af7f9f6" } Mouse { type: 5 @@ -2826,7 +2826,7 @@ VisualTest { } Frame { msec: 8768 - hash: "0bc5d6855feb4174bdf64b95ff9f7df2" + hash: "11e31d23d38f163c2c28ca042af7f9f6" } Mouse { type: 5 @@ -2846,7 +2846,7 @@ VisualTest { } Frame { msec: 8784 - hash: "0bc5d6855feb4174bdf64b95ff9f7df2" + hash: "11e31d23d38f163c2c28ca042af7f9f6" } Mouse { type: 5 @@ -2866,7 +2866,7 @@ VisualTest { } Frame { msec: 8800 - hash: "fcd2c706258d7f84245d7f4c4f578711" + hash: "045f891731548aae37090e0cefb62170" } Mouse { type: 5 @@ -2886,7 +2886,7 @@ VisualTest { } Frame { msec: 8816 - hash: "fcd2c706258d7f84245d7f4c4f578711" + hash: "045f891731548aae37090e0cefb62170" } Mouse { type: 5 @@ -2906,7 +2906,7 @@ VisualTest { } Frame { msec: 8832 - hash: "95fbe459d9d4b9304f7743ed2955761a" + hash: "3b6f55bc49e7e326e40b0f3faae71a8b" } Mouse { type: 5 @@ -2926,7 +2926,7 @@ VisualTest { } Frame { msec: 8848 - hash: "38618228457b1b8a5b5572f95cefa3c0" + hash: "abc04cd8ca8759f981f8e2c3b30a33ac" } Mouse { type: 5 @@ -2946,7 +2946,7 @@ VisualTest { } Frame { msec: 8864 - hash: "fabf4dcd599440c0aed8f53f3775bfea" + hash: "f96cc6aa0a38639146d8d691d699946b" } Mouse { type: 5 @@ -2966,7 +2966,7 @@ VisualTest { } Frame { msec: 8880 - hash: "4f93faf3f05bf4a0f93806a57249f264" + hash: "483743419cee348e8f6e24fd1e900ae6" } Mouse { type: 5 @@ -2986,7 +2986,7 @@ VisualTest { } Frame { msec: 8896 - hash: "3ebbfb29f0dd1f8466bf7f05f6e28c84" + hash: "50292f48ceeaee5f55795aea736631d0" } Mouse { type: 5 @@ -3006,7 +3006,7 @@ VisualTest { } Frame { msec: 8912 - hash: "119df59fa65d757270027302fcb54a4a" + hash: "9739b19d1496baabad1a01cf35c90374" } Mouse { type: 5 @@ -3026,7 +3026,7 @@ VisualTest { } Frame { msec: 8928 - hash: "4fe3e6954d29a485220979dc5a41d22f" + hash: "bcf1719dc1ec19d3cca83e41ffd4ba0d" } Mouse { type: 5 @@ -3046,7 +3046,7 @@ VisualTest { } Frame { msec: 8944 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3066,11 +3066,11 @@ VisualTest { } Frame { msec: 8960 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 8976 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3090,7 +3090,7 @@ VisualTest { } Frame { msec: 8992 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3102,55 +3102,55 @@ VisualTest { } Frame { msec: 9008 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9024 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9040 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9056 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9072 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9088 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9104 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9120 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9136 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9152 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9168 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9184 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Frame { msec: 9200 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3162,7 +3162,7 @@ VisualTest { } Frame { msec: 9216 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3174,7 +3174,7 @@ VisualTest { } Frame { msec: 9232 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3194,7 +3194,7 @@ VisualTest { } Frame { msec: 9248 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3214,7 +3214,7 @@ VisualTest { } Frame { msec: 9264 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3234,7 +3234,7 @@ VisualTest { } Frame { msec: 9280 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3254,7 +3254,7 @@ VisualTest { } Frame { msec: 9296 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3274,7 +3274,7 @@ VisualTest { } Frame { msec: 9312 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3294,7 +3294,7 @@ VisualTest { } Frame { msec: 9328 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3314,7 +3314,7 @@ VisualTest { } Frame { msec: 9344 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3334,7 +3334,7 @@ VisualTest { } Frame { msec: 9360 - hash: "a55b441971f1964165ecb5204138de6a" + hash: "192a6cf285d42c7a2996bf0342e69c97" } Mouse { type: 5 @@ -3354,7 +3354,7 @@ VisualTest { } Frame { msec: 9376 - hash: "fb89eb81e839415d143584bfa5a173bb" + hash: "b79a6b6b2a670212a0f4310323352862" } Mouse { type: 5 @@ -3374,7 +3374,7 @@ VisualTest { } Frame { msec: 9392 - hash: "fb89eb81e839415d143584bfa5a173bb" + hash: "b79a6b6b2a670212a0f4310323352862" } Mouse { type: 5 @@ -3394,7 +3394,7 @@ VisualTest { } Frame { msec: 9408 - hash: "fb89eb81e839415d143584bfa5a173bb" + hash: "b79a6b6b2a670212a0f4310323352862" } Mouse { type: 5 @@ -3414,7 +3414,7 @@ VisualTest { } Frame { msec: 9424 - hash: "d1f1478814752c8c8174b13cb8004840" + hash: "82ad8cef2dc81cf061785c211f1b2233" } Mouse { type: 5 @@ -3434,7 +3434,7 @@ VisualTest { } Frame { msec: 9440 - hash: "ab1fc96781b13ab2d1529733314b06b0" + hash: "dc5c2e4ac2c51ac7b84a527a77313ff5" } Mouse { type: 5 @@ -3454,7 +3454,7 @@ VisualTest { } Frame { msec: 9456 - hash: "ab1fc96781b13ab2d1529733314b06b0" + hash: "dc5c2e4ac2c51ac7b84a527a77313ff5" } Mouse { type: 5 @@ -3474,7 +3474,7 @@ VisualTest { } Frame { msec: 9472 - hash: "6611c3444e8e1c580f9520729f72e3f1" + hash: "dceeee37f46351f54a6dbf9e1d304017" } Mouse { type: 5 @@ -3494,7 +3494,7 @@ VisualTest { } Frame { msec: 9488 - hash: "6611c3444e8e1c580f9520729f72e3f1" + hash: "dceeee37f46351f54a6dbf9e1d304017" } Mouse { type: 5 @@ -3514,7 +3514,7 @@ VisualTest { } Frame { msec: 9504 - hash: "ffcd54ddae6c10f13719a219991676f8" + hash: "b5b370f86804d875363c8aa9fa53c0fe" } Mouse { type: 5 @@ -3534,7 +3534,7 @@ VisualTest { } Frame { msec: 9520 - hash: "ffcd54ddae6c10f13719a219991676f8" + hash: "b5b370f86804d875363c8aa9fa53c0fe" } Mouse { type: 5 @@ -3546,7 +3546,7 @@ VisualTest { } Frame { msec: 9536 - hash: "ffcd54ddae6c10f13719a219991676f8" + hash: "b5b370f86804d875363c8aa9fa53c0fe" } Mouse { type: 5 @@ -3566,7 +3566,7 @@ VisualTest { } Frame { msec: 9552 - hash: "c238beb854cf7fc10b6e66da121cce67" + hash: "8ae0e57709d94c27ecf34f9e76623ba8" } Mouse { type: 5 @@ -3586,7 +3586,7 @@ VisualTest { } Frame { msec: 9568 - hash: "c238beb854cf7fc10b6e66da121cce67" + hash: "8ae0e57709d94c27ecf34f9e76623ba8" } Mouse { type: 5 @@ -3606,7 +3606,7 @@ VisualTest { } Frame { msec: 9584 - hash: "f14cf91c575fc535a78f9b5ed8cb0e77" + hash: "a29b5440525c9fbed90096f287396c91" } Mouse { type: 5 @@ -3626,7 +3626,7 @@ VisualTest { } Frame { msec: 9600 - hash: "92f069682e3da947d3dc933710651f89" + hash: "d1091d48e0875fec9372c382c6961562" } Mouse { type: 5 @@ -3658,7 +3658,7 @@ VisualTest { } Frame { msec: 9632 - hash: "92f069682e3da947d3dc933710651f89" + hash: "d1091d48e0875fec9372c382c6961562" } Mouse { type: 5 @@ -3678,7 +3678,7 @@ VisualTest { } Frame { msec: 9648 - hash: "92f069682e3da947d3dc933710651f89" + hash: "d1091d48e0875fec9372c382c6961562" } Mouse { type: 5 @@ -3698,7 +3698,7 @@ VisualTest { } Frame { msec: 9664 - hash: "4ca308a9d8f3bb87716572c68fad7040" + hash: "e1ac646b512dec95946fb52811c269da" } Mouse { type: 5 @@ -3718,7 +3718,7 @@ VisualTest { } Frame { msec: 9680 - hash: "4881497fb4545083332f9df690c318ca" + hash: "29dfbe2f8ecee4ff5ecdf358a94f35f8" } Mouse { type: 5 @@ -3738,7 +3738,7 @@ VisualTest { } Frame { msec: 9696 - hash: "a71d94653ec839a0f1f135f3c83653d4" + hash: "2ce02f81e21d4f9a3fd8d78fc8182898" } Mouse { type: 5 @@ -3758,7 +3758,7 @@ VisualTest { } Frame { msec: 9712 - hash: "547567cd4c4c265a6f9684c8af537825" + hash: "09e41ca9d2286e99cdecb446a33cbf99" } Mouse { type: 5 @@ -3778,7 +3778,7 @@ VisualTest { } Frame { msec: 9728 - hash: "b6776260aa3bf44338ba6ac694b855d3" + hash: "6d780f15bc7597420fc10b1a2f1c7f7f" } Mouse { type: 5 @@ -3798,7 +3798,7 @@ VisualTest { } Frame { msec: 9744 - hash: "190e18262e86e3341e0131cfe0d15edc" + hash: "afb956a94411eba22a0257faa5cbc57f" } Mouse { type: 5 @@ -3818,7 +3818,7 @@ VisualTest { } Frame { msec: 9760 - hash: "3b6059bba0a5092d3667bf2b1c1b6c71" + hash: "8739d2d2f9d96f0bce61ce95bf1e6062" } Mouse { type: 5 @@ -3838,7 +3838,7 @@ VisualTest { } Frame { msec: 9776 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3858,7 +3858,7 @@ VisualTest { } Frame { msec: 9792 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3870,7 +3870,7 @@ VisualTest { } Frame { msec: 9808 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3882,7 +3882,7 @@ VisualTest { } Frame { msec: 9824 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3894,7 +3894,7 @@ VisualTest { } Frame { msec: 9840 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3906,11 +3906,11 @@ VisualTest { } Frame { msec: 9856 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 9872 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3922,7 +3922,7 @@ VisualTest { } Frame { msec: 9888 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3934,7 +3934,7 @@ VisualTest { } Frame { msec: 9904 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3946,7 +3946,7 @@ VisualTest { } Frame { msec: 9920 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3958,11 +3958,11 @@ VisualTest { } Frame { msec: 9936 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 9952 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3974,7 +3974,7 @@ VisualTest { } Frame { msec: 9968 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3986,7 +3986,7 @@ VisualTest { } Frame { msec: 9984 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -3998,11 +3998,11 @@ VisualTest { } Frame { msec: 10000 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10016 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 5 @@ -4014,59 +4014,59 @@ VisualTest { } Frame { msec: 10032 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10048 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10064 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10080 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10096 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10112 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10128 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10144 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10160 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10176 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10192 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10208 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10224 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10240 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Mouse { type: 3 @@ -4078,83 +4078,83 @@ VisualTest { } Frame { msec: 10256 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10272 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10288 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10304 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10320 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10336 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10352 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10368 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10384 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10400 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10416 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10432 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10448 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10464 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10480 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10496 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10512 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10528 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10544 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10560 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10576 @@ -4162,174 +4162,174 @@ VisualTest { } Frame { msec: 10592 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10608 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10624 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10640 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10656 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10672 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10688 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10704 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10720 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10736 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10752 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10768 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10784 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10800 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10816 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10832 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10848 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10864 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10880 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10896 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10912 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10928 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10944 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10960 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10976 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 10992 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11008 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11024 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11040 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11056 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11072 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11088 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11104 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11120 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11136 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11152 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11168 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11184 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11200 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11216 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11232 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11248 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } Frame { msec: 11264 - hash: "7e3db3b35aa908d1ff0d0e43d6dbdb54" + hash: "4e2cb8e4cedab8df2ff823e18b17e575" } } diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp index ce08eab..2a15102 100644 --- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp +++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp @@ -102,43 +102,19 @@ void tst_qmlvisual::visual_data() QTest::addColumn<QString>("testdata"); QStringList files; - if (qgetenv("QMLVISUAL_ALL") != "0") - files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); - else { - //these are newly added tests we want to try out in CI (then move to the stable list) - files << QT_TEST_SOURCE_DIR "/animation/qtbug10586/qtbug10586.qml"; - files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/animated.qml"; - files << QT_TEST_SOURCE_DIR "/qdeclarativeflipable/test-flipable.qml"; - files << QT_TEST_SOURCE_DIR "/qdeclarativepositioners/usingRepeater.qml"; - files << QT_TEST_SOURCE_DIR "/animation/parentAnimation2/parentAnimation2.qml"; - - //these are tests we think are stable and useful enough to be run by the CI system - files << QT_TEST_SOURCE_DIR "/animation/bindinganimation/bindinganimation.qml"; - files << QT_TEST_SOURCE_DIR "/animation/loop/loop.qml"; - files << QT_TEST_SOURCE_DIR "/animation/parallelAnimation/parallelAnimation-visual.qml"; - files << QT_TEST_SOURCE_DIR "/animation/parentAnimation/parentAnimation-visual.qml"; - files << QT_TEST_SOURCE_DIR "/animation/reanchor/reanchor.qml"; - files << QT_TEST_SOURCE_DIR "/animation/scriptAction/scriptAction-visual.qml"; - files << QT_TEST_SOURCE_DIR "/qdeclarativemousearea/drag.qml"; - files << QT_TEST_SOURCE_DIR "/fillmode/fillmode.qml"; - - // new tests - files << QT_TEST_SOURCE_DIR "/qdeclarativemousearea/mousearea-flickable.qml"; - - //these reliably fail in CI, for unknown reasons - //files << QT_TEST_SOURCE_DIR "/animation/easing/easing.qml"; - //files << QT_TEST_SOURCE_DIR "/animation/pauseAnimation/pauseAnimation-visual.qml"; - //files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/borders.qml"; - //files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/animated-smooth.qml"; - - //these reliably fail on Linux because of color interpolation (different float rounding) -#if !defined(Q_WS_X11) && !defined(Q_WS_QWS) - files << QT_TEST_SOURCE_DIR "/animation/colorAnimation/colorAnimation-visual.qml"; - files << QT_TEST_SOURCE_DIR "/animation/propertyAction/propertyAction-visual.qml"; + files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); + if (qgetenv("QMLVISUAL_ALL") != "1") { +#if defined(Q_WS_X11) + //Text on X11 varies per distro - and the CI system is currently using something outdated. + foreach(const QString &str, files.filter(QRegExp(".*text.*"))) + files.removeAll(str); +#endif +#if defined(Q_WS_QWS) + //We don't want QWS test results to mire down the CI system + files.clear(); + //Needs at least one test data or it fails anyways + files << QT_TEST_SOURCE_DIR "/selftest_noimages/selftest_noimages.qml"; #endif - - //this is unstable because the MouseArea press-and-hold timer is not synchronized to the animation framework. - //files << QT_TEST_SOURCE_DIR "/qdeclarativemousearea/mousearea-visual.qml"; } foreach (const QString &file, files) { diff --git a/tests/auto/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/qdbusconnection/tst_qdbusconnection.cpp index 96209b1..599abbd 100644 --- a/tests/auto/qdbusconnection/tst_qdbusconnection.cpp +++ b/tests/auto/qdbusconnection/tst_qdbusconnection.cpp @@ -298,7 +298,7 @@ void tst_QDBusConnection::registerObject() // register one object at root: MyObject obj; QVERIFY(con.registerObject(path, &obj, QDBusConnection::ExportAllSlots)); - QCOMPARE(con.objectRegisteredAt(path), &obj); + QCOMPARE(con.objectRegisteredAt(path), static_cast<QObject *>(&obj)); QVERIFY(callMethod(con, path)); QCOMPARE(obj.path, path); } @@ -495,7 +495,7 @@ void tst_QDBusConnection::callSelf() QDBusConnection connection = QDBusConnection::sessionBus(); QVERIFY(connection.registerObject("/test", &testObject, QDBusConnection::ExportAllContents)); - QCOMPARE(connection.objectRegisteredAt("/test"), &testObject); + QCOMPARE(connection.objectRegisteredAt("/test"), static_cast<QObject *>(&testObject)); QVERIFY(connection.registerService(serviceName())); QDBusInterface interface(serviceName(), "/test"); QVERIFY(interface.isValid()); diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp index e38bf42..cc2cac9 100644 --- a/tests/auto/qgl/tst_qgl.cpp +++ b/tests/auto/qgl/tst_qgl.cpp @@ -97,6 +97,7 @@ private slots: void qglContextDefaultBindTexture(); void textureCleanup(); void threadImages(); + void nullRectCrash(); }; tst_QGL::tst_QGL() @@ -2375,6 +2376,28 @@ void tst_QGL::threadImages() delete widget; } +void tst_QGL::nullRectCrash() +{ + if (!QGLFramebufferObject::hasOpenGLFramebufferObjects()) + QSKIP("QGLFramebufferObject not supported on this platform", SkipSingle); + + QGLWidget glw; + glw.makeCurrent(); + + QGLFramebufferObjectFormat fboFormat; + fboFormat.setAttachment(QGLFramebufferObject::CombinedDepthStencil); + + QGLFramebufferObject *fbo = new QGLFramebufferObject(128, 128, fboFormat); + + QPainter fboPainter(fbo); + + fboPainter.setPen(QPen(QColor(255, 127, 127, 127), 2)); + fboPainter.setBrush(QColor(127, 255, 127, 127)); + fboPainter.drawRect(QRectF()); + + fboPainter.end(); +} + class tst_QGLDummy : public QObject { Q_OBJECT diff --git a/tests/auto/qkeysequence/tst_qkeysequence.cpp b/tests/auto/qkeysequence/tst_qkeysequence.cpp index 60f022f..55c7edf 100644 --- a/tests/auto/qkeysequence/tst_qkeysequence.cpp +++ b/tests/auto/qkeysequence/tst_qkeysequence.cpp @@ -405,7 +405,7 @@ void tst_QKeySequence::mnemonic() #ifndef QT_NO_DEBUG if (warning) { - QString str = QString::fromLatin1("QKeySequence::mnemonic: \"%1\" contains multiple occurences of '&'").arg(string); + QString str = QString::fromLatin1("QKeySequence::mnemonic: \"%1\" contains multiple occurrences of '&'").arg(string); QTest::ignoreMessage(QtWarningMsg, qPrintable(str)); // qWarning(qPrintable(str)); } diff --git a/tools/assistant/tools/assistant/helpenginewrapper.cpp b/tools/assistant/tools/assistant/helpenginewrapper.cpp index a53a9ee..748ad2c 100644 --- a/tools/assistant/tools/assistant/helpenginewrapper.cpp +++ b/tools/assistant/tools/assistant/helpenginewrapper.cpp @@ -144,7 +144,7 @@ HelpEngineWrapper::HelpEngineWrapper(const QString &collectionFile) /* * Otherwise we will waste time if several new docs are found, - * because we will start to index them, only to be interupted + * because we will start to index them, only to be interrupted * by the next request. Also, there is a nasty SQLITE bug that will * cause the application to hang for minutes in that case. * This call is reverted by initalDocSetupDone(), which must be diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp index d348e70..b660eb3 100644 --- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp +++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp @@ -46,6 +46,7 @@ #include <private/qgraphicssystem_runtime_p.h> #include <private/qpixmap_raster_p.h> #include "qmeegoruntime.h" +#include "qmeegoswitchevent.h" QString QMeeGoGraphicsSystemHelper::runningGraphicsSystemName() { @@ -81,8 +82,16 @@ void QMeeGoGraphicsSystemHelper::switchToMeeGo() if (QApplicationPrivate::instance()->graphics_system_name != QLatin1String("runtime")) qWarning("Can't switch to meego - switching only supported with 'runtime' graphics system."); else { + QMeeGoSwitchEvent willSwitchEvent(QLatin1String("meego"), QMeeGoSwitchEvent::WillSwitch); + foreach (QWidget *widget, QApplication::topLevelWidgets()) + QCoreApplication::sendEvent(widget, &willSwitchEvent); + QApplication *app = static_cast<QApplication *>(QCoreApplication::instance()); app->setGraphicsSystem(QLatin1String("meego")); + + QMeeGoSwitchEvent didSwitchEvent(QLatin1String("meego"), QMeeGoSwitchEvent::DidSwitch); + foreach (QWidget *widget, QApplication::topLevelWidgets()) + QCoreApplication::sendEvent(widget, &didSwitchEvent); } } @@ -94,8 +103,16 @@ void QMeeGoGraphicsSystemHelper::switchToRaster() if (QApplicationPrivate::instance()->graphics_system_name != QLatin1String("runtime")) qWarning("Can't switch to raster - switching only supported with 'runtime' graphics system."); else { + QMeeGoSwitchEvent willSwitchEvent(QLatin1String("raster"), QMeeGoSwitchEvent::WillSwitch); + foreach (QWidget *widget, QApplication::topLevelWidgets()) + QCoreApplication::sendEvent(widget, &willSwitchEvent); + QApplication *app = static_cast<QApplication *>(QCoreApplication::instance()); app->setGraphicsSystem(QLatin1String("raster")); + + QMeeGoSwitchEvent didSwitchEvent(QLatin1String("raster"), QMeeGoSwitchEvent::DidSwitch); + foreach (QWidget *widget, QApplication::topLevelWidgets()) + QCoreApplication::sendEvent(widget, &didSwitchEvent); } } diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h index 2baacbb..d47c829 100644 --- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h +++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h @@ -102,6 +102,9 @@ public: When running with the 'runtime' graphics system, sets the currently active system to 'meego'. The window surface and all the resources are automatically migrated to OpenGL. Will fail if the active graphics system is not 'runtime'. + Calling this function will emit QMeeGoSwitchEvent to the top level widgets. + Two events will be emitted for each switch -- one before the switch (QMeeGoSwitchEvent::WillSwitch) + and one after the switch (QMeeGoSwitchEvent::DidSwitch). */ static void switchToMeeGo(); @@ -111,6 +114,9 @@ public: system to 'raster'. The window surface and the graphics resources (including the EGL shared image resources) are automatically migrated back to the CPU. All OpenGL resources (surface, context, cache, font cache) are automaticall anihilated. + Calling this function will emit QMeeGoSwitchEvent to the top level widgets. + Two events will be emitted for each switch -- one before the switch (QMeeGoSwitchEvent::WillSwitch) + and one after the switch (QMeeGoSwitchEvent::DidSwitch). */ static void switchToRaster(); diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro index 161a31b..360847e 100644 --- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro +++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro @@ -6,5 +6,5 @@ include(../../src/qbase.pri) QT += gui INCLUDEPATH += '../../src/plugins/graphicssystems/meego' -HEADERS = qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h -SOURCES = qmeegographicssystemhelper.cpp qmeegooverlaywidget.cpp qmeegoruntime.cpp qmeegolivepixmap.cpp qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h qmeegofencesync.cpp +HEADERS = qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h qmeegoswitchevent.h +SOURCES = qmeegographicssystemhelper.cpp qmeegooverlaywidget.cpp qmeegoruntime.cpp qmeegolivepixmap.cpp qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h qmeegofencesync.cpp qmeegoswitchevent.cpp qmeegoswitchevent.h diff --git a/tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp b/tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp new file mode 100644 index 0000000..b136ce8 --- /dev/null +++ b/tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** 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 plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qmeegoswitchevent.h" + +QMeeGoSwitchEvent::QMeeGoSwitchEvent(const QString &graphicsSystemName, QMeeGoSwitchEvent::State s) : QEvent((QEvent::Type) QMeeGoSwitchEvent::SwitchEvent) +{ + name = graphicsSystemName; + switchState = s; +} + +QString QMeeGoSwitchEvent::graphicsSystemName() const +{ + return name; +} + +QMeeGoSwitchEvent::State QMeeGoSwitchEvent::state() const +{ + return switchState; +}
\ No newline at end of file diff --git a/tools/qmeegographicssystemhelper/qmeegoswitchevent.h b/tools/qmeegographicssystemhelper/qmeegoswitchevent.h new file mode 100644 index 0000000..2d8371e --- /dev/null +++ b/tools/qmeegographicssystemhelper/qmeegoswitchevent.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QEvent> +#include <QString> + +//! A custom event representing a graphics system switch. +/*! + This event is sent two times -- before the actual switch and after the switch. + The current mode of the event can be detected by looking at the State of the + event. + + The end-user application can use the event to drop it's own allocated GL resources + when going to software mode. +*/ + +class QMeeGoSwitchEvent : public QEvent +{ +public: + + //! The state represented by this event. + enum State { + WillSwitch, + DidSwitch + }; + + //! The event type id to use to detect this event. + enum Type { + SwitchEvent = QEvent::User + 1024 + }; + + //! Constructor for the event. + /*! + Creates a new event with the given name and the given state. + */ + QMeeGoSwitchEvent(const QString &graphicsSystemName, State s); + + //! Returns the name of the target graphics system. + /*! + Depending on the state, the name represents the system we're about to swtich to, + or the system we just switched to. + */ + QString graphicsSystemName() const; + + //! Returns the state represented by this event. + State state() const; + +private: + QString name; + State switchState; +}; diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp index 579f1ab..209c72f 100644 --- a/tools/qml/main.cpp +++ b/tools/qml/main.cpp @@ -155,7 +155,11 @@ void usage() qWarning(" -I <directory> ........................... prepend to the module import search path,"); qWarning(" display path if <directory> is empty"); qWarning(" -P <directory> ........................... prepend to the plugin search path"); +#if defined(Q_WS_MAC) + qWarning(" -no-opengl ............................... don't use a QGLWidget for the viewport"); +#else qWarning(" -opengl .................................. use a QGLWidget for the viewport"); +#endif qWarning(" -script <path> ........................... set the script to use"); qWarning(" -scriptopts <options>|help ............... set the script options to use"); @@ -370,8 +374,13 @@ static void parseCommandLineOptions(const QStringList &arguments) } else if (arg == "-translation") { if (lastArg) usage(); opts.translationFile = arguments.at(++i); +#if defined(Q_WS_MAC) + } else if (arg == "-no-opengl") { + opts.useGL = false; +#else } else if (arg == "-opengl") { opts.useGL = true; +#endif } else if (arg == "-qmlbrowser") { opts.useNativeFileBrowser = false; } else if (arg == "-warnings") { |