| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Only abort event delivery early if event that got filtered was accepted
(previously we aborted as soon as the event got filtered, even if the
event was filtered, but explicitly *not* accepted)
- If the event that got filtered was *not* accepted, we do not abort event
delivery, but we need to remove the item from the list of target items that
we will deliver to later
- If childMouseEventFilter returns true it should not automatically mean that
the event was accepted.
Change-Id: I2f2415379061131af1d5102e03d01f010e1a8168
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|\
| |
| |
| | |
Change-Id: I0af7b0c3e0a21aae68c82ec11c5ca579c1661ce9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow direct loading of pkm texture files into Image. This can
be extended to additional texture types, and then eventually
turned into a full plugin architexture.
[ChangeLog][Qt Quick] Allow direct loading of pkm texture files
into Image. For example: Image { source: "myImage.pkm" }
Change-Id: I1baed6c3e85a15752da8adc675482d874c9355ab
Task-number: QTBUG-59872
Task-number: QTBUG-29451
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Amends 80e03bbd9a42401d50af450aff5351c3a0c95444 for dev, adapting
to tests in dev.
Task-number: Task-number: QTQAINFRA-1334
Change-Id: I1aede768f40f42bfc2af7caf342f7cf2d06c523a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I7d092cce33cb009d63e7b0df7c71183089dea53f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Capturing the output of the started process mysteriously fails on
Windows with gcc. While the nested event loop is run, the readyRead()
signal is never emitted. Only after the timer fired and the event loop
is terminated, we receive the output we were expecting.
Some tests needed adapting to the initializing sub-function failing in
QVERIFY/QCOMPARE calls, in order for the process to not crash and the
blacklisting to work.
Task-number: QTQAINFRA-1334
Change-Id: I4804d94580e7db65595137d19d7b75d75c243257
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
internalInsert() will set the cursor to the right position which accounts
for any input mask set on the control as well. Therefore it will already
be placed at the next correct position and should not be changed again
after that.
Task-number: QTBUG-40943
Change-Id: Ic80193ee94d2aa002b5a14a88df719a5a2cf51b1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test that it actually didn't grab a blank pixmap,
as happened with QOpenGLWidget in the past.
Change-Id: Iee8e7ff2f3fa2f2223a2a284fec96d96f62e36a6
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In this specific case, the original image is rendered at 212x300. If it
is then scales (preserving aspect ratio) to 200x200, the width "should
be" (212/300)*200 = 141.333.. Now when the backing store is not using
highdpi, it will be rendered at 1x, so the width gets rounded to 141.
However, if the backing store renders it at (say) 2x (so width 282.66..)
it gets rounded to 283, which is then divided by 2, which makes 141.5.
By rounding the width down, the result is always the same as on
non-highdpi.
Change-Id: I8c967edf60ddbe97496cfb3d561357887a177d3f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I916adeb7b25a993fef6765c6743464794ec1f665
Task-number: QTBUG-62177
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Respond to the language change event by refreshing all binding
expressions. For constant string translation bindings we must now create
special QQmlBinding instances instead of a one-time property write
meta-call upon instantiation. Those however are more lightweight than an
entire JavaScript expression.
In addition this provides a slot to explicitly trigger a re-evaluation
of bindings, to make it a little easier to discover for the developer.
[ChangeLog][QtQml][QQmlEngine] Added retranslate() slot and
QEvent::LanguageChange support to refresh bindings when changing the
language at run-time.
Task-number: QTBUG-15602
Change-Id: Ide174648e1d8a5738acb88e15495018d0869d7bc
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Enums can be declared with the following syntax:
enum MyEnum {
Value1,
Value2
}
Grammar changes done by Simon Hausmann.
[ChangeLog][QtQml] Enums can now be declared directly in QML.
Task-number: QTBUG-14861
Change-Id: Ic6b6e032651d01ee2ecf9d5ce5734976cb3ad7ab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to fix QTBUG-21919, 6ff9ba0 added a QTextLayout::clearFormats()
call to QQuickTextPrivate::updateLayout(). This patch moves that logic
to clearFormats(), called from setText() and setTextFormat() in order to
avoid clearing the formats on every text layout update.
This allows Qt Quick Controls 2 to extend QQuickText with support for
mnenonics by adding a text format range to underline the appropriate
piece of text in the internal QTextLayout.
Task-number: QTBUG-61422
Change-Id: I646d53f0feeeaa3c106db94f187c7accabdc6a61
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/quick/doc/src/qmltypereference.qdoc
Change-Id: Ia58f1c5a98309c32ef8d8e5c893faf261215f19f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Binary compatibility files added
Change-Id: I255619529c4e375ecc521eb0dbc11037b6488486
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQmlObjectModel::move() created a QQmlChangeSet with moveId -1,
which made item views and controls see the changes as removals and
insertions, because QQmlChangeSet::Change::isMove() returned false.
Consequently, item views did not update the current index when the
current item was moved.
Task-number: QTBUG-60894
Change-Id: I4a64b7670c1fae12337995627437cc83efb9f1ef
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
context
tst_qquicktext.cpp: In member function 'void tst_qquicktext::width()':
tst_qquicktext.cpp:339:61: warning: enum constant in boolean context [-Wint-in-bool-context]
metricWidth = fm.size(Qt::TextExpandTabs && Qt::TextShowMnemonic, standard.at(i)).width();
Change-Id: Ifde8fca08f16209e6b00e4c8c6ce2f823fa7a974
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For text where the content is known, it can be handy to be able
to disable the kerning feature in OpenType to improve performance.
[ChangeLog][Qt Quick][Text] Added "kerning" property to the font
type to support disabling kerning on text.
Task-number: QTBUG-56728
Change-Id: I2e447587a066a7e12c5d38967e0845eaad021014
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The XMLHttpRequest.send() method should be able to send arbitrary binary
data, and not just UTF-8 text: with this change we first attempt to use
the parameter to the send() method as an ArrayBuffer, and fall back to a
QString if that fails.
[ChangeLog][QtQml] Allow sending binary data, encoded as ArrayBuffer
objects, via XMLHttpRequest's send() method.
Task-number: QTBUG-61599
Change-Id: I25781969ee39b4d168e5c76315ed9853092b322b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/quick/shared/LauncherList.qml
src/quick/items/qquickevents.cpp
src/quick/items/qquickevents_p_p.h
src/quick/items/qquickwindow.cpp
tests/auto/quick/touchmouse/tst_touchmouse.cpp
Change-Id: Id692d291455093fc72db61f1b854f3fc9190267b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Partially revert commit 38221427bc21a11b96de7fa7666264c34298c0c0 to
allow for the lookup of formals by name even when using the simple call
context.
Task-number: QTBUG-61531
Change-Id: Ic5b235b62949ce050817ef2937bd4a35dd64aa6a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Say hello to Shape.
Change-Id: I1093feee4acc375e62bae1d351db0a7969a536d0
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I6e58e0a73dac87438d16ceb27814f677bc45eb29
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fits existing Quick item naming patterns better.
Change-Id: Id6d8f3653b33b1c1963bda4a2bcc212761e74caa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The own list property must be kept. However, we can reuse
QQuickItemPrivate's data accessors in order to start supporting
code like:
Shape {
..
ShapePath { ... }
ShapePath { ... }
Rectangle { ... }
Image { ... }
// any other visual type
// or non-visual:
Timer { ... }
}
Change-Id: I6d502d697cae37bf16857770273a749cee1b3aa3
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Thus application code becomes:
ShapePath {
...
fillGradient: LinearGradient {
...
GradientStop { ... }
}
}
which is even more clean and readable. The duplication for stops is
now avoided.
Change-Id: I50ae2f388e21683a37dc4787763dc71e16eef4f5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
Change-Id: Id8107cb0de0fbfe7120a90a137b49c2b915ff2d3
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Shape { ShapePath { Path { ... } } } simply becomes
Shape { ShapePath { ... } }
Change-Id: Ie57936cd7953c8a8d6c67e78b9d73bdbe2a05316
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I299354da0632fb0b8487cfb13748ed58b97d75fd
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Iea0bb0788357bc615d0e9ea411087114b8b3b720
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I1cd686cff60bd40fe2cbbc34f917fac7835b6b7d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: If2e7c1cf0f1522f6052bbc3e3636ef62bef1b4db
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Change-Id: I0cbb2ba4a00580e6a74a4e4085fc4eb06d0fadae
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Change-Id: Ifec23f855d4c3e0c58e59777cf23149ad99a2b91
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Change-Id: I276c185c93122e5eb05ef6678ab62fa6928f2523
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: Iba540adaeffb0098fc4e1923050eb611bf47287b
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
In order to avoid the over head of one QObject for each VisualPath, Path
and PathXxxx element, provide an optional JavaScript API.
PathItem {
VisualPath { strokeWidth: 4; fillColor: "blue";
dashPattern: [ 1, 2, 3, 4]; capStyle: RoundCap
path: Path { PathMove { x: 100; y: 200 }
PathLine { x: 300; y: 300 } }
}
can now also be written as, at least when the path and the stroke/fill params
are static and do not need changing/animating later on:
PathItem {
Component.onCompleted: {
var path = newPath();
var sfp = newStrokeFillParams();
path.moveTo(100, 200);
path.lineTo(300, 300);
sfp.strokeWidth = 4;
sfp.fillColor = "blue";
sfp.dashPattern = [ 1, 2, 3, 4 ];
sfp.capStyle = VisualPath.RoundCap;
appendVisualPath(path, sfp);
commitVisualPaths();
}
}
In order to emphasize the difference from an imperative API (like
context2d), keep the path and the path stroke/fill parameters separate.
To preserve our sanity, extras like gradients are not mapped to JavaScript,
instead, one still references an QML-defined object from properties like
fillGradient.
The objects from newPath() and newStrokeFillParams() are reusable by calling
clear(). This avoids the need for multiple temp objects when there are
multiple paths.
Add a simple test and a hidden stress test with the tiger to the manual
test.
Change-Id: I3b1e275bacf8c8fc52f585fbed5d6f9354d5ae8e
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |\ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Change-Id: I7b6437740077a4e2c9b2c36ee1cd4eb472f1f49f
|
| | |\ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Change-Id: I762e578aaf14a77efa26ce3fda2abb0e335003ea
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Instead of
PathItem {
item properties
stroke/fill properties
path: Path { ... }
}
switch to
PathItem {
item properties
VisualPath {
stroke/fill settings
Path { ... }
}
VisualPath {
stroke/fill settings
Path { ... }
}
...
}
Limiting PathItem to a single path is arguably too limited. Applications will
likely try to work this around by using multiple PathItems. While this is not
particularly bad for the generic (geometry node based) implementation, it is
a massive overkill for the rendernode-based ones. Therefore, avoid the hassle
and allow multiple paths with different stroke/fill parameters inside a single
PathItem.
Change-Id: Ie7980cd656deb7d4cb1ee4eaa3c090c4b0493c7d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Fix also the fill rule interpretation on NVPR - it was the opposite of
what QPainter was doing.
Change-Id: I23ff3b20e3b066d4b4e07aaa68b7da1e09d9127d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
The generic backend uses the triangulator from QtGui, but is in
fact OpenGL-only for now due to materials.
The NVPR backend uses GL_NV_path_rendering on NVIDIA hardware with
OpenGL 4.3+ or OpenGL ES 3.1+.
The software backend simply uses QPainter.
With the generic backend each PathItem is backed by a non-visual root node
and 0, 1 or 2 child geometry nodes, depending on the presence of visible
stroking and filling. The potentially expensive triangulation happens on
updatePolish(), on the gui thread. This is proven to provide much smoother
results when compared to doing the geometry generation on the render thread
in updatePaintNode(), in particular on power-limited embedded devices.
The NVPR backend uses a QSGRenderNode in DepthAware mode so that the batch
renderer can continue to rely on the depth buffer and use opaque batches.
Due to not relying on slow CPU-side triangulation, this backend uses 5-10
times less CPU, even when properties of the path or its elements are
animated.
The path itself is specified with the PathView's Path, PathLine, PathArc,
PathQuad, etc. types. This allows for consistency with PathView and the
2D Canvas and avoids a naming mess in the API. However, there won't be a
100% symmetry: backends like NVPR will not rely on QPainterPath but process
the path elements on their own (as QPainterPath is essentially useless with
these APIs), which can lead to differences in the supported path elements.
The supported common set is currently Move, Line, Quad, Cubic, Arc.
The patch introduces PathMove, which is essentially PathLine but maps to
moveTo instead of lineTo. More types may get added later (e.g. NVPR can do
a wide variety of optimized rounded rects, but this requires directly
specifying a GL_ROUNDED_RECTx_NV command, thus neededing a dedicated Path
type on our side too)
For filling with gradients only linear gradients are supported at the
moment.
In addition to the declarative API, a more lightweight, QObject-less
JS-callable API should be considered as well for the future.
Change-Id: I335ad64b425ee279505d60e3e57ac6841e1cbd24
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |\ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|_|/
| | |/| | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
Change-Id: I3c41b9fc9ba7d41741e4dd400402ae80dd7726d9
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
url is object, but without any property.
Task-number: QTBUG-61297
Change-Id: I68b0523be54e4d42f57267205ba8d66ff4ac4e30
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Running examples/quick/window/window produces debug messages:
"QML source file has moved to a different location."
This is because QQmlFile::urlToLocalFileOrQrc(const QString &) overload
is incompatible with QQmlFile::urlToLocalFileOrQrc(const QUrl &) when it
deals with qrc:/// urls. For example it returns ":///window/window.qml"
while the QUrl overload returns ":/window/window.qml". Thus the comparison
of source paths in CompilationUnit::loadFromDisk() fails.
Fix the incompatibility and add a test.
Change-Id: I20449b8cf13d715d88860f2cd413ab39c893f3ef
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Calling releaseItem() destroys the item, which emits childrenChanged
for the contentItem, and if at that point anything calls setFooMargin(),
setContentHeight(), returnToBounds(), or many other methods that
indirectly access the visibleItems list, it leads to a crash due to
read after free. Add a releaseVisibleItems() helper method that makes
a copy, clears the original list first, and then releases the items.
Task-number: QTBUG-48394
Task-number: QTBUG-61294
Change-Id: I29e4d3870d33549e8bf789de84c67ab1826fca7d
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
The test used to create a file temp.qml in the working directory.
Put it into a temporary directory.
Change-Id: I0720a4b4c652c83656505a5dc979660b94503717
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Change-Id: Ibc3e67273bf01dccfad132b53aef6e5241883d97
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |_|_|_|_|_|_|_|/
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Use M_PI in C++ and Math.PI in JavaScript (including QML).
Use qmath.h's value for M_PI where we can't avoid an explicit value.
Task-number: QTBUG-58083
Change-Id: Iabe938aff62ceac27b939ec33c6ee5e854aac15e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Change-Id: I61ab3d0bd8cc02f640c60c037226eace09ec09ba
|