| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Removed dependencies.yaml.
Change-Id: I1e2b3f486e9ace4bc8dc0419a64848990b3a6b39
|
| |\
| | |
| | |
| | | |
Change-Id: Ibdfd1048941c55bcf6abe101cad2b58a2ea9e776
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I25813bc151347f69d4dbd9f61729300626be763f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
f4623123 introduced a performance regression by calling
delegateModel->object() twice:
if (componentComplete) {
updateCurrentText();
updateCurrentValue();
}
We can avoid this by introducing versions of these functions that take
the delegate model object as a parameter in order to cache it between
calls.
Change-Id: I5f9041a8ff00b53e04d759f38677bd87c748f8d1
Fixes: QTBUG-76029
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: I53fc18c168daff6dfb504e5a64e20570de7d24ac
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QQuickPopup connects its parent item's (MouseArea, in this case)
windowChanged() signal to QQuickPopupPrivate::setWindow(). It does this so
that:
1) QQuickOverlay can keep track of all of the popups that it manages.
2) Fonts, palettes and locales can be resolved.
3) If the QQuickPopup component has completed loading and the popup is visible
with a valid window, start the enter transition.
The problem arises only when using a very specific item hierarchy:
Window {
width: 640
height: 480
visible: true
Item {
anchors.fill: parent
Item {
anchors.fill: parent
ColorOverlay {
source: parent
anchors.fill: parent
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.visible: containsMouse
ToolTip.text: "ToolTip text"
}
}
}
}
When the window is closed and hence begins to be destroyed, the following events occur:
- QQuickWindow's destructor is called.
- The window's root item (QQuickRootItem) begins destruction.
- QQuickOverlay is destroyed.
- QQuickWindow's destructor is done, so the QWindow and then QObject
destructors are called.
- The QQuickItem destructor for the outer Item is called.
- The child items of the outer Item have setParentItem(nullptr) called on them,
one of which being the inner Item.
- The inner Item's setParentItem() function calls derefWindow(), which in turn
calls derefWindow() on its children. One of those children is MouseArea.
- Since the MouseArea's window is deref'd, it emits the windowChanged() signal.
MouseArea is the parentItem of the popup, so its windowChanged() signal
causes QQuickPopupPrivate::setWindow() to be called.
- setWindow() tries to remove the popup from the old overlay, which has already
been destroyed.
One approach I tried involved using QQuickOverlay::itemChange() to remove all
of the popups (via setWindow(nullptr), to ensure that their window pointer is
nullified), since that was called much earlier than the windowChanged() signal
is emitted. However, this still resulted in a heap-use-after-free in the same
place when running the newly added setOverlayParentToNull() test.
I also tried removing the popups in QQuickOverlay's destructor, but this
resulted in another heap-use-after-free (when accessing a popup in the
destructor) in tst_QQuickPopup::Universal::visible().
The remaining options were: store the window in a QPointer or return early in
overlay() if the wasDeleted member of the window was true. Using QPointer
seems like it would catch more issues than a single check in overlay(), so I
went with that.
Fixes: QTBUG-73243
Change-Id: Ieb5ce26dd76d45771d28297031ec43e27d958b5b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
by applying the passed timeout value prior to re-starting the timer
Change-Id: I27953dbb4781b5cb0c2039d56faa56f3c000206f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use the position of the item and the currentItem in the calculation
in order to get reliable results. This fixes the displacement being
off by a small margin, which increased as the delegate height became
smaller.
Fixes: QTBUG-66799
Change-Id: Ieca5033fb4c0ed62f5965a21fcab7aa558bd40e6
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ia0dea6060be7ffd1c4a16348f166e7cde7ef2df2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These were forgotten in f462312365d4955fc82b247b72f84e1c77d8104d.
Change-Id: If0415c9aab9555e14ee222aaa667ca1233ab4405
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
.qmake.conf
Change-Id: Ifa2fade18b10478370131f0dee875ab1a37c7772
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | | |
Change-Id: I61bff0de1d7f1ee4d73612af07cbac8d7400b534
|
| | |\ \ \
| | | | |/
| | | |/|
| | | | | |
Change-Id: I34f3fa5e3cd2ebb0ed8f7d4e6d5ed6f66422a48d
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the x/y position of background depends on the height/width of
background and these values are not constant, the if statement in
the method resizeBackground() will always pass. And since
`resizingBackground` guard wasn't checked, any geometry change
will always call resizeBackground() and then call
themself recursively (via the change listener),
that means the height/width of background will
always be reset, no matter what value you set.
Another part of the issue was in determining the extra bits too late:
in case the background gets parented by the flickable, the new child
caused the flickable to re-calculate its metrics and thus resize
the background *prior* to remembering if it has w/h set.
As a side effect, this fix also brings the possibility to reset
previously set w/h to get the default background sizing behavior.
Inspired by da06da57002b64cf4bcde0ca708b3275a5f919ae
[ChangeLog][QtQuick][QQuickTextArea] prevent changing size
of background recursively in construction
Fixes: QTBUG-76369
Change-Id: Ide51ec1ebab63605ae3bfcc10a76a28be960ef36
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit da06da57002b64cf4bcde0ca708b3275a5f919ae.
Reason for revert: the change removes symptoms leaving a cause unfixed
Change-Id: I0a91409230c521da73ed53e2a00a4ccd8dca7335
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Idaf385d12ca9388c0bb0b3f8a47c8e75c620b7eb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
avoid checking every press event to be one of touch events type
when touch events are not delivered at all
Change-Id: I1ed91fa124608d8a006cf2f5256ad68294dd465f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
if the timer event's timerId isn't recognized,
make sure control passes to the base class
Change-Id: If5988dbf4ccda6a9887805961b439f93640f71ea
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\| | |
| | | | |
| | | | |
| | | | | |
Change-Id: Idd0aa1aa4d75735b5d1600691c8a8b872a010ba1
|
| | |\| |
| | | | |
| | | | |
| | | | | |
Change-Id: I60cfd7fbece6d34349767d13d376b7494eb525b2
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When calling QQmlEngine::retranslate() after component completion,
buttons in a DialogButtonBox were not being retranslated.
For now the only way to be notified of language change events
is by installing an event filter on the application, but in
the future we can use the solution to QTBUG-78141 instead.
Change-Id: Ibc435c3829945489adcbaa8a813013fe735a9c38
Fixes: QTBUG-75085
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
saves a bunch of pointless detach attempts on each deep-copy
Change-Id: Ibb1ae99bd54b2d35f9c9aa9e541fb03891ad94ec
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a follow up of 382531ab5e2270833d3805c57c00ebcf6b24d635,
and amends 1241c80eca725c9ac46a0b94d6bdec11a5d00302 .
when the property has not been set explicitly,
the resolved mask must not contain a respective bit set either
Change-Id: I45a334b51fce09ead8e30fe3326a94f35b0f4f56
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ifa88045268cdaa1adc0b1e206d5e20a3721d3837
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
when the property has not been set explicitly,
the resolved mask must not contain a respective bit set either
Change-Id: Iab0bd600b5bf458e26ed4601d4d2f608021f1518
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
While QQuickStack should ideally completely support required properties,
by setting them accordingly if provided in StackView.push, for now it
compiles at least again.
Fixes: QTBUG-78252
Change-Id: Ib8efc7a1c9f0779ca972307ca95e632f51c6ca46
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I23522a8f71cea8d8e3f0155dad98e41c003774fb
|
| | |\| | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ie9314e1a5daa20cee9d95a3c42873dbe515b3333
|
| | | |\| |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I859406dc779e59ee5d8e2980e04f8be28b1a69aa
|
| | | |\ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: Ia89d3600269126768ede2305dcf60d968f772fb7
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
1abdfe5d5 renamed the doc module without the
version no. 2 in the name, but a bug was left
behind. The qhp.project name was still called
QtQuickControls2, while all the qhp settings
in the qdocconf were using QtQuickControls.
Task-number: QTBUG-77815
Change-Id: I1e8d10212798a1f4dfedcd7888f846e149851d23
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Now that Controls 1 is deprecated, it's ideal to use
"Qt Quick Controls" instead of "Qt Quick Controls 2".
Task-number: QTBUG-70333
Change-Id: Ie745db4b61071ddb5e06150d4e739cda74c59f41
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Use qmlRegisterAnonymousType() instead of qmlRegisterType(), fixing:
qtquicktemplates2plugin.cpp:176:54: warning: 'int qmlRegisterType() [with T = QQuickApplicationWindowAttached]' is deprecated: Use qmlRegisterAnonymousType instead [-Wdeprecated-declarations]
qtquicktemplates2plugin.cpp:176:54: warning: 'int qmlRegisterType() [with T = QQuickApplicationWindowAttached]' is deprecated: Use qmlRegisterAnonymousType instead [-Wdeprecated-declarations]
Change-Id: If5788a78643ad7148c33c4515396b074d20d62ab
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes: QTBUG-77909
Change-Id: I87d41ab973ec5cb8a9cebcf0f22065e1bac221d8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes: QTBUG-77734
Change-Id: I22b0c6a46e10780e02c56c250356f1aa87d1050f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | | / /
| | | |_|/ /
| | |/| | | |
Change-Id: If5c2806e52efc9608e476c3f068ee5a0e67ffff7
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I65be8e54ded284d2f80b5a1f301b75223bd81bb3
Fixes: QTBUG-75338
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
> warning: unannotated fall-through between switch labels
> note: insert 'break;' to avoid fall-through
Change-Id: Ia70fb6b666f874a245a113d61a6cb3e8e7aa2712
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | | |
Change-Id: I335e59f09c48a8b52c7f690cedba95952c5adfa3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Having a section title identical to a QML type name caused links
intended to go to the QML reference to link to this page instead.
Fixes: QTBUG-77840
Change-Id: I06219a67fd384c51be6080ef7ef8579b6a405d0d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Re-run pro2cmake on all the project files.
Change-Id: I8d349cf34d6cc8e26c76193d9ef220fa85b16bb8
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \ \ \ \
| | |_|_|/
| |/| | |
| | | | | |
Change-Id: I62feb82fcf389bf83c92f83e2ed1a6783d3179ba
|
| |\| | |
| | | | |
| | | | |
| | | | | |
Change-Id: I7c03e9e5227899188d4e16467f692419dc9e9c5b
|
| | |\ \ \
| | | | |/
| | | |/|
| | | | | |
Change-Id: I629cb2b733de2e5533d8ba9f1665d14f542979b9
|
| | | |\|
| | | | |
| | | | |
| | | | | |
Change-Id: Ib1c507845cae7f354fe5a5fb9d71ee6963949bd0
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the x/y position of background depends on the height/width of
background and these values are not constant, the if statement in
the method resizeBackground() will always pass. And since a change
listener is set before calling setHeight()/setWidth() in background,
these two method will always call resizeBackground() and then call
themself recursively, that means the height/width of background will
always be reset, no matter what value you set.
[ChangeLog][QtQuick][QQuickTextArea] defer adding change listener and
prevent changing size of background recursively in construction
Fixes: QTBUG-76369
Change-Id: I2ec37cad7f35cb1c756276326fe69e860c6b8de5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I9100d20b76b9cc6ac138f474e5d808db19ed6684
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Reasons:
1) Qt::TexturePattern has never set by any code (this branch is
unreachable);
2) There is no knowleage about any brushes in QML (this method is
supposed to be invoked from QML only). Palette is used for colors only;
3) Even if brush style has been set somehow, it will be erased during
palettes resolving process after assigning a new "window color".
Looks like this code was copied from widgets styling and has been
compiling only because of the current design. In light of redesigning
palette class this code also makes no sense. Bringing knowledge about
brushes and its styles to QML requires additional job.
Change-Id: I555d062335593ad945b024136750dcd548cd9f16
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Nils Jeisecke <nils.jeisecke@saltation.com>
|
| | |\| |
| | | | |
| | | | |
| | | | | |
Change-Id: I76bfa11f39261e03b52ad237a09ff623bc865e0f
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[ChangeLog][QtQuick][QQuickComboBox] countChanged signal now will be
emitted when a new model is set to the ComboBox
Fixes: QTBUG-75972
Change-Id: Ic26718453ba06ba284ac5903fc6f55ddf3523331
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|