| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using a table with code snippets in different columns will cause the
table to expand outside of the page width, forcing the user to scroll
horizontally. In addition, in mobile view, the table with code snippets
messes up the entire width of the page.
Fixes: QTBUG-104156
Change-Id: I36341a5da162cd88961ee1f8741b166b167f8770
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit b6d3f84c2a2bd7bed7a85618a30e05925bc2b6c0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A previous patch 5647527a8cde84b51fff66fc482f02435770b3dd causes
a regression. The purpose of the patch, that caused this regression,
was to update the pressPos variables, in cases where the contentItem's
geometry was modified externally, while a user were dragging the
contentItem around.
The mistake that was made, was how width and height changes were
handled. We had previously added logic in setContentWidth() and
setContentHeight() that would call fixup() (with immediate fixupMode)
to ensure that the contentItem would immediately be repositioned
inside the flickable's viewport, if the contentItem was being dragged.
It turns out that setContentWidth() and setContentHeight() are being
called from QQuickItemViewPrivate::updateViewport(), which happens
quite often, while dragging. This would make fixup() and dragging
constantly interfere with each other, since they'd not always agree on
a specific position for the contentItem.
This patch reverts the changes made to setContentWidth() and
setContentHeight(), since it turns out that those changes weren't
necessary after all. QQuickFlickablePrivate::itemGeometryChanged() only
calls viewportMoved() on x and y changes anyways.
Done-with: Jan Arve Sæther <jan-arve.saether@qt.io>
Done-with: Santhosh Kumar Selvaraj <santhosh.kumar.selvaraj@qt.io>
Fixes: QTBUG-109140
Change-Id: I0bddf8685d3afc1ae04b2c092212d3c1bd742c3b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit b307bf3c4f63c6e04874a972c747f18e18ddc199)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickWindow::QQuickWindow(QQuickRenderControl *control)
should be part of the public API. The user can use
QQuickRenderControl with QQuickWindow to control the
scenegraph rendering. This constructor is used in the
QQuickRenderControl example.
Change-Id: I1bb38d64173c24ba835137897ef915dfde83b1f3
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 7454d3b612eab92b8e91741fc1c51311cf80c3a2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The items that reject drag events (specifically onEntered in DropArea)
should not be retriggered with DragEnter event until entered once again.
Fixes: QTBUG-74496
Change-Id: I241a6004da6382685be89fe8a001b98dfde5c8a2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 0b7374fefa1abf08e956bc5d34008352144bd9ae)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case antialiasing is disabled the QFontEngine::Format_Mono is used
to render in the glyph cache.
In this format the padding needs to be 8-bit aligned.
Fixes: QTBUG-107038
Change-Id: Icc3c69fe0395cea9954c2fa07c39e7769fc91800
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit cba96b3a97977f71931f311db9d5644d1d74d694)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some controls, (e.g. TextInput and Text) we can get changes in
baseline offset when they change their height. These changes will
invalidate the layout and generate a polish event.
This means that during a rearrange of a layout with TextInput children, it
might change the height of its children. This might change the baselineOffset
of these children, which again will cause the layout to have to be invalidated
(and rearranged again) This double-loop is unnecessary if the layout is not
supposed to align these items by their baselines, so we add some conditions to
see if we really need to connect to the baselineOffsetChanged() signal.
This also fixes a bug observed in the color dialog, where the
semi-recursiveness described above lead to a problem with that the alpha
TextField of the RGBA color input was *not* laid out by the parent RowLayout
Fixes: QTBUG-105899
Change-Id: If66b4bbde6a37c962b157e166c883ba20ff24c21
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 1fe641c50defed77590e2eba9d33e6c3746fa832)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Works anyway because the data layout (a single m_node member) is the same
for all the materials, but let's correct the casts.
Fixes: QTBUG-106824
Change-Id: I84038b04ca03339bdefc61d5780b35309fcf6670
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 2afb9fe157ff7ead678f1b29f3c2955e277e7d1c)
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This caught my attention while reviewing a related fix
(4933bd6351feec988746af647c391c46483f049a)
Task-number: QTBUG-106594
Change-Id: Ie8c7fb2d9e504b14a924eca72a87295d8764cf39
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
(cherry picked from commit a7c8bd27e390db9d0d401f9008ceb4130da53d6f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the top alignment (default) is used, a growing height can be
ignored in some situations and no re-layout is needed. But once
the alignment has been changed, the re-layout needs to happen, as
otherwise not all anchors are updated correctly.
Fixes: QTBUG-106594
Change-Id: I9ab9999f49331aadd3bb8247d520288c40b51b21
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 4933bd6351feec988746af647c391c46483f049a)
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
By essentially porting Volker's change (4bee9cdc0ac)
from qmacstyle_mac.
Fixes: QTBUG-106604
Change-Id: I3d17b96cb919299eb8e33afb9bfed7778423c88a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 34a42dad18681911985a3648f7d8b19e3d174b63)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the documentation for HoverHandler::enabled, a
disabled hover handler will not accept any mouse events. It
therefore follows naturally that a disabled HoverHandler
should also not affect event propagation elsewhere.
This patch will change the implementation, so that
we don't deliver hover events to HoverHandlers that are disabled.
This also means that disabled HoverHandlers will no longer block
propagation to its siblings.
[ChangeLog][QtQuick][HoverHandler] Disabled hover handlers
will no longer receive hover events, or block siblings from
being hovered.
Fixes: QTBUG-106548
Change-Id: I7f2e459ba39f1e23cdb13bf94f8754e185dcd0c1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 205e31df1674da5d9de78c4338d3221309086333)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keep the touch/mouse grab when pinch activated to prevent
childMouseEventFilter of parent from stealing the event
Amends 10800723ab6dacf1203986a6b0815dec45528ef4
Fixes: QTBUG-105058
Change-Id: I6589b7d9cc5cc51ffe5dcaac137d1608604db572
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 4461dfc06b4b1b4bd97a0972ca10a1ab4d53a4c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-106347
Change-Id: Idf70fbfee2006d9e5b3a89f9126277683a24c236
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
(cherry picked from commit 9716c0187bff4d2742f0f304da93090347495486)
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-106457
Change-Id: Id36b54fd3ed413c0ac49e33e5ea87984d5220aef
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit e061c934d5a6d93493ba2be7b61efdd055d1e164)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that the window has focus, otherwise
QQuickShortcutContext::matcher will return false.
The patch also adds a logging category to allow debugging similar
issues in the future without modifying Qt sources (which consumes an
ungodly amount of time to do in a CI VM), and fixes a typo.
Fixes: QTBUG-106465
Change-Id: I11f78479a7ed2e43ad25e8fccd7fd2af7338c6ea
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 8c6ff5a68d2da9b1520db69a56708f7e88b4e58f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds a colon after scheme in methods 'setProtocol' and
'setUrl' on its protocol line. Likewise, this includes a test called
'colonAfterProtocol' to check if colons were correctly added by using
different schemes: ftp, http and https, or if colons were removed when
setting the scheme (i.e. from protocol 'ftp:', 'ftp:http:' or 'ftp:::'
to 'ftp').
Fixes: QTBUG-103746
Change-Id: I8f847bedd23e476e0ae7901a2f3f3963da3ca04d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c61075d2e0049b3c92556c7221e38ef1122118b6)
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The file URLs provided by the native Android dialog use the "content://"
scheme. Calling toLocalFile() method on such QUrl returns empty string.
That is why we need to use QQmlFile::urlToLocalFileOrQrc().
Fixes: QTBUG-105110
Change-Id: I80e9a9e90fdad4b22c5c58b06dab8af31ea84c82
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit bf3793a1a1a03408e4eea31d6460b7d4bc274556)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The values in _qt_additional_packages_prefix_paths end in /lib/cmake,
because they are prefix paths, not root paths.
Adding ./qml to the end of those paths would never result in valid qml
import path locations on disk.
Use __qt_internal_prefix_paths_to_roots from the Qt6 package to strip
away that suffix, before adding ./qml.
This should fix the Conan multiple root paths case, as well as
builds of ExternalProject examples during a prefix build of
qtdeclarative.
Note that the examples will still not run without setting the
QML_IMPORT_PATH env variable to point to the qtdeclarative/qml
build directory, or creating a qt.conf file in the example build dir
that sets the qml import path to the qtdeclarative build dir.
Amends 8bf916bfcbd5a05ec7370179317cd6d3a7dbd905
Fixes: QTBUG-106431
Task-number: QTBUG-96232
Task-number: QTBUG-102339
Change-Id: I6d3dd2b82634efc0faf756d884816dfb8a6ff4b6
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 727151e0e03b0b91e1dc83c205a8608d5d5c236b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In certain cases where QT6_INSTALL_PREFIX/qml might not exist, we
wouldn't add the -importPath argument itself, but would still try to
add import paths, which would then confuse qmlimportscanner and
trigger an error.
qmlimportscanner: Invalid argument: ...
Make sure to prepend -importPath for each passed import path.
Task-number: QTBUG-96232
Task-number: QTBUG-106431
Change-Id: Iae2b02a0b50e75a297df8fbaf0427df2b6b30c93
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 300074edaacdad3f2ffacb87c3e718db620c564a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The file URLs provided by the native Android can use the "content://" or
"assetes://" scheme. That was already handled by urlToLocalFileOrQrc(),
but we cannot assume that authority is empty. Some authorities still
point to local host, like:
- com.android.externalstorage.documents;
- com.android.providers.downloads.documents;
- com.android.providers.media.documents;
This commit treats URLs with the above mentioned authorities as local.
Fixes: QTBUG-105110
Change-Id: I9c080305547e5cd2c2d1be489f59d185a5d49658
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit b65a5a9d06307eb6ad19abe9585c3b20a3db583f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we create an alias property, we resolve its targets metatype. In
the case of inline components of the same file, that's however not
possible via QQmlType, as the type will only be available once the outer
type has been fully set up.
Fix this by looking up the type in the ExecutableCompilationUnit, where
the information is available while the type registraiton process is still
ongoing.
As a drive-by, also set the alias flag correctly when constructing the
QMetaObject of a QML element.
Fixes: QTBUG-106392
Change-Id: Ie8f55dd0894cc5c8d683dd3c685980878956d3ca
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 2a37ff2f49140272d0122ccc097cc14c2fa4133e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that all expected delegates have loaded before trying
to verify that the correct file is selected.
This requires a modification to verifyFileDialogDelegates to
account for the large amount of files that
goUpIntoLargeFolder deals with, as QTest's failure message
is limited to 1024 characters.
Fixes: QTBUG-101488
Change-Id: I65cf6ffc4724309083899dac2acc1f04a11a1220
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit f406385dfb9e88b3661f8524281b8f9d9e1351a7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we've assumed the whole allocation can be used, even though
the first and the last page are actually not usable. This makes a
difference when the size of the guard pages grows, such as on macOS,
which these days has 16k pages.
Add the extra guard page size to the amount of memory to be allocated in
order to fix the calculation.
Fixes: QTBUG-93188
Change-Id: I0ebece94449da3127e9a78a19d8a22722ad8d698
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 826b77c8cf0ffbef4f95e7b9e72eb9dc25936657)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickPlatformFolderDialog, when triggering acceptance, the folder is
set by the value of currentFolder, and the value is set back to
currentFolder inside the setFolder function. This action causes
currentFolder to be abnormal after the folder is modified.
Fixes: QTBUG-104629
Change-Id: I99978de5bbd019024c499c50f61d6e7b6e7dc140
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 5e8b7627565d408ed6dbd9f3a192d0bbeff6720e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With qt_add_qml_module, the generated plugin will be sufficiant most of
the time. Mention that this is the case, and also mention
NO_GENERATE_PVUGIN_SOURCE for the case where customization is required
(most likely to occur with image providers).
Fixes: QTBUG-106270
Change-Id: I7e9399f9617e7d531b84b68afc9e8f9aa85f0704
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit 2ca9d70c17e790f55f9b09088e1c3bca77488560)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The item-size-hint-cache in StackLayout was not always valid when
QQuickStackLayout::rearrange() was entered, so it would end up setting
the size of the item to (-1, -1)
Fixes: QTBUG-105899
Change-Id: I632aa18bb10b84d59af35cd3c7cb0c675d8d1692
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 9a4874ab7f18a54b2497f689dfd7f7a2ee0516b8)
|
|
|
|
|
|
|
|
|
| |
Replace it with a self-contained example that can be copy-pasted and
run, and that is easier to understand.
Change-Id: I54b67b0173d25aee509318ff842bb895c7244a48
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 25bd3b526c6b78694422d0ebcb6052996dd68f2c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we use an attached object as an argument to a function call, we
need to properly extract it from the QmlTypeWrapper. Before this change,
we simpley left the argument pointer as null, which lead to subsequent
crashes when it got dereferenced.
Moreover, treat passing namespaces to functions expecting a QObject as a
TypeError, by returning false from CallArgument::fromValue (used to
crash for the same reason as with the attached object case).
Fixes: QTBUG-106119
Change-Id: Ifa6a32e20a29935aff1f265eb0edd3e35ea1c11b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 84483bff4f4d49e5f87abf564021647f2fb2a8d0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling the setContentX(qreal) and setContentY(qreal) functions,
the flickable would not update the drag starting position if they were
called in the middle of a dragging operation.
This patch makes those function update the drag starting position, so
that the drag will take into account the external changes to the
contentItem position, and not make any massive leaps on the next call to
drag() after changing the contentItem position directly.
Note that vData.pressPos and hData.pressPos are set to the x and y
position of the contentItem at the beginning of a drag operation.
They are unrelated to the mouse position.
The bug QTBUG-104966 will be fixed from this, since QQuickItemView::setModel() calls
QQuickListViewPrivate::setPosition() which calls
QQuickFlickable::setContentX/Y().
The QQuickFlickable::setContentX/Y functions are public (part of the public
API). They will update the timeline value for the x and y axis, which
will as a result also call setViewportX/Y, which calls setX/Y for the
contentItem itself.
Done-with: Jan Arve Sæther <jan-arve.saether@qt.io>
Fixes: QTBUG-104966
Change-Id: Id5165e1ff37a07b94be8c1cc152e86dfcc13d1c6
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 5647527a8cde84b51fff66fc482f02435770b3dd)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The parentheses were misplaced, causing e.g. contentItem.implicitWidth
to be ignored. Without any parentheses, the same issue is present due
to evaluation order, so we do still need them, just in the correct
place.
While we're at it, we replace contentItem.implicitWidth with
implicitContentWidth so that Imagine respects
implicitContentWidthPolicy (which was added in
49ffc6e6af83b295c67fd119b79c925879cc292e).
Fixes: QTBUG-106098
Change-Id: I6ff08f5cb9309ae0494d95917ce8b7a22d2ba663
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit e11df48384e38f2903a88f8dd3db49b78f1e27c6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far the qBound() using m_minimumScale and m_maximumScale was only
applied for normal pointer events: there were no limits when using a
touchpad that sends native gestures.
Fixes: QTBUG-106110
Change-Id: Ibf8d955e5f1dac517e0a3e9588fb117d83f443a6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 5cb3ba93da2673b20abae8a544a961b7b57dff45)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is basically the same as QTBUG-105204, only with the QML engine
being involved.
Fixes: QTBUG-104982
Change-Id: I5afaadedcd7af41198702a8f2331703b4f6ef2e7
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 2879c7c3411955b1d4f795436f803abd960c176d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Clazy reminded me about the usual const-ref optimization in a range for.
Change-Id: I2eafb49d341758829ce8fc43a8e5432a2d6dd4f6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 5b81451d448d667b500ae6283ded9e59826e72b3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With a particular nefarious combination of Q_GADGET and inheritance from
QObject you can make QmlCompiler believe a type is a value type even
though it is actually an object type. We never want to touch such a
thing.
There was a safe guard against this when looking up the type from the
scope, but by putting it in a type namespace you could circumvent it.
Refactor the code to apply to both cases the same way.
Fixes: QTBUG-104556
Fixes: QTBUG-105608
Change-Id: I8a690e2b6f78fcaba0911a93504cde0d2c7dde0d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 0a8fe228f6bb65afe08f1bc203653266fa204ba5)
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to use QQmlAnyBinding::removeBindingFrom instead of the
functionality in QQmlPropertyPrivate, as the latter does not correctly
handle QProperty based bindings.
Fixes: QTBUG-105535
Change-Id: Ifcd8d3a97ff6d62b365008768e6bf50cfa102a39
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit af5f853413c633c665696dc176677fdde196dd01)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are remote directory imports for all practical purposes. Therefore,
you need to add qmldir files to make them work.
Fixes: QTBUG-92068
Change-Id: I7b11e55e53b2c96d95619ac2346cd45561e73b9a
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit a22bd4164e10fd2e208d0fa6e3373c8e27996952)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-105812
Change-Id: I735b23999a87bead759ea7987975c3d4cefdebf8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit af34e238b8bb572097a99b45b8522b120fd102ea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 9db23e0e04906cf9ea33e23fa41f34955e5e6fe0 we added a new call to
createTextNode(), but it turns out that it could be called again for the
same block, a few lines below (in code that was originally added in
dfdc4ce825e814b30449cfa1c85d3d2f47f8a845), if we have not reached the
"last node that needed replacing or last block of the frame". This
resulted in a memory leak: TransformNodes were created without parents,
which b616028dae933e7ff6142d41bdafee8ad445a8ec tried to fix by calling
addCurrentTextNodeToRoot(). That change made the code in "Update the
position of the subsequent text blocks" re-add offsets that had already
been added, which had the effect of moving down the blocks below the
selected ones by the height of one line; but the new call to
addCurrentTextNodeToRoot() was anyway just adding empty TransformNode
instances to the scene graph. Afterwards we can see that any
TransformNode that does not have a GeometryNode as a child is not
actually rendering any text, it's just wasting memory. Having a debug
operator for QQuickTextEditPrivate::Node, and using a QQuickTextEdit
subclass in the autotest that checks the nodes corresponding to blocks
rendered at the end of updatePaintNode(), makes this easier to see
and verify.
So now, if createTextNode() has already been called, we avoid calling
it again a few lines below; but we keep the checks in place to make
sure that every node which does not have a parent will get added to
the scene graph (regardless of which line of code it was created on),
so that there's no leak.
It remains to be seen if this could be cleaned up further.
Amends 9db23e0e04906cf9ea33e23fa41f34955e5e6fe0 and
b616028dae933e7ff6142d41bdafee8ad445a8ec
Task-number: QTBUG-103819
Fixes: QTBUG-105208
Fixes: QTBUG-105555
Fixes: QTBUG-105728
Change-Id: I321980c705887bfdb37825f7e6ed8da3d200654e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit b271755e6c9a5a939c3ad6dfca8da573779e06ee)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use the time stamp of the touch event when converting a touch event
to a mouse event for items that do not handle touch events
Fixes: QTBUG-105907
Change-Id: I642093346459a031b77174eeecba8470e103e8dc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 3c3aef14865fe8a9865403feb044771a27522256)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Amends commit af1ef35fa00a466d3af04c17b59fcb4ea38f396a.
Task-number: QTBUG-92192
Change-Id: I7523b9294d543eaaf2c37f4d2d4456758cdb6e3e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 7be4dcfd2c2dd27627bfc6a319f348a52c390632)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The identifier is of course not a full (as in absolute) path, but rather
a relative path. The documentation states above that all paths are
relative to the engine's offlineStoragePath after all.
Also, drop the version number from \qmlmodule.
Fixes: QTBUG-95232
Change-Id: I9202d4ecd45d3efca00ad48dbef359491c373916
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 33fbb6ce749e469c116dd07a6604248031d9caf5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ie1814aa6d990e1caecf0a92d983d8260c48669ec
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit e3aeb13052c1d783c92a6043614a196a267d5fea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Use the correct properties and use qsTr().
Change-Id: Ic9765503845e5d9d64c2c77c60238095b4947058
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit c4b4812d5da917b83e1d83079fa992e00b612141)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that we remove shortcuts for a MenuItem when it's disabled,
not just when a new shortcut is set.
Fixes: QTBUG-89567
Change-Id: I9c4eeda1a68a23317fe5e7bf517046e4e403c46a
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit acf2ed0c5fb7594ab01ff48e3dc5c3c16e203755)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After e0990f8b406, we now send a content rect that is smaller than
the minimum size to QQuickMacStyle::sizeFromContents(CT_LineEdit).
Because the affected code in sizeFromContents doesn't expect that,
it returns a size that is too small to fit the background.
Since a QQuickStyleItemTextField will respect the minimum size, and
therefore end up drawing a background that is bigger than the
control, the focus rect (that respects the size of the control) will
appear too big.
This patch will ensure that sizeFromContents never returns a size
that is smaller than the minimum size, even if the contents are
smaller. A small check in the code for this is also added, so that
we can avoid similar cases early on later.
Fixes: QTBUG-104705
Change-Id: Ifb763dcce5cef43e6aec9a7da70d73bf8f1255ff
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 18b7cc43853b1cf48a8994ecfbf742d61fa730c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-103513
Change-Id: I6b67ff2611f37a6519420d875e7d9a70d0eb210a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit ac0d923de68cad62d87e116fbb5e5cc2af28349c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Amends 0a3eec60cab3c453b378ee45ac335e0dc2951f4b
Change-Id: Iae9d1b2b68dc48a52adf0438a09af8e53f5527f1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit c2d92c241274f9abdcb24637f9838210f191e8ed)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
908aa77d16e00f2bccc0ddae0f8b61955c56a6a1 hid old scroll bars, but
didn't account for the situation where the old scroll bars would be put
back into place, and so they never showed up.
In the case of the linked bug report, since there was a binding to the
ScrollView's contentItem, a default Flickable would be created. After
that binding was evaluated, the contentItem was set, causing the scroll
bars to be hidden (as part of the process of disconnecting from the old
flickable). To fix the issue, we now do the reverse of hideOldItem when
a new contentItem is set.
Fixes: QTBUG-104983
Change-Id: I910259cc3e8f6a6231ae6c87c7d4f0f652bd0545
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Nate Graham
(cherry picked from commit 58bae53237417f28eac6d772fa6ecab657f8a73f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keep the mouse grab in addition to touch, as PathView
apparently doesn't deal with touch events yet.
Fixes: QTBUG-105058
Change-Id: Id94768aec847138cccdeccfa92e4bc72a19810fe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 10800723ab6dacf1203986a6b0815dec45528ef4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flushFrameSynchronousEvents() is only called on the window's DA, so a
touch event stored in QQuickDeliveryAgentPrivate::delayedTouch in a
subscene DA would be lost, unless we make the flush recursive.
However, a grabbed touchpoint remembers its DA; when that's a subscene
agent, subsequent touch moves are delivered directly via the subscene
DA, and touch event compression does not occur at all. This may
pessimize performance if touch events occur many times more often than
frame rendering, but it's not expected to matter a lot on 3D-capable
hardware.
Fixes: QTBUG-105566
Change-Id: I9102b20806f9577fba0f741f7589ee5b1642e5a5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 212f31f9eaa0e2ba569ae1458fd0f0dca3c53e60)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|