| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Loops consisting of just a single basic block (e.g. a do-while loop with
no nested loops or if statements) have a back-edge to themselves. There
were 2 problems:
- loop detection would create LoopInfo for any loop header referred to
by blocks inside the loop (and a 1 block loop doesn't have body
blocks), nor would it mark the loop header as such
- when splitting critical edges, the newly inserted block would not be
marked as part of the loop
This is a problem specifically for 1 block loops: the block ends with
a CJUMP, so the back-edge is a critical edge. So the new block inserted
by edge splitting wouldn't be marked as belonging to the loop.
The end result was that the life-time intervals for temporaries that
are defined before the loop, but that are used inside the loop, and not
after the loop, would have their life-time ended before the loop ends
(instead of spanning the whole loop, *including* the back-edge). This
in turns could lead to the stack/register allocator re-using the storage
for that temporary, resulting in strange things happening.
Task-number: QTBUG-59012
Change-Id: Ic946c73913711272efea2151cb85350412ca2fde
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
6767fcfaf basically gave up and gave the module an own set of headers.
however, we now have improved infrastructure for borrowing headers.
while this may look uglier, the maintenance burden is lower, and it's
consistent with other bootstrapped modules.
Change-Id: I6ddcbbc01fa085a3c6bf333b03a9fdfc19061836
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
note that the condition is insufficient (it should include
qtConfig(dlopen)), but this is just consistent with the c++ code.
Change-Id: I4b447ff504539e4dc07ece3d696e5a85b2f4cc50
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QObject's members declarativeData and currentChildBeingDeleted share
the same memory because they are inside a union.
This leads to a problem when destructing mixed Widgets and QML objects.
Then in QObjectPrivate::deleteChildren the member currentChildBeingDeleted
is set. But unfortunatley QObjectWrapper::destroyObject retrieves
the same pointer via declarativeData.
This patch should avoid this by disallowing retrieval of declarativeData
when isDeletingChildren is set (or at least adds a Q_ASSERT).
Task-number: QTBUG-57714
Change-Id: I9ee02f79be3e8226c30076c24859b49b8dcfaecf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Now set the QImage devicePixelRatio so the content is correct on all
screens.
Task-number: QTBUG-53795
Change-Id: If94edf901da1285afe9bb847b8973d568a2b7082
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Build failed on Android when using clang.
error: '<name>' overrides a member function but is not marked 'override'
[-Werror,-Winconsistent-missing-override]
Change-Id: I080f8145b5a1c12bacf99f9c08f9e78271e5837a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
| |
Don't define QML_PARSER_EXPORT to dllimport when doing static builds.
Task-number: QTBUG-59767
Change-Id: I24acb2c51f54a0cde8d2e50a935ede876e5eb5b7
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
GCC 7 warns about preprocessor macros expanding to defined(),
which the masm config macros use pervasively.
Fix by suppressing the warning (-Wexpansion-to-defined).
Task-number: QTBUG-59647
Change-Id: I9220741cf594824472bffc2305b994b311e55832
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since moving to pointer events, we would deliver all events inside the
filter function. The expected behavior though is that only points that
are already grabbed, pressed inside or grabbed by children would be seen
by the filter function.
This broke using multiple touch aware items at the same time (2 pinch
areas for example).
Change-Id: I42a430f196ebbcf0a83a6dc8aca319e433ad52ad
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QSGSimpleMaterialShader::uniformMatrixName() and
QSGSimpleMaterialShader::uniformOpacityName() cannot be reimplemented
since they are non-virtual.
Removed the suggestion, so nobody is tempted to do so.
Added a Remark in the header to fix towards intended behavior in Qt6.
Change-Id: Id23c8d54728095f143f1d0e0520590303cff91a0
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
|
|
|
|
|
|
|
|
| |
An invalid iterator was being dereferenced.
Task-number: QTBUG-59268
Change-Id: I58635667ab4591c06f1d7644243b83fd0172e74f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Icbd2393d4b8523e24328f765e76869c86afb3e72
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a QML file depends on a QML singleton, we failed to include it in
the dependency hash. Thus changes to the QML singleton did not result in
a re-creation of the caches of files that use it.
The list of singletons comes from random-ordered hashes in the qml
import handling. We provide an order to the direct dependencies by
sorting by the singleton type names.
Task-number: QTBUG-58486
Change-Id: Ie7e9d006f9bf3a60af1f819ee439c29bc234bd8a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of passing the engine parameter all the way through the data
structure generator, along with the dependent type data structure that
is unused otherwise, let's simply provide a function object for the
dependency hashing.
This is also in preparation for adding singleton types to the dependency
hash.
Task-number: QTBUG-58486
Change-Id: I5bb5e5c06b7b5c77195cec3da13141333cfea7a8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5b63697c0607f4300b7f203eeac74914f3fb43af
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The double representation of 0 and -0 are different in the sign bit, so
the raw values are not the same. However, neither is managed, so
non-strict equality comparison erroneously returned false.
Task-number: QTBUG-56808
Change-Id: If966ddbc9f1a1c006dc5901aecafca063f71e404
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator T() does loadAcquire, to match std::atomic behavior. We don't
need that, so let's use a relaxed load.
Side note: why does QtQml need to access the thread ID this way?
Couldn't it do object->thread()? This code comes from a pre-5.0 commit
5570040771ec610583473e2d9e8e069474364cf1 ("Permit signals to be emitted
in a different thread").
Change-Id: I4139d5f93dcb4b429ae9fffd14a34a84d3255a6f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
| |
The versionUriList() function is unused in this case, and we cannot
build the extension plugins test.
Change-Id: I6c2ea1c2d078e508b0752efb45f4ccdfdbcbf22e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Drop an unused include, don't try to build qmlplugindump in this
case, and add some guards around QProcess includes and usages.
Change-Id: I6ce5985a8dd1967f146016a7acd1ea31fb3bda2a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Change-Id: Id57c9bc4421fc252ab02e2a0cfe00d08aef0176d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: I334603209818a8030ddb5b5b316cab596c328bf1
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: If165cea6f176e7a7066f50b73261baf97634a0bb
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If the user doesn't clear any potential errors manually via clearError(),
then do it automatically in the destructor. Found with valgrind.
[ChangeLog][QtQml][QQmlExpression] Fixed memory leak
Change-Id: If5b1181850c7463c939a7ba536d74e7054c53d60
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I864b436b7cb1e1fedb15555f53951987dc74012c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
This amends e0c119cc.
Change-Id: I5be65d23e176198ec9d5420a7f6fe270a4573bc3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|
|
|
|
| |
Change-Id: Iac046f56bbd477d4565ab138d9e236b2dce44162
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I20821e5fd4d2154aa49ef90015d512dd09c134f3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The disconnect was done with a signal index local to the item, instead
of 'global' to the item and all its parents. The index also had to be a
method index, not a signal index. Together this resulted in a failing
disconnect, which would keep SlotObjects alive with outdated data. Any
subsequent use would result in a crash.
Task-number: QTBUG-58336
Change-Id: I26b1868b2f8c61a4ffab1c72c85178632ca87599
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I9bdae64a2d1b38c0b3f1b7f4cf460b3466d45dad
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
| |
Change-Id: I60af106607dca02fafc1df2d21d16053d64742b6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
| |
Added binary compatibility files for qtdeclarative
Change-Id: I6a784e7553c647fa38ffe0a87e6e6a0f45e17ef0
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlType has more information than the bare QMetaType. The optimizer
already uses it for looking up enums, so some code would behave
differently, depending on whether the optimizer was enabled or not.
In some cases we cannot use QQmlType for lookup of enums because
QQmlType might have been created with only a callback. The object
only shows up later in that case. Then the only thing we can do is
query the metatype.
We can test this by adding an eval() because eval() disables
optimization for the surrounding code.
Task-number: QTBUG-58394
Change-Id: I8c90591b19fe1ed3e5339d877f9e6ec7c6f9aa73
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
Also link it from more places
Change-Id: Ib5fbf89f4a039f885e918d57ee477e9788049d8d
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Flickable got hidden while a child had mouse grab, it ignored the
mouse ungrab event of the child mouse grabber, and got therefore stuck
in pressed state. Consequently, item view transitions were not executed
since the item view though it was being pressed.
Task-number: QTBUG-58453
Change-Id: I76f9f3190c3a95a2fafdce036d69ea1dc8127434
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most likely because of changes done to mouse event handling in 5.8,
a QQuickMouseArea can now get a mousePressEvent call without a
subsequent mouseReleaseEvent call if the press event was rejected.
A regression seen from this is that QQuickMouseArea starts a
pressAndHold timer upon receiving mouse press, which will never be
'cancelled' since the following mouse release is sent elsewhere.
As a result, TextArea in QtQuickControls will e.g receive a
pressAndHold signal each time the user touches the control, which
again will cause weird behavior like selecting words and
messing with focus on iOS.
This patch will instead change this so that we only start the pressAndHold
timer if QQuickMouseArea accepts the mouse press event.
Change-Id: I43e2f02e2b4f75e7b6761e326e3fec54ea97683a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we post a focus change notification, VoiceOver verifies what the application
thinks is focused. Without this function, when moving the keyboard focus
(e.g. by pressing tab) the VO focus will not follow.
[ChangeLog][QtQuick][Accessibility] Fixed focus handling so that keyboard
and VoiceOver's virtual focus are in sync (QTBUG-58340).
Task-number: QTBUG-58340
Change-Id: I7d4871c13b36c3ab9241614ca8a06452461e3cd1
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When register allocation on an IR in SSA form is done, the last step is
to turn the Phi nodes into moves and swaps and put those instructions in
the predecessors. As the Phi nodes are conceptually "executed in
parallel", this can result in cycles:
r1 <- r0
r0 <- r1
These have to be turned into a swap instruction. Also, the moves have to
be ordered in order to make sure that no values are overwritten:
r1 <- r0
r2 <- r1
Here the two moves need to be switched. The comments in the code
document the algorithm.
Change-Id: I4151988681f7554b00a3eb70d224e6e2f29ebf04
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The same bounded dragPos values were used for
- moving the target item to new position; and
- if dragging didn’t start yet, determining whether cursor moved over
the threshold distance.
It is right for moving the target item, but in the second case it led to
that dragging did not start if the distance between item's left border
and minimumX (right border and maximumX, top border and minimumY,
bottom border and maximumY accordingly) was less than drag.threshold.
Task-number: QTBUG-58347
Change-Id: If61a98bf734739323ef19dee6709560b754b2456
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
|
|
|
|
|
| |
Change-Id: I88ffdd1d1224705e980e449b6c799c9f186143b1
Task-number: QTBUG-58271
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
.. of the same basic block. Phi nodes are "executed in parallel", so
such a situation will lead to interesting results.
Task-number: QTBUG-58553
Change-Id: Ibed439df91d46ea416dcb0a20457310e91dce8b4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chinese locale means Code Page 936 here. It's also related with
removing C4819 warnings.
And it's also following Conventions in Qt source code: All code
is ascii only (7-bit characters only, run man ascii if unsure)
See also http://wiki.qt.io/Coding_Conventions
Task-number: QTBUG-56155
Task-number: QTBUG-58161
Change-Id: I1c38a6ce74670716f730663edbcdec3919b438c2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-58549
Change-Id: Iaa2a9cd8b86e8c2bb7e20b99fabad99d0bd51799
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
A QTouchEvent is allocated with a reduced subset of TouchPoints for
each Item to which we attempt to deliver it, and thrown away afterwards.
(Ιt's not efficient to heap-allocate it, but we can't avoid doing it
at all without changing behavior.) So now it's stored in a QScopedPointer.
Change-Id: I48badb493610d0a715e582a2eedae95e2006eb2b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mention that the new backends are introduced with Qt 5.8. Also
remove some details that rather belong in subsections, in particular
the mentioning that the Qt Quick API's originally were designed
for OpenGL. It is unclear what consequences this has for the user.
Limitations on backends should be rather spelled out in the
respective subsections.
Change-Id: I21239ea99b89b4c7771e3d79a38c6aa39007d0ea
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
[Platform Specific Changes][Windows] Fixed compilation on MSVC
with -no-qml-debug configure argument.
Task-number: QTBUG-58412
Change-Id: I915ed3d345b3f1e4e5863456522784ab6c9b15cf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
| |
Change-Id: Icbe18330ae665b693047f098e219c3b665be22e9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
GL_EXT_xxxx is not sufficient here. QOpenGLFunctions already has support
for the ANGLE and some other variants of the framebuffer multisample and
blit extensions, so use that instead of the manual checks.
Change-Id: I2d8e0850d3b0b9a9cfd9e55aa38adad07a0ba45d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some modules (ie QtChart) require a QApplication instead of the
QGuiApplication that qmlplugindump use by default.
This option let the user specify if a QApplication is needed.
Task-number: QTBUG-58264
Change-Id: I10e68d0d3eab2afad315b57fef9ce92c42e70124
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
| |
This information will then be visible in Windows explorer.
Change-Id: I9d2f936584308394b4e3246d57bed44083b3cbca
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/qml/jsapi/qjsengine.cpp:524: warning:
Undocumented parameter 'metaObject' in QJSEngine::newQMetaObject()
src/qml/qml/qqmlengine.cpp:1023: warning:
Undocumented parameter 'retCode' in QQmlEngine::exit()
src/qml/doc/src/qmlfunctions.qdoc:182: warning:
Undocumented parameter 'reason' in qmlRegisterUncreatableMetaObject()
src/qml/qml/qqmllist.cpp:393: warning:
Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:393: warning:
Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'append' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'clear' in QQmlListProperty::QQmlListProperty()
src/quick/items/qquickwindow.cpp:4461: warning:
No such parameter 'backend' in QQuickWindow::setSceneGraphBackend()
Also do some minor language editing.
Change-Id: I2e806d1a77e3c4264d709c27d2bfc4542a782716
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|