Commit Graph

2711 Commits

Author SHA1 Message Date
Gunnar Sletta 2b0f8a7b8c Mark failing testcases with QEXPECT_FAIL for windows
Task-number: QTBUG-39961
Change-Id: I981159921b38ac2af37e8a6d715f0d67d6f01da8
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-01 12:29:46 +02:00
Oleg Shparber 435fb27335 Allow integer values to be assigned QList<qreal> properties
Before this patch it was not possible to assign an integer value to
QList<qreal> property, while it worked for non-list properties.

Change-Id: Iab00288f7d78f4f76056ab4291700d7f51626de4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-25 17:31:47 +02:00
Simon Hausmann 9f22767784 Fix crash in QQmlDelegateModel during destruction phase
It has been reported multiple times (with different back traces) that
the QQmlDelegateModel tries to access a dangling QQmlContext pointer.
The scenarios for reaching this point differ slightly, one such scenario
is very late model activity during the scene destruction. The provided
test-case simulates that and the provided patch guards the QQmlContext
in a QPointer.

Task-number: QTBUG-39780
Change-Id: I594ee4918cd1b78c5db5c164314e85e9eea99fbd
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
2014-06-24 17:09:35 +02:00
Simon Hausmann cf93acbee6 Exclude private methods and QObject::deleteLater from enumerable properties
This is a regression from Qt 5.1/5.0 introduced with 5.2. Private slots/methods
such as QObject::_q_reRegisterTimers() as well as QObject::deleteLater() are
not suitable for calls from JavaScript. deleteLater() in particular is covered
by the destroy() replacement slot.

Task-number: QTBUG-39744
Change-Id: I9b25f3c0d4095ba8e2e8e5ee47e37903b5def1f9
Reviewed-by: Michael Brasser <michael.brasser@live.com>
2014-06-24 16:48:18 +02:00
Ulf Hermann 2b179c74b7 Test the javascript heap profiler
Change-Id: I6ac08e520e263ae1cda9eeccd08dea997f6bdd2f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-18 18:45:23 +02:00
Simon Hausmann 9932617582 Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/quickwidgets/qquickwidget.cpp

Change-Id: Id4b080aea713df68608847bb82570231e37ce536
2014-06-13 23:10:03 +02:00
Erik Verbruggen d74927cf5d V4 RegAlloc: change life-time intervals from closed to half-open.
There are two changes in this patch, that go hand-in-hand. First, when
re-numbering the statements in order of occurrence in the scheduled
basic-blocks, the (new) position is not stored in the statement itself,
but in the LifeTimeIntervals class. This makes it possible to re-use
information gathered during SSA formation or optimization.

The re-numbering itself has also changed, resulting in some minor
changes to the life-time interval calculation. The new numbering
is described in LifeTimeIntervals::renumber(). The reason is to make it
easy for the register allocator and stack-slot allocator to distinguish
between definition of a temporary and its uses. Example:

  20: %3 = %2 + %1
  22: print(%3)

If the life-time of %2 or %1 ends at 20, then at the point that %3 gets
assigned, it can re-use the storage occupied by %1 or %2. Also, when
both %1 and %2 need to get a register assigned (because they were
spilled to the stack, for example), %3 should be allocated "after" both
%1 and %2. So, instead of having a closed interval of [20-22] for %3, we
want to use an open interval of (20-22]. To simulate the "open" part, the
life-time of %3 is set to [21-22]. So, all statements live on even
positions, and temporaries defined by a statement start at
statmentPosition + 1.

Change-Id: I0eda2c653b0edf1a529bd0762d338b0ea9a66aa0
Sanity-Review: Qt Sanity Bot <qt_sanitybot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-06-13 10:29:33 +02:00
Simon Hausmann cb0a47a48d Add support for translations in pure QJSEngine based environments
Re-add the QScriptEngine::addTranslatorFunctions API that brings back
qsTr() and friends to pure QJSEngine based environments.

The auto-test were also ported where applicable.

Change-Id: Ib03e3495ef09eeea9e4c8341061499768caed307
Sanity-Review: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-06-13 09:10:04 +02:00
Joni Poikelin e897eec27d Fix forwarding of keyboard events to multiple target items
Fix regression when multiple items are set to Keys.forwardTo attached
property. QML items accept key events automatically and event should be
by default in accepted state when entering handler.

Task-number: QTBUG-39168
Change-Id: Ibf6c163c4059269996113634efa48ad2fe4d838d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-06-11 17:47:23 +02:00
Ulf Hermann ac56e7cda7 Javascript heap profiler
This profiler tracks every memory allocation and deallocation, by the
MemoryManager as well as the V4 VM, and exposes them as a stream of
events to the profiler service.

Change-Id: I85297d498f0a7eb55df5d7829c4b7307de980519
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-06 18:18:35 +02:00
Ulf Hermann 0d3dc8c9e4 Keep QML and JS messages separate in QQmlProfilerService test
Like that we can deal with misbehaving clocks in the tested
application.

Task-number: QTBUG-39169
Change-Id: Ia9f9844efb6f20508bccac3ca2d593d01d55fc83
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-06 10:47:39 +02:00
Gunnar Sletta ec8f1ad27e Fix opacity issue in the renderer.
Given the following tree:

OpacityNode
    |
TransformNode (which is a batch root)
    |
GeometryNode

If both opacity and transform nodes were changed this frame, we would
hit the optimized "scrolling" path while traversing the tree and abort
updating that subtree. As a result the opacity change was not
propegated to the geometry node and it would be rendered incorrectly.

Fix this by skipping the optimized path when there are opacity changes
in an ancestor.

Task-number: QTBUG-39190
Change-Id: Ieaebfe3de62b961204bd3103fe9913d60e75e412
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-05 16:31:00 +02:00
Aleix Pol 722c063187 Process children first when delivering drag events
[ChangeLog][QtQuick][Important Behavior Changes] Drag and Drop events
now propagate to child items before their parents.

Change-Id: I22832d707c7cb2461eaa94d659c5cc83506def8d
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-06-05 03:48:39 +02:00
kh1 0f9cf70501 Fix method overload calling of Qt slots from JavaScript
After commit ac57f185d1 we succeed in selecting
the correct overload based on the supplied arguments. However when calling
slots on objects without a property cache, we end up using the local "dummy"
variable to store the synthetic propert data. We also store the currently best
patch in the "best" variable, which is a _pointer_ to the property data of the
match. Suppose we have 5 overloads to choose from, we find that the 3rd is
the best. Then we try the fourth but find it unsufficient and break out of
the loop. Unfortunately the "dummy" property data at this point contains the
data of the fourth (wrong) overload, and our best match variable points to it.
So then when we finally call the method, we do it based on the wrong property
data.

The easy patch is to simply copy the few bytes of property data, so "best" is
stored by value instead of pointer.

Change-Id: Ie2ebbdb88a117770b6c7b9490e1c634077020e9d
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
2014-06-04 18:52:58 +02:00
Simon Hausmann 11a11d1280 Merge remote-tracking branch 'origin/stable' into dev
The merge conflict is about the removal of "d1" from the register
set on ARM, but that was already done in dev in commit ddb33ee9ba

The change in src/quick/scenegraph/coreapi/qsgrenderer.cpp with commit 2414f1675e
was reverted to what it was before, per Laszlo's advice.

Conflicts:
	src/qml/jit/qv4isel_masm.cpp

Change-Id: I7bce546c5cdee01e37853a476d82279d4e72948b
2014-06-04 17:02:55 +02:00
Albert Astals Cid 297ee9cc2c Make ItemViews displayMargin work correctly when set to negative values
We need to call forceLayoutPolish instead of refillOrLayout
so that the visibility is correctly updated. Also update one
line that sets visibility in GridView

Change-Id: I29fa67cdd5196a744fab9507b4104cb83ad4bf5e
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
2014-06-04 13:34:44 +02:00
Simon Hausmann 52e07d564b Rework custom parser integration
The custom parser design used to be so that the custom parser operates on the "AST",
creates its own binary representation of the data it needs, stores it in a QByteArray
and gets that at object instantiation time. That meant serializing everything necessary.
With the introduction of the "binary" QML data structure, that process of serialization
becomes obsolete and would require extra work in the custom parsers for example for QQuickStates
to store the translation parameters.

The clean solution is to eliminate this unnecessary serialization process and
instead let the custom parsers do a verification pass at type compile time and
then simply operate directly on the QV4::CompiledData::Bindings at object
instantiation time. That simplifies the code, and allows for support of
translations throughout all list model properties.

Additionally this speeds up the creation of state objects and reduces memory
consumption. Previously a text: qsTr("foo") binding in states would result in
an actual java script binding. After this patch it is merely stored as a string
and translated at object instantiation time.

Change-Id: I7550274513f54abb09a0ab4de51c4c0bcdb23cae
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-06-04 08:25:52 +02:00
Ulf Hermann 9474bab37d Dump all received messages if tst_QQmlProfilerService fails
Without all the context we can't really tell what happened.

Task-number: QTBUG-39169
Change-Id: Ic5192498440a0d55c279549243dfce65f8168317
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-02 16:38:20 +02:00
Erik Verbruggen bc9e86ef58 V4: support calling constants.
Consider:
  function f() {
    var a;
    a();
  }

Here the constant propagation will propagate the value for a (undefined)
to the call site. This was not yet handled, resulting in Q_UNIMPLEMENTED
warnings when running a debug build.

Change-Id: I5f85f681d975b54df7a9e00bd5b50e6f4350139a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-02 16:13:15 +02:00
Bernd Weimer bc59d42e0f QNX: Fix qquicktext auto test
Change-Id: I06acf7dcd6e83c6b665163f4eb9e5ee55ecf85b2
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2014-05-30 13:01:53 +02:00
J-P Nurmi 0306626a4d Fix emission of QQmlListModel::rowsAboutToBeXxx() signals
Call beginInsertRows(), beginMoveRows() and beginRemoveRows() before
the change to ensure that rowsAboutToBeInserted(), rowsAboutToBeMoved()
and rowsAboutToBeRemoved() get emitted before the change as appropriate.

NOTE: This patch solves the problem for the most common use case, when
ListModel is used without WorkerScript. QQmlListModelWorkerAgent needs
similar changes in order to fix the signals when ListModel is used with
WorkerScript (QTBUG-39321).

Task-number: QTBUG-39279
Change-Id: Idec5167d70b242f6f7d8b7cff008e130afc62505
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2014-05-29 09:25:44 +02:00
Bernd Weimer 9bdd35b4ef Fix tst_textinput.qml
On platforms that have QT_NO_CLIPBOARD defined copy/paste/cut functions
are not available.

Change-Id: I28be021f45cd5a5fe8aaad2752d379c3eebea8cf
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2014-05-28 09:37:27 +02:00
Simon Hausmann 228fe20d82 Fix crash (failing assertion) when declaring a non-string id property
This isn't very useful QML, but the following was "legal" in 5.1:

    property int id:
    id: foo

The integer property was not set, but the object's name (id) was still set.
With 5.3 this causes a failing assertion, which shouldn't happen. We should
do the same thing as the old code in QQmlComponent::buildProperty did for
id properties: Set them only if they're of string type.

Task-number: QTBUG-38463
Change-Id: I0da58557fbfb0944f53127e0ee77117ac33ce250
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-27 07:53:24 +02:00
Simon Hausmann 7a5f70d6e5 Fix QQmlScriptString::isEmpty for script strings without source code
The source code is not strictly required anymore and QQmlScriptString should
return true with isEmpty() if the object is conceptually empty (not usable),
not only when the source code is empty. It can still have a valid binding id
and thus be used in QQmlExpression.

Change-Id: I777717f2217d0c46e059c382761a1044881c5978
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-27 07:53:01 +02:00
Oswald Buddenhagen 201c4fb670 deduplicate and decruft SUBDIRS list
Change-Id: I56266efbe1623a529c3cf3609254abda443cf940
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-05-26 21:28:57 +02:00
Ulf Hermann d8375954d1 Record synchronous and asynchronous events separately in profiler test
Render events as well as frame painting and keyboard and mouse
interaction happen largely independently of QML engine events. We
cannot rely on a specific composite order of both types. The tests
are written in a way that allows us to rely on a specific order
within each group, though.

Pixmap cache events are a special case and need their own category
as the load start events are synchronous while all others are
asynchronous. Still, there is a defined ordering between them.

Task-number: QTBUG-39169
Change-Id: I35220a22dcb08ea0bb7286e27347c287a5ce7983
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-05-22 17:16:39 +02:00
Simon Hausmann 800025fb70 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0dd91626837276f5811e4830f4a4e9f89bf1e1bd
2014-05-22 07:48:54 +02:00
Simon Hausmann eb0f984994 Re-enable qquicktextinput test on Mac OS X
Fixed in qtbase with commit 40b195d0f9ee7ef1b917a635bb073fa108b2ed40

Change-Id: I4af6080dde9c6356c11f09a6ded86ce9ce28b6e0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-21 19:21:20 +02:00
J-P Nurmi dc5f86c8ff Introduce TextInput::ensureVisible(int position)
This is required for TextField to be able to implement text selection
handles. TextField needs to be able to ensure that the appropriate
character position becomes visible when the handles are moved around.

[ChangeLog][QtQuick][TextInput] Added TextInput::ensureVisible(int pos)
method to be able to control the scrolling position of a TextInput that
has automatic scrolling enabled.

Task-number: QTBUG-38934
Change-Id: Id77eafcda6324d10868e0798519e5b712a0d33ed
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-21 13:11:18 +02:00
Friedemann Kleint a7122f3b28 Fix tst_qquicktextinput::copyAndPaste() for asynchronous clipboard notification.
Change qtbase 6a61a00ddb21e79412e82069dfef50192bfd724d for Windows uses
new clipboard notification API that results in asynchronous clipboard
notifications.

Task-number: QTBUG-39145
Task-number: QTBUG-38670
Task-number: QTBUG-33492
Change-Id: I0de78ecba5c67bf6a66f07e59312667f6ce6bf88
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-05-21 11:13:31 +02:00
Iikka Eklund 3ed6361bba Merge remote-tracking branch 'origin/release' into stable
Change-Id: I939d6b9d10b3f50d9024b80d7a215b8fd04e8d56
2014-05-20 13:26:15 +03:00
Oleg Shparber 009ad875f8 Fix improper antialiasing property behavior
For components antialiased by default the property was returned
as false if default true value was set to true again.

Task-number: QTBUG-39047
Change-Id: I16960a12b6d38a0d9e487fc6612610c39c4949d4
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-19 20:16:37 +02:00
J-P Nurmi 7667904801 Fix tst_qquicktextedit::cursorRectangle_QTBUG_38947()
Fix the uninitialize variable and make sure the test creates
a window that has a sensible (200x200) size.

Change-Id: I02616ab3c832276921e84ae98b7ed926d8fc5f5e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-05-19 14:49:58 +02:00
Gunnar Sletta 851ae1a77d Fix crash with running animators on re-shown windows.
The non-threaded render loops would clean up the nodes for a window
when it was hidden, but the animators kept running and had a reference
to the deleted nodes. This was not a problem for the threaded render
loop as it would wipe the animator controller as well which would
clean the jobs.

Fix it by triggering a reset of all nodes in the animators when the
window is told to clean up. If an animator is ticked when it doesn't
have a node, it will simply do nothing. When the window is made visible
again, we call initialize on all animators to find the new node.

Task-number: QTBUG-37995
Change-Id: Ie5609d95db29f4b2b30ca5bf641dce901e528389
Reviewed-by: Michael Brasser <michael.brasser@live.com>
2014-05-19 11:15:08 +02:00
J-P Nurmi 8f6254a88e TextEdit: fix cursor rectangle positioning
QQuickTextControl::cursorRectangleChanged() wasn't emitted as
appropriate when dragging mouse => The cursor delegate was stuck
in wrong position under certain circumstances, especially when
selecting multiple lines.

Task-number: QTBUG-38947
Change-Id: Ib5b0d2f6ea2a1b3712fbaba4a7ad1865d2b0a74e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2014-05-16 14:40:21 +02:00
Frederik Gladhorn 815838373a Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-05-15 08:25:53 +02:00
Jan Arve Saether 1246a5673f Don't adjust the position of transitioning list items.
Adjusting the position of list items only makes sense for items that
belongs to the layout.

Task-number: QTBUG-38229
Change-Id: I7a05f7a3591620cce3cd9ab84cfecbe325e5e93c
Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
2014-05-14 21:27:54 +02:00
Kevin Funk 528b720d8f Introduce MouseArea.drag.smoothed
[ChangeLog][QtQuick] Added property MouseArea.drag.smoothed for toggling
whether the drag target is moved to the current mouse position after a
drag operation has started.

Task-number: QTBUG-38539
Change-Id: I989b51bc83fc24c64b84ac8e9a50b352e674e8f8
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2014-05-14 14:05:46 +02:00
Gunnar Sletta 32398200fb Fix regression in QJSValueIterator::next() since Qt 5.1.1
Iteration on the form "while (next) { .. }" would skip
the last element.

Change-Id: I50692a5a75e23e423e82b7a39e1892f505e4c612
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-14 12:16:12 +02:00
Frederik Gladhorn bf332f213b Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I24827851643247b938b3a1b7182864293e5c3fe7
2014-05-13 22:12:48 +02:00
Kevin Funk cf7166e266 Minor: Remove unneeded include from qquickitem.h
Clean up after 0cb12e9e01

Change-Id: I7e7f0c1f7e3b9bb994bc8fd50e1c9ba462e99e28
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-13 10:52:06 +02:00
Frederik Gladhorn 66646dd8c3 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	.qmake.conf
	src/plugins/accessible/quick/quick.pro
	src/quick/items/qquickpincharea.cpp
	src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
	src/quick/scenegraph/qsgthreadedrenderloop.cpp

Manually adjusted for TestHTTPServer constructor change:
    tests/auto/quick/qquickimage/tst_qquickimage.cpp

Change-Id: I5e58a7c08ea92d6fc5e3bce98571c54f7b2ce08f
2014-05-10 11:53:47 +02:00
Simon Hausmann 073cde9d21 Fix QJSEngine::evaluate using the wrong execution context
In contrary to what the documentation says, QJSEngine in Qt 5.x executes
in the context of the global object (QScriptIsolate always called enter
on the QV8Engine's "root" context, thus making it current). The v4
implementation unfortunately did what the documentation said and used
the current context, which is wrong in many ways. For example it completely
breaks the optimization of stack allocated contexts, because when a C++
callback is called from within a JS function with a stack allocated context
and that C++ code calls QJSEngine::evaluate and creates new closures, the
stack context would become an outter context and cause crashes during GC.

This patch restores the behavior of Qt 5.0/5.1 and fixes the documentation.

Task-number: QTBUG-38530
Change-Id: Ie6481f02e676954cc94b188a1c87c88e7c56dafa
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-09 17:27:07 +02:00
Bernd Weimer 4b6856411c Fix tst_textedit.qml
On platforms that have QT_NO_CLIPBOARD defined copy/paste/cut functions
are not available.

Change-Id: Ia2c82d0d3910f89642b1c3ef719caee88da3999e
Reviewed-by: Damian Jansen <damian.jansen@gmail.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-05-09 16:08:38 +02:00
Gunnar Sletta da15ea0f3b Make item.layer and item.layer.effect work inside positioners.
Task-number: QTBUG-31269
Change-Id: Ic3bb76ea5a5055df614f2eaacd3031445f118ca7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-05-08 07:18:53 +02:00
J-P Nurmi 556846aa1f Item views: prevent negative cache buffer
A negative cache buffer does not make much sense, and the item views
would go crazy and start creating/destructing delegates endlessly.

Task-number: QTBUG-38725
Change-Id: I1fbba1f3130a99af67fbc4c2aba4d3199d0554a9
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-05-07 14:46:50 +02:00
Gunnar Sletta ea164757cd Use correct matrix for render nodes.
Change-Id: I8c137383fa32a64ba64ffb4ed48aa123d0ebf000
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-07 13:53:57 +02:00
Kai Koehne 38eb0bef31 Remove references of QML as a 'declarative' language
Though the core of QML is declarative, it incorporates JavaScript, a
multi-paradigm language on its own. It's therefore correct to call it
a multi-paradigm language, too.

Change-Id: Ia72acedafefb68ea8c49b9f6ab195ca9e73dad5f
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-07 08:38:36 +02:00
Berthold Krevert 2e24488fb1 Notify about the focus reason
KeyNavigation sets the focus reason always to Qt::OtherFocusReason. This
should be changed at least for tab and backtab navigation.

Change-Id: I27c654a202e2a80449dd5420460e413ca9cff75e
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-05-06 18:39:03 +02:00
Ulf Hermann 090cae9e69 Be more verbose about actual results in tst_qqmlprofilerservice
QCOMPARE and QVERIFY2 are clearly superior to QVERIFY when comparing
values in tests.

Change-Id: Ia860d6f087680066fbe0ffa311b5557e77f1720c
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-05-06 13:39:48 +02:00