| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I547e94213f4b4d2c3ca3aeaa06330069e6311043
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
The delivery agent expects the device to live longer than itself.
Pick-to: 6.1
Change-Id: I3c837633f2c4a91f5b370df4d486a01b2ee05f13
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-89938
Change-Id: I3602056fa3f7f0227b80c6c775153bd444c88f24
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This includes removal of the corresponding .prev_CMakeLists.txt files.
Pick-to: 6.1
Task-number: QTBUG-88742
Change-Id: I4247294258629c92e80914518e9208019090c815
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a popup had an exit transition set and was destroyed upon e.g.
being rejected, it would not destroy its modal dimmer, and so events
would not go through to popups that were beneath it even after it
was destroyed.
QQuickPopup's destructor does indirectly attempt to call
finalizeExitTransition() through a setParentItem(nullptr) call,
but prepareExitTransition() returns false if it sees that the
exit transition is already running, and so transitionExit()
never calls finished().
This patch fixes the problem by explicitly calling
finalizeExitTransition() in QQuickPopup's destructor if the exit
transition is running.
Fixes: QTBUG-89673
Pick-to: 5.15 6.0
Change-Id: I468fae52f6a83ac314877c67d062028634bb7e17
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
| |
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I4a690095fcd4b1141550de86b6820ae2dd579429
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Set the default width of an empty TextField to 90px (which
is a number found by creating an NSTextField in XCode
and measuring it with pixeltool). This should also make
tst_QQuickPopup::macOS::cursorShape() pass.
Change-Id: Ia2a059668c2e1eaea3eef20015a8ea99468dd8ad
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
I don't know why this is necessary, but without it, the mouse area
doesn't get any mouse events on subsequent runs (tested with
QT_LOGGING_RULES=qt.quick.mouse=true).
Change-Id: I69fa13ad282789f522542e52a945973fee66f44d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem is that QtQuick.Controls.macos is only
available with revision 6.0. And when importing e.g
QtQuick.Controls 2.15, we try to load a style with the
same revision. But it simply doesn't exist. So remove
all versioning from the tests to also support testing
newer styles.
Change-Id: I666a93ab03ec4c5dcf2055a363547f8cdac8d25e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-82922
Change-Id: I75f4a553a6bb260f77bfa791f12fa42e80131e09
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
As of Qt 6, the latest version will be used by default. This saves us a
lot of effort in terms of version bumps.
Task-number: QTBUG-82922
Change-Id: I74eba8185ec3ccc75bc293d4b2ea87d59e2d9928
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
Use the fix from 1d06eb3f8215b67c5061ee3a076df405724ff7ee.
Fixes: QTBUG-86212
Change-Id: I407c56741806340235da81cca943b50cc6e92dd2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If a Popup is centered within an Overlay, and that Overlay is destroyed
before the Popup, we must make sure centerIn is cleared so we don't try
to access a dangling pointer.
Fixes: QTBUG-84579
Pick-to: 5.15 5.12
Change-Id: Icb2750f847f9d5710725bedc4d1c92bf4c122c03
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
| |
Change-Id: I1f6bf96f30f5dcea4d9838b0638f9412309a069e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
| |
This has no effect.
Task-number: QTBUG-66320
Pick-to: 5.15 5.12
Change-Id: Ie6efb26243178c4044ac0bc721c21ad89769c982
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
It's not clear why these fail, but we can live without the test on
Windows 7.
Fixes: QTBUG-84443
Change-Id: Ib18dfc8e12528c5086d07d6018cda93fb6e8d30c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: Ie678693280b374e5977a3870b395936d15023579
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTest::ignoreMessage() has a feature, namely that:
If the test finished and the message was not outputted,
a test failure is appended to the test log.
So here, if Graphical Effects is available, but not functional,
ShaderEffect fails to initialize, which means the warning-to-be-skipped
is never outputted. The test would pass (because the visual appearance
does not matter), but the ignoreMessage() condition fails it.
Adding a QSKIP is not a solution because ignoreMessage() would still
do its check and fail the test! Therefore, remove the ignoreMessage()
altogether.
Change-Id: I3e096752dfc6894c77859e786c8a4cac01d6fc53
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
- Make QtGraphicalEffects optional in tests
- Mention that QtGraphicalEffects is required for relevant examples
Change-Id: I3ac7d06add931e0a10c3df7edc4e458ba5519c75
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing implementation was removed in order to reduce massive code
duplication and simplify color resolving process. Unit tests were fixed
accordingly.
See related changes in the qtdeclarative module for the further details.
[ChangeLog][General] the palette API is a part of
QQuickItem now.
Change-Id: Ic94ab4632e626c11d9b26f035e2a8a119c9088ef
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ifd6b2289de6465a010f5f2a32789221767b4d5be
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ieb9bcfba9651d646509afd065ce2389ef74448cc
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/controls/qtquickcontrols2plugin.cpp
Change-Id: Ifc09ea9f71fdba119fe8eed99f0bdcb402444f27
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
.qmake.conf
tests/auto/qquickpopup/tst_qquickpopup.cpp
Change-Id: Id3bca2da290234f3c69845ffe18c6d9193a1bd28
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since all items using ToolTip attached property share the same ToolTip
item, a dynamically created invisible Tooltip may unexpectedly close
the current visible ToolTip.
Fix this issue by checking the parent of ToolTip when trying to close
it
Fixes: QTBUG-78202
Change-Id: I0f6558040c6b8bf22240b0c94af912a43d525ed9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: Ie6039c9ad6c5b0d5077383f0a797be320cd34739
|
| | |\|
| | | |
| | | |
| | | | |
Change-Id: Icb923b10d2b6c524ebaa8b38c7979b780e3582d4
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a focused Popup exited, it will try to transfer focus state to
next Popup in chain or other item. However if there is an unfocused
Popup exiting simultaneously, the focus state will be transferred to
unfocused Popup, and this will cause loss of focus state since an
unfocused Popup won't transfer its focus state to next Popup(or item)
Fixes: QTBUG-79464
Change-Id: Ic06bd5a3616c8afbce449266e6fc24d2d54059d9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It is being deprecated.
Change-Id: I69effb678ee29d9c98bdd51dc898845869211bcf
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |\|
| | | |
| | | |
| | | | |
Change-Id: I36a4d6043e00d97dc98cc9c77aa294a058574f47
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It's flaky on openSUSE. Whenever it would fail, the activeFocusItem
was always null, so check for that before doing the key press.
Change-Id: Ib31d4869902b40424b3994d1d468a3eace8847f0
Fixes: QTBUG-80164
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\| | |
| | | |
| | | |
| | | | |
Change-Id: I61919fabd4a3a07ed374f2c3c1fae2d589d6e124
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: I647fa31fafdaea46c341c515f97b7f793ddf4b31
|
| | |\|
| | | |
| | | |
| | | | |
Change-Id: Ib14b8c77cefe7aaf5b11483d9a30b2ef05314598
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If closePolicy of Popup is set to CloseOnEscape and the Popup is
completed, shortcut will register to QGuiApplication to let Popup
respond to Escape key. However if Popup is set to visible in creation,
even if we set closePolicy to CloseOnEscape, the shortcut won't be
registered.
[ChangeLog][Controls][QQuickPopup] Fixed the issue that Popup doesn't
respond to CloseOnEscape if the initial value of visible is true
Fixes: QTBUG-79326
Change-Id: I90c6805e2b4d567a6e0d33d43a75fedcfc5416b3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: I80f13e604dd492954c742e0ddaa7efa393776a62
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a popup is not modal, all the application's main content can still
be interacted with, therefore should still be possible to navigate it
with tab. This issue is particularly evident with Drawer, also commonly
used as a sidebar, in which tab navigation should always work.
Fixes: QTBUG-79501
Change-Id: I0e8ad2e1abe57b9617c6316efbfe2f296c91b592
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 3358362e61ef96b3922a438d0806561285c49230)
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I42b6a7050886f795e267893aa5eeaaf7a5841971
Fixes: QTBUG-79370
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a popup is not modal, all the application's main content can still
be interacted with, therefore should still be possible to navigate it
with tab. This issue is particularly evident with Drawer, also commonly
used as a sidebar, in which tab navigation should always work.
Fixes: QTBUG-79501
Change-Id: I0e8ad2e1abe57b9617c6316efbfe2f296c91b592
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: I770f99d20878ddf16ab3f4b1a5422e7192622f64
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It was commented out but should have been #ifdef'd, and the explanation
is wrong.
This amends 83fbf44.
Change-Id: Ibe752d63a42805361b13edc6beafcf1f3738f02f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I3a57449c9025e22414b8337fcffdeb0f4d769af2
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | | |
Removed dependencies.yaml.
Change-Id: I1e2b3f486e9ace4bc8dc0419a64848990b3a6b39
|
| |\|
| | |
| | |
| | | |
Change-Id: Ibdfd1048941c55bcf6abe101cad2b58a2ea9e776
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I859406dc779e59ee5d8e2980e04f8be28b1a69aa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Although it's not ideal to add arbitrary delays to tests, it does
reflect a more realistic testing environment, and more importantly,
seems to fix the flakiness on OpenSUSE.
(cherry picked from commit 97fc102cd079f32cc1a4f00a764ceea981699fc0)
Fixes: QTBUG-77946
Change-Id: I2998611759106386091d7375b31e56523c95371f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Although it's not ideal to add arbitrary delays to tests, it does
reflect a more realistic testing environment, and more importantly,
seems to fix the flakiness on OpenSUSE.
Change-Id: I0c13e5f628654aaff349c2f07be46792773a9789
Fixes: QTBUG-77946
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-76491
Change-Id: I346ddb1e926047878ce57c88cea24d8a4689adaa
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Initial conversion of QtQuickControls2 tests.
Change-Id: I7e09e387ec90f89cc2856c7f7f2cb810b03b7fa3
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|