| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
These tests now can find their data files even when running from
a different directory than the source directory, and they no longer
misuse QUrl::fromLocalFile for a relative URL (resolved with
QUrl::resolved).
Change-Id: If18afd2e29571cca2a4c820eda6b9f6713e08a92
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
[ChangeLog][QtQml][Important Behavior Changes] A JS null value converted
to a QVariant now has type QMetaType::Nullptr rather than
QMetaType::VoidStar.
Change-Id: I91a64e444ada0f1884fe807f9973348ba1a878ff
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Local aliases are always "resolved". We must be careful not to access
the same field in the union otherwise and mistake it as property index.
Change-Id: I6369cdba145a62dcdaa10d8f4ee84bfa3cbfa0e3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Except on Windows, where there is still one bug to fix.
Change-Id: I1a22f42859733eedd37596a3e8fc09680720ff10
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
If we succeeded in saving the compilation unit to disk, then attempt to use it
right away. This replaces the C++ heap usage for the compilation unit data as
well as the anonymous allocated executable memory with file-backed mmap'ed
memory. That means the memory can be discarded when overall availability is low
and paged in on-demand.
Change-Id: Ide1b1e11752d861eb049a99a26ca12cec5e2502e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Make sure to save the .qmlc/.jsc files to the location
determined by the file selectors.
Change-Id: If535bb1e4f0d20ac692b3d8e6d563f77cd00446b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When loading a QML component from the disk cache, compare the checksum
of the dependent types against the checksum when the cache was created.
Any change in the meta-object of a dependent type should trigger a
re-creation discard of the cache and consequent re-creation (in the
test-case).
Unfortunately this also requires extending the existing hack in the unit
test to deal with the low second precision on HFS+ in order to pass the
tests.
Change-Id: Ib8e899347680f7be676788388e9c23a09b0277e3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This helps in making it clear when an index is a plain old number and
when it consists of an encoded value type index.
Change-Id: Ic50d95caf244ed0ee2d62bdba53910a371cfee04
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use delete[] on a new[]-ed pointer.
Change-Id: Ic5721851bdcec284cdd631b81d2cc96b7a1748fc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/quick/items/qquickshadereffect.cpp
5.7 had a bug-fix in code dev has replaced wholesale.
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
One side changed a method's signature; the other side renamed a method
declared adjacent to it and changed some code using it, moving some
from the public class to its private partner.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side added a blank line before a comment the other re-wrote.
Kept the re-write, killed the stray blank.
.qmake.conf
Ignore 5.7's change to MODULE_VERSION.
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qqmlpropertyvalidator.cpp
5.7 changed code in the former that dev moved to the latter.
Reflect 5.7's changes there, adapted to dev's form.
src/qml/qml/qqmlobjectcreator.cpp
One side added new QVariant types; the other changed how it handled
each type of QVariant (without git seeing any conflict); adapted the
new stanzas to work the same as the transformed ones.
tests/manual/v4/test262
dev had a broken sha1 for it; so used 5.7's 9741ac4655808ac46c127e3d1d8ba3d27ada618e
Change-Id: I1fbe2255b97d6ef405cdd1d0cea7fab8dc351d6f
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/quick/qquickitem/tst_qquickitem.cpp
Change-Id: If261f8eea84dfa5944bb55de999d1f70aba528fd
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The extern declaration needs Q_CORE_EXPORT (which resolves to an import
declaration on MSVC). Also, the type of the qt_qhash_seed variable is
a QBasicAtomicInt, not int, so with proper signature mangling it would
not resolve (since memory layout is the same for an int and
a QBasicAtomicInt, it would just work for linkers that did not
detect it.)
Change-Id: I92375afcfc13e045e78a4d6cfdd539bd01b66136
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The valueChanged() signal was emitted when the property was written with
the same value. This increased the potential for binding loops in user
code.
Change-Id: Ifeb8f6f23e2022aa35cb6cac7cf1a3dbc0e8ca2f
Task-number: QTBUG-48136
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When using setAcceptedMouseButtons to only allow the LeftButton, the
user can click the LeftButton and while still holding it press the
RightButton. There would be a press event sent for both. To resolve this,
a check needed to be added to ensure the acceptedMouseButtons are
checked when a second press comes in.
[ChangeLog][QtQuick][QQuickItem] Fixed issue with mouse button events
being sent even when they were disabled by setAcceptedMouseButtons.
Change-Id: I064f3ff56ede12b1572e172be326eb337e280750
Task-number: QTBUG-31861
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Just like it's possible to assign "1,2,3" to a QVector3D, the same
should be possible for a QVector2D and a QQuaternion.
Task-number: QTBUG-54858
Change-Id: I8f394279dcdf5c057876efaa316b4bad51a4c126
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Specifically: don't de-reference a result and assume that it's not-null.
Task-number: QTBUG-54687
Change-Id: If07d3250a95a7815ab7a3262b88e0227965ef8e7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This patch is just here for documentation of this behavior and does not
come with a fix yet. This hotspot was found while profiling the example
code attached to QTBUG-34391. It is triggered by the repeated calls
to _q_itemsMoved in QQmlDelegateModel::_q_layoutChanged.
Change-Id: I758744b3650c3c47dc86b914b823c3e9f96ce81e
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Daniel Vrátil <daniel.vratil@kdab.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
const char *name = propertyName.toLatin1().constData();
big no-no... valgrind was quite angry:
==49215== Invalid read of size 1
==49215== at 0x4C304F2: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==49215== by 0x5E991C5: QMetaObject::indexOfProperty(char const*) const (qmetaobject.cpp:1007)
==49215== by 0x5ED1273: QObject::property(char const*) const (qobject.cpp:3912)
==49215== by 0x42AAA5: tst_qqmlproperty::floatToStringPrecision() (tst_qqmlproperty.cpp:2082)
==49215== by 0x42BB37: tst_qqmlproperty::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qqmlproperty.moc:533)
==49215== by 0x5E9B32D: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2237)
==49215== by 0x40434FB: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.h:123)
==49215== by 0x403C39C: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:838)
==49215== by 0x403CE98: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1019)
==49215== by 0x403DF45: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1321)
==49215== by 0x403EA9F: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1733)
==49215== by 0x42B219: main (tst_qqmlproperty.cpp:2104)
==49215== Address 0x155bb3d0 is 16 bytes inside a block of size 18 free'd
==49215== at 0x4C2E38B: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==49215== by 0x5C3F9FC: QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) (qarraydata.cpp:215)
==49215== by 0x42F2CB: QTypedArrayData<char>::deallocate(QArrayData*) (qarraydata.h:459)
==49215== by 0x42CC7A: QByteArray::~QByteArray() (in /home/tjmaciei/obj/qt/qt5/qtdeclarative/tests/auto/qml/qqmlproperty/tst_qqmlproperty)
==49215== by 0x42AA8B: tst_qqmlproperty::floatToStringPrecision() (tst_qqmlproperty.cpp:2081)
==49215== by 0x42BB37: tst_qqmlproperty::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qqmlproperty.moc:533)
==49215== by 0x5E9B32D: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2237)
==49215== by 0x40434FB: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.h:123)
==49215== by 0x403C39C: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:838)
==49215== by 0x403CE98: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1019)
==49215== by 0x403DF45: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1321)
==49215== by 0x403EA9F: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1733)
==49215== Block was alloc'd at
==49215== at 0x4C2D12F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==49215== by 0x5C3F4DE: allocateData(unsigned long, unsigned int) (qarraydata.cpp:107)
==49215== by 0x5C3F6DE: QArrayData::allocate(QArrayData**, unsigned long, unsigned long, unsigned long, QFlags<QArrayData::ArrayOption>) (qarraydata.cpp:155)
==49215== by 0x5C47BED: QTypedArrayData<char>::allocate(unsigned long, QFlags<QArrayData::ArrayOption>) (qarraydata.h:436)
==49215== by 0x5C42123: QByteArray::QByteArray(int, Qt::Initialization) (qbytearray.cpp:1627)
==49215== by 0x5D15F95: QString::toLatin1_helper(QChar const*, int) (qstring.cpp:4635)
==49215== by 0x5D15F5F: QString::toLatin1_helper(QString const&) (qstring.cpp:4630)
==49215== by 0x42D076: QString::toLatin1() const & (qstring.h:521)
==49215== by 0x42AA69: tst_qqmlproperty::floatToStringPrecision() (tst_qqmlproperty.cpp:2081)
==49215== by 0x42BB37: tst_qqmlproperty::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qqmlproperty.moc:533)
==49215== by 0x5E9B32D: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2237)
==49215== by 0x40434FB: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.h:123)
Change-Id: I0031aa609e714ae983c3fffd146543f79048468f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
examples/quick/demos/photoviewer/deployment.pri
One side made it redundant; the other removed part of it; remove it all !
src/quick/scenegraph/util/qsgatlastexture.cpp
One side changed a preprocessor condition, the other a code condition,
on adjacent lines; keep both changes.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side changed a condition, the other the content of its block; keep both.
Change-Id: Idb8937f92a7edb28212449dfe0c5cfdb8e6de986
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The scene graph might decide to do an initial rendering, before the
first SceneGraphContextFrame.
Change-Id: Ie6d96574b5585cfda4dcd258b6031303f9a37715
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The code used the size of the internal class in an inconsistent
way. It should simply compute and work with the old internal
class size, as that reflects the old object layout.
[ChangeLog][QtQml] Fix assertion when deleting properties of JS objects
Task-number: QTBUG-54589
Change-Id: Ie3db70437e780215d08a1a96491db75f8b859754
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-54600
Change-Id: Ie24c44e2f68aae55ff1146c13c3dfc25349b7a29
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I18983b06d28bf8f31043070db5aa6c1540062197
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When having a ShaderEffect and an Image sharing the texture via supportsAtlasTextures
This used to work fine in 5.4 but 38cab579a0c5398b7621221fd8609bc43cf1f3c5
removed the check for the provider not being null
Change-Id: I18cb969dbf8011ea01543cc079214e8ecbb66623
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
At the moment, defining leftMargin (or topMargin) and contentWidth
(or contentHeight) so that "leftMargin+contentWidth < flickable.width"
(or topMargin+contentHeight < flickable.height) leads to widthRatio
(or heightRatio) having value != 1.
The value should, however, be 1, as the content is completely visible
inside the view, margins included.
As a sideeffect, under the assumptions described above, it will now
not be possible to scroll the leftMargin (or topMargin) out of screen,
something which was possible (and it shouldn't have) before this fix.
Task-number: QTBUG-53726
Change-Id: I22426c8038e90a2cfc7445914206eae0e781a3fb
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
By running an md5 hash over the meta-object data and string tables this will
allow us to detect changes to meta-objects and invalidate QML disk caches.
Change-Id: I15b92de4cdf0cb525281b86e1c7b8ba0b11347a0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This will be used later for calculating checksums of the meta-object
data.
Change-Id: Iba925eae298cbfc7b89196f4dd6fb2854ce75e2e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This will allow us to #define them away on -no-qml-debug, saving two
pointers per engine.
Change-Id: I400cffd32cd7f55ff0e68565734b6002b9f901d5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I6746b777f73d047f5cf610bfca9b320ac1e13676
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
[ChangeLog][QtQuick] Added properties to access color values for the HSV
and HSL color models to the basic QML color type.
Task-number: QTBUG-48723
Change-Id: I45fa52f9f3878553e1b3d0a34b47804ede7794f8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Pass property reads/writes through utility functions in QQmlProperty,
which in turn will try to use accessors when available (and no
interceptors have to be called).
Change-Id: I60ecfc202b6024bfe4a33206a46299787b152546
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Perform various basic checks before proceeding to load an existing cache file,
including the qt version, architecture, data structure version and others.
Change-Id: Ie822b056e944ac120643aad260e97f62616688bf
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With the JIT and moth supporting persistence, we can enable the disk
cache tests unconditionally.
Change-Id: I6d6652411237001433a32a2de21d1f78f51b43ef
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is useful for conditions which can't be tested using tryCompare.
One such situation is that of the currentItem property of ListView.
In Qt Quick Controls 2, the currentItem property of the ListView that
is internally a child of Tumbler can be null for a certain period of
time, so using tryCompare() would result in errors due to trying to
access a property of a null object:
tryCompare(tumblerView.currentItem, "text", "2")
The current workaround is to use wait(50) in a for loop, which is ugly
and could lead to flaky tests:
for (var delay = 1000; delay >= 0; delay -= 50) {
if (tumblerView.currentItem)
break;
wait(50);
}
verify(tumblerView.currentItem);
compare(tumblerView.currentItem.text, data.currentIndex.toString());
Using tryVerify(), we can first ensure that currentItem isn't null, and
then use a regular synchronous compare afterwards:
tryVerify(function(){ return tumblerView.currentItem; });
compare(tumbler.currentItem.text, data.currentIndex.toString());
[ChangeLog][QtTest][TestCase] Added tryVerify() function to allow
verification of asynchronous conditions that can't be tested using
tryCompare().
Change-Id: Ie93052b650f7fe0bf26853054a8f0f35a483e387
Task-number: QTBUG-19708
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Instead of relying on two time stamps in the file system (source file and cache
file), make the determination on whether the source file is newer than the
cache solely depend on the time stamp of only the source file. This means that
when cache files are stored in archives for example their modification date
does not need to be preserved upon extraction.
Change-Id: I0b4362663868c6fb9bd7e106028161b2d67274d4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
FAIL! : tst_QQuickView::resizemodeitem() Compared values are not the same
Actual (sizeListener.at(i)): QSize(80x100)
Expected (view->size()) : QSize(200x300)
Loc: [tst_qquickview.cpp(172)]
The "SizeChangesListener" can be instantiated too early, catching
signals from the previous resize events. Make sure to flush all events
before.
Change-Id: Ib0933429f5c589f120c263619f00893fa813e361
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The same condition is tested in the line above.
Change-Id: I99720e3603b1ae5e2f5161696f1de3dd03f6ff50
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The resolution of aliases needs to to be solved in iterations as an alias can
refer to another alias, which may not be created yet in the property cache by
the time we try to perform the resolution. Therefore the alias resolution code
works off a list of pending aliases after the initial pass of resolution. This
also requires the ability to detect circular references.
Change-Id: Id4e159b9c713aa8a8a095759e22e3fac456a38a0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When assigning an object to a property that is a QQmlComponent, we implicitly
"wrap" a Component {} around the object declaration. In the QML IR this is only
half-heartedly represented. In order to correctly determine dependencies later
when saving and to support QML files that use implicit components but don't
import QtQml or QtQuick explicitly, we must also extend the file imports
accordingly. This is now done (and tested) by emulating a "import QtQml 2.0 as
QmlInternals" and then using "QmlInternals.Component".
Change-Id: I26f4f53a35675b52d4bd39f23359b0ac8f9678c5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The goal is to make the compiled data structures persistent on disk. In order
to make it possible to create these data structures on a "host" system that may
have a different endianness than the target system, we now make all the word
sized fields little-endian. The template wrappers from QJson provide
zero-overhead access for little-endian machines (the vast majority) while
maintaining a large degree of source compatibility.
Change-Id: I3d30da1fcf3bffb98dbe9337d3a35482fb7b57c8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
So gui-private API isn't necessary anymore.
Same as change 94324bd93fe9f4f61346b8f9e934c01279cb700e
Task-number: QTBUG-44030
Change-Id: I780cc1eedf9285336b96219a1fb1cd4016512701
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We must iterate a (cheap) copy of changeListeners, because the
container might be indirectly modified during the loop. For example,
listeners may remove themselves from the list. In such scenario, the
copy gets detached and the loop remains safe.
I've added notes in comments, and extended the tests to prevent the
issue re-surfacing again.
Change-Id: Ib48d6e0765d45370d2fffa119a4c351e0119e40a
Task-number: QTBUG-54732
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On QQuickView/QQuickWidget size update we used set width (with the notify
signal emission) and then height (with signal emission again). This way code,
relying on width and height would be triggered twice and at the first time
with there would be outdated height value.
The new code takes care on proper value for both width and height.
Change-Id: I6525911c40af0ca6a26ab3e7dac16d32a96d9a27
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I47c00941ef458c8b16c02960a7b37749a222a04e
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This prevents re-calculation of what actually changed, and removes the
now unused parameter newGeometry. Other than this change calculation,
the only place where oldGeometry was used is
QQuickListViewPrivate::itemGeometryChanged. To get rid of oldGeometry
too, QQuickListViewPrivate now stores the current (i.e. last known)
geometry, and updates it in itemGeometryChanged.
Change-Id: I8a5286d08a04132c9a4c81de7ce221f5676946e6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The test makes sure that no events are delivered after the initial press
is released. In this context QTRY_* makes little sense, since we are
confirming that the defaults have not changed.
Thus rather spin the event loop 11 times and hope that if we would
accidentally deliver events that we shouldn't, it will be caught in that
time.
Change-Id: Iadeed07a81978aa6679e5513c1fe0aebcaeeb997
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ib161ffaaea57bdf74e02d0f56c3e02d484a26fcc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Verify the fix in f7e462b.
Task-number: QTBUG-54019
Change-Id: Ia9846f9b79473ea4f72e895320cf01d5d85cc1a3
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The first test covers a use-case currently only otherwise see in
QtQuickControls, and so having it here allows for catching regressions in that
area before hitting the next qt5 build.
Having an alias refer to another alias property within the same file only works
if the second alias is resolved/processed before the first one. This works by
chance when relying on the order of processing reverse to the declaration, but
that's a bug. It should work regardless of the order. That is what the second
test-case demonstrates and that is why it is marked as failure.
Change-Id: Iba386437d21efa868d9814221092df5f7ef6f1f6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Timestamps should always increase monotonically.
Change-Id: Idfd44e160193aab7bce37b58bc42a94ff087d15e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|