| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crashes happened because somebody was calling processEvents() from
a mouse/touch event handler that was running for a long time.
If we called processEvents() from the onPressed handler, and we released
the mouse while still not having returned from the onPressed handler, it
meant that we were actually delivering the release event before the
press event was fully delivered...
This should normally not be a problem, but QQuickWindow is reusing the
QQuickPointerEvent object for each incoming QEvent, which meant that
when we were delivering the release event, it would reuse (and overwrite)
the QQuickPointerEvent that the press event handler is still using....
This then caused some assumptions that the code made to be wrong.
This only avoids the crashes, and doesn't really fix the "out-of-order"
delivery and the state inconsistency that this can lead to (e.g. mouse
button states might be still wrong).
But on the other hand, it is not the recommended way of making a
long-running handler not block the application. The proper way is to
create a thread that will run in the background, so that there would be
no need to call processEvents() in the event handler.
Change-Id: I6fa5d4f5748ef30d082a210f03ef382922bd4b29
Task-number: QTBUG-65454
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\
| |
| |
| | |
Change-Id: I886fb173e156fb719d5e1d84cb1b0f3052a606b4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If there is an invisible window that will not be rendered but
is constantly requested to render, updatePending is always set.
This prevented purging of already unneeded textures, and meant
endSync() was never called and m_texturesToDelete was never cleared.
Added a fix to clear the updatePending flag regardless of visibility.
Task-number: QTBUG-66116
Change-Id: Ib8bf453a3dee18d3d43342580c619664b701acae
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MemberData would get reallocated to exactly the required new
size. In case there's one large object dominating things, this
would then trigger a GC run on every reallocation, causing a
quadratic runtime behaviour due to marking and sweeping that
memory.
Task-number: QTBUG-69475
Change-Id: I1834cbe21412ce3409cfd47810af1f73c5a29b46
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
|
|
|
| |
Add missing external page reference to resolve link.
Fixes: QTBUG-70130
Change-Id: I3af162c619ba88d425a7714fbf20f45f7b3213ab
Task-number: QTBUG-70130
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
The page that we link to used to contain a list of the colors, but it
doesn't anymore, so we'll add our own.
Change-Id: I1160e3de7f4ab0ead727b0261edafda30cce3270
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
| |
The section titles cause links that should target QML types to link to
the page sections. Renaming the section titles to link correctly.
Task-number: QTBUG-59445
Change-Id: Idde600c87621d270c4e25a5dac0a55fbfc7a96ef
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This change removes warning about using new Array() as constructor
with the snippet in Qt Creator.
Task-number: QTBUG-65891
Change-Id: I858601c21d703e4226db4f4c4d9ef52ec6418ed8
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Quick has a dependency to gui, but there is no way to disable an
entire configure module from the configure system. Add module checks
to configure.json so that it passes even without the gui module
present.
Fixes "Unknown feature object movie in expression 'features.movie'."
Task-number: QTBUG-56656
Change-Id: I16355b7e218c32cab33e8ef9a6012da3e55656bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
This change provides a bare minimum documentation for the
ItemSelectionModel QML type.
Task-number: QTBUG-58090
Change-Id: I0e232f8e05e7629d6f573f8dce21154d0ec307e5
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-60913
Change-Id: I3a9d8925337a12a849e39a70f168dbfc7f007e5f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
A property never has const pointer as its type. Getting this wrong also
causes problems with the QML type registration not matching the actual type.
Task-number: QTBUG-61749
Change-Id: Ic3c47499cc4dff6df0beecf5b1413c76509ca6f5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
* Rename two section titles that caused confusion for the autolinker.
* Add see also link to correct location from SpriteSequence QML type.
Task-number: QTBUG-58640
Change-Id: I62b941d00198ac56d998ca14b926c7bb37f6c91e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I7ab9545d8c7fd747e3a6ddae8ecee53897d9cb66
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit cf0b965aaab0ea7e777c1f8e8d35de3a73d7d08e because it
causes crashes in qtquickcontrols tst_extras.
Change-Id: I3809f2da84cf24b990b017a44837c02fc6c776d1
Task-number: QTBUG-69497
Task-number: QTBUG-38099
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When decoding the bytecode, we must be careful to avoid that the
compiler generates aligned memory access instructions, because the
current byte code pointer may not be aligned at all.
When decoding integer parameters, the existing code would expland to
qFromLittleEndian(reinterpret_cast<const int>(code)[-nargs+offset])
which loads the integer from the array before passing it by value to
qFromLittleEndian.
[ChangeLog][QtQml] Fix crashes with unaligned memory access on ARM.
Task-number: QTBUG-69328
Change-Id: Ib1c66113e2b8e103ad6f5de11443a561d23a4185
Reviewed-by: Bhushan Shah <bshah@kde.org>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
| |
Change-Id: I2dd5877754b3ccbc975e5cdae5e80d1db28f8e48
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Add documentation for setCurrentIndex() and the select() methods.
Include SelectionFlag enum values in select(index, command)
description.
Task-number: QTBUG-56320
Change-Id: Ia43fa2903656d89a1e80bef6097500d329df0c59
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
After commit 91f3687ee51db83d9018bd61c3fbc736c6e9912e in qtbase,
QString::number includes a zero padding in the exponent that breaks
compliance with the ECMAScript tests. Instead of QString::number, we
have to use a QLocale instance that turns off the padding of the
exponent.
Change-Id: Ib8c63bc501cadca026c52359006628f6c271ba6d
Task-number: QTBUG-69432
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a running transition does not finish of natural causes (reached
the end state due to e.g. the timer finishing), it can happen that it
will never be marked as finished. Specifically, when an transition is
running (e.g. an add animation for a ListView), and that transition is
replaced by another transition (a displace transition, because another
item got added to the ListView before the add transition was finished),
the first animation was never marked as stopped. The effect was that
the running property would stay "true" for forever.
Task-number: QTBUG-38099
Change-Id: Id7d7053cb2fc1912127d9f5e71f27eb984ba7435
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-69438
Change-Id: I4ac191029eccc97e7b9947ec56bf008562c9f4ef
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Ie11e86be997d749e6f82f0fb81a82bb0b50ab1f1
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update description as the behavior changed with
2b8b7a162be52f8cd6c2bc39f498a1ddfb59dd68.
* Remove implementation details from description (the specific date),
as it may be subject to change.
* Simplify a needlessly complicated explanation.
Task-number: QTBUG-68516
Change-Id: Ibc25a9923d8c996c47927964cd69b5bd7bbe0240
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
| |
Change-Id: Idf3aecf88319a2967ca51985003be32c7e7ef42a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
| |
If you feed something non-saveable to operator<<() the application will
crash.
Task-number: QTBUG-69316
Change-Id: I9fe5f83a9eb49e5bde3002c0a5dda4206470c644
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
| |
Change-Id: I6ae5be8480ff817651c66a1617dceeefb96e5712
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A layer effect is apparently considered a child item of the layout
that manages the item, and this causes issues when layouting.
As was done for positioners in 865b4ec8, exclude
any items for which QQuickItemPrivate::isTransparentForPositioner()
returns true from layouting. As that commit made QQuickItemLayer set it
to true when the layer is enabled, QQuickShaderEffectSource will be
excluded from layouting.
Task-number: QTBUG-63269
Change-Id: I463ff8d0cea0dfd6c4273f376de347971040d3d0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
| |
- Clarify that anchors are fine for layouts that are not children of a
layout.
- Remove redundant list item.
Change-Id: I187875ff3970620a6089716c5d9f41cc80997b07
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The section currently doesn't have any content, and as such, it doesn't
provide much value. The coding conventions link in the related
information sub-section is useful information to have, however, so we
should keep that.
Change-Id: Idc62b41d098528898cc8d65bfaf73879caa14b86
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Only create source component in loadFromSource if it does not already exist.
Previously toggling the active status when loading from source would create
a new source component every time active became true.
[ChangeLog][QtQuick][Loader] Don't leak components when changing source url.
Change-Id: I1e4cfd5613e3851fcb4f3f55e78981f7c070cc77
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
| |
This makes it easier to visualize how the properties work.
Change-Id: I04cb1a99a1f831e5c892cb27e4a0cd127fe450e0
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
|
| |
Conditionally excluding such statements is required
to avoid irrelevant content in documentation in some
cases.
Change-Id: If6751608dc438de6f7cc0376ffc36f8d994afba6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: QTCREATORBUG-20696
Change-Id: Id67a53dd7dd4ed841228cccf16876d2be446ceab
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
| |
It uses the parent argument as both a visual parent and a QObject
parent.
Change-Id: Ib6c645c072462501c77f27085cba7538703c5966
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Change-Id: I3c09f8172fd79f3517b338e2d097bdbd88f325d6
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
When a type is registered through qmlRegisterType or similar functions,
no error was shown.
Task-number: QTBUG-68323
Change-Id: Iff44bf8744c67dba2fdd12c43aaee44a8e15364a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I5e3a3ebd36d49fdf649eec5a3fb0a8fdb048ce0d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Make the text less ambiguous.
Reformat comments in code examples, as they mess up
formatting in rendered content.
Task-number: QTBUG-56028
Change-Id: I296839e4e102d25d1a943a5766f37ba5521bdb81
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TabBar auto tests in Qt Quick Controls 2 repeats the following
process very quickly for several data rows:
1. Creates a TabBar (PathView, when using the Universal style)
2. Moves items in its QQmlObjectModel
3. Deletes the TabBar
When run with ASAN, this test would fail, because the TabButtons
(which are child items of the PathView) would try to access a deleted
QQuickItemChangeListener upon their destruction.
The underlying issue is that QQuickPathView::modelUpdated() is called,
and before a refill() can happen, the view is deleted.
QQuickPathView::refill() was the only execution path that was releasing
the cached items (QQuickPathViewPrivate::itemCache), and since part of
releasing an item involves removing the QQuickPathView as a change
listener from the item, the item would access the deleted view
(listener) when the item was being destroyed.
This patch fixes the issue by also releasing cached items in
QQuickPathViewPrivate::clear(), which is always called by the
destructor.
Task-number: QTBUG-68964
Change-Id: Ic5bf0943be79948c86bf7c07ef13ecd1a7b971ba
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
| |
Change-Id: Iff45ea6cf414717fd1cb0a194eef390a9f153838
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
| |
Change-Id: I17671563f2beebe16ae1d08552854eaf44ae43ee
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
So far the protocol would fail if the endpoints have different
endianness.
Task-number: QTBUG-68721
Change-Id: Ib53894b1e2f3eecf40160bb7bb9cfaa4beb2c045
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-68940
Change-Id: I439ec9b6253815f41e405a0d9f79ff69eb75c98e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 91ac4a8d099d10fdfd5aa631da02727b7917d85f removed the source
location from QQmlBindingFunction, because it can be retrieved from the
QV4::Function in the QV4::CppStackFrame. However, if a binding is
initialized as part of an asynchronous load from a Loader component,
there might not be a valid function pointer in that frame. In this
specific case, we fall back to the source location of the binding
function.
Task-number: QTBUG-68738
Change-Id: I2d3f17e4cb82be1e70a54cb66f9cf9c17f541f95
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I3c54c90bfa48d2f6ba78b898413133e49b66c208
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qsgtexturefilehandler_p.h is included through other headers that depend
on QT_CONFIG(opengl).
Change-Id: Ic87482289332cb1a0215ca74362207f9941239d7
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The change was too aggressive in trying to avoid marking
the array data. We didn't catch all cases where on could be
inserting a GC controlled object into the array data. Let's
be safe and always mark the content of array data objects.
Task-number: QTBUG-68894
Change-Id: Ifbb628be898c0903596b1a483212384295b01df5
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-68933
Change-Id: Ibb5aa227e82825085e7214e17dcffcb17fd44157
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to d868bb4f3e4b0424fd4a2989ff1c82692b0f014c this
removes the check for scrollingPhase in movementEnding.
If movementEnding is invoked by some codepath other than timerEvent
(e.g. setContentY) and scrollingPhase is true this will again prevent
any further invocation of movementStarting from within the drag method
(see d868bb4).
As this check was introduced together with the movementEnding timer
(QTBUG-63026) and scrollingPhase is now checked inside the timerEvent
there should be no need for the check in movementEnding.
Task-number: QTBUG-67460
Change-Id: I88ad6e3ee56b88a66bb61798b8876324f4842f1e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The packet protocol should check if the number of bytes to be read is
positive. Also, a Q_ASSERT on the return value of read() is too brutal.
The device can have failed for any number of reasons and we don't want
to crash the application because of that. Finally, the number of bytes
to be read includes the bytes read to determine the number. Make that
clearer by subtracting the actual count, not sizeof(qint32).
The check in QQmlProfilerTypedEvent is supposed to happen before we cast
the number to the more restrictive type. Furthermore, if subtype doesn't
fit the range constraint, we don't have to do anything at all as the
default rangeType is already set before.
Change-Id: I48c8c47e4207abae6e718eea97815d43e7f9d833
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|