| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Replace by QTransform, fixing:
scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp: In member function ‘void QSGSoftwareInternalImageNode::paint(QPainter*)’:
scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp:477:43: warning: ‘void QPainter::setMatrix(const QMatrix&, bool)’ is deprecated: Use setTransform() instead [-Wdeprecated-declarations]
painter->setMatrix(transform, true);
Change-Id: I6e4047ee9c1a49ea6e0a445c8de281e049823902
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
|
|\
| |
| |
| | |
Change-Id: If18e582a7210dae046426d97af530ab7ef47ddf4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickStyleItem1::updatePaintNode assumes every instance of
QSGNinePathNode (QSGSoftwareNinePatchNode for software backend)
to own new texture object on setTexture. Instance of
QQuickAnimationController is also assumed to be deleted by
render loop on window destroy.
Fixes: QTBUG-69290
Change-Id: Ibd22229108c986c1c115600280482cea01bf4160
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It shouldn't be needed and produces tiling gaps
Change-Id: I3c7bbc91e5e618bdb111ddf18412acac253f2c6e
Task-number: QTBUG-71322
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I95ae475cfbab432e3ac4d49384d4861185d3cb1b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
QSGSoftwareInternalRectangleNode does not check size of the border QPixmap
and always generates the new one.
Change-Id: I24d5917252ae310238417cc01935b9471992e1c8
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This worked in OpenGL but not in software mode as the combination is
not recognized.
Change-Id: Ic44d1506d7cb2281f268325207a03ea1254b43a0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is not enough to call QGlyphRun::boundingRect() to determine the true
bounding rect of a series of glyphs. This issue would manifest itself
when rendering italic text. Now we calculate the bounding rect for a
QGlyphRun when they are changed in the node so that that the clip rect
for glyphnodes reflect what is set on the node.
Task-number: QTBUG-68085
Change-Id: I834a7312052c8c5a4ad62f28333108c051d7f7b8
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This partially reverts commit a7472867f407f1226d82aa7bce4cd4d6f9bd652f
and merely excludes the threaded render loop of the software renderer.
Task-number: QTBUG-70422
Change-Id: Id56a3fc12a3601cb3bce8be35e201d772988ae23
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The integer version of devicePixelRatio cannot handle fractional ratios
and will lead to arithmetic exceptions for ratios between 0 and 1.
Change-Id: I4a06a12742fa85e6d2f0e24193ae796dec7e2f15
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qml/qqmltypeloader.cpp
src/qml/qml/qqmltypeloader_p.h
Done-with: Simon Hausmann <simon.hausmann@qt.io>
Task-number: QTBUG-68091
Change-Id: I7c0ab3c9446ac50da07b58f54e24eb4587f7f28c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have to correct for the fact that sub-rects of images in QPainter
are in source coordinates.
Change-Id: I457527b4ff7c1df5f6b662c3ed4d690e05efb4fb
Task-number: QTBUG-40366
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQuick] Added support for horizontal gradients in
Rectangle.
Change-Id: I4feee8ec93d9fe75a9f91a7afbe33c8d4756cedb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|\|
| |
| |
| | |
Change-Id: I280d42b8926c0cada1f35d322b80aaf2b0ef0a73
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I472f61241d1875daf0de0a597bf27c019314f48f
Task-number: QTBUG-50119
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I50759e6601b02f87e07083a64fca23e0f4e23ca7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix three separate issues:
1. It was possible that the QSGSoftwarePixmapRenderer's
background image's rectangle was set to a non-normalized
rectangle. That would have led to the damage area detection
creating an empty QRegion for the damage area and
QQuickItem::grabToImage would grab an empty image.
2. The QSGSoftwarePixmapRenderer was rendering the image vertically
mirrored compared to what its equivalent in the OpenGL backend
was doing. Therefore QSGLayer::grab was vertically mirrored, too,
so QQuickItem::grabToImage would grab a mirrored image, too.
Additionally QSGSoftwareInternalImageNode (used by
QQuickShaderEffectSource) now has to mirror its internal texture
if that one is a QSGSoftwareLayer.
3. QSGSoftwareInternalImageNode (used by QQuickShaderEffectSource)
was not updating correctly when mirroring (with the fix for 2
also in case of a QSGSoftwareLayer as texture).
Related to QTBUG-63185 and QTBUG-65975.
Change-Id: I0d0ead7fb1c839a8ff427ff7881d8a881e538409
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
tests/auto/qml/qjsengine/tst_qjsengine.cpp
Change-Id: I8276669e257f35a76768ef7f8795a8605cf4c9bc
|
| |
| |
| |
| |
| |
| |
| |
| | |
The conversion from nanoseconds to milliseconds wrongly divided the
swap time by 10 million instead of 1 million.
Change-Id: Id2b1594fbf7abafabfeae790c7083ad1cf4064a0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|/
|
|
|
|
|
|
| |
+ add some (private) API to make some more data about the rendering
available to GammaRay.
Change-Id: I059f09e663fa9541ec2b0f002b1a0253dd5ea7df
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From now on we prefer nullptr instead of 0 to clarify cases where
we are assigning or testing a pointer rather than a numeric zero.
Also, replaced cases where 0 was passed as Qt::KeyboardModifiers
with Qt::NoModifier (clang-tidy replaced them with nullptr, which
waas wrong, so it was just as well to make the tests more readable
rather than to revert those lines).
Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add missing QPainter::end(), fixing:
QBackingStore::endPaint() called with active painter on backingstore paint device
Task-number: QTBUG-66452
Change-Id: Ia00e61953528b15015b3e41ba1868e670818cf14
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a QQuickWindow is a child of another QObject (such as a Loader) and
is scheduled for deletion using a deferred delete event, then a deletion
via the parent ends up calling the window's destructor, which will
finally end up in ~QObject(), which takes care of removing the posted
deferred deletion event from the event queue.
In the case of QQuickWindow, the destructor - called before ~QObject -
calls windowDestroyed(this) on the SG render loop. The implementation in
the software renderer calls QCoreApplication::sendPostedEvents() with
QEvent::DeferedDelete, which ends up deleting the same window a second
time and resulting in a crash.
I can't see a good reason for the existence of the sendPostedEvents()
call there. It is not present in the other render loops and according to
git blame it stems from the very early first implementation of the
software renderer where surely copy & paste from other render loop code
was involved back then.
The same fix is applied to the single-threaded VG and D3D12 render
loops, as they are most likely copy & paste from the software render
loop implementation.
ASAN trace for tst_qquickwindow::unloadSubWindow() on 5.11 branch that shows
invalid access to the QObjectPrivate/QQuickWindowPrivate, which follows the
QObject in terms of life-cycle:
==4736==ERROR: AddressSanitizer: heap-use-after-free on address 0x617000011778 at pc 0x7fdd211cfbb3 bp 0x7fffecb47ea0 sp 0x7fffecb47e90
READ of size 8 at 0x617000011778 thread T0
#0 0x7fdd211cfbb2 in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1308
#1 0x7fdd21470974 in QQuickWindowQmlImpl::~QQuickWindowQmlImpl() items/qquickwindowmodule_p.h:63
#2 0x7fdd21470974 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() .../qqmlprivate.h:103
#3 0x7fdd21470974 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() .../qqmlprivate.h:103
#4 0x7fdd1e24da24 in qDeleteInEventHandler(QObject*) kernel/qobject.cpp:4601
#5 0x7fdd1e253d2f in QObject::event(QEvent*) kernel/qobject.cpp:1240
#6 0x7fdd1fbd1d41 in QWindow::event(QEvent*) kernel/qwindow.cpp:2356
#7 0x7fdd211f778e in QQuickWindow::event(QEvent*) items/qquickwindow.cpp:1628
#8 0x7fdd1e1a4e3c in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) kernel/qcoreapplication.cpp:1216
#9 0x7fdd1e1a508b in doNotify kernel/qcoreapplication.cpp:1157
#10 0x7fdd1e1a555a in QCoreApplication::notify(QObject*, QEvent*) kernel/qcoreapplication.cpp:1143
#11 0x7fdd1fb87665 in QGuiApplication::notify(QObject*, QEvent*) kernel/qguiapplication.cpp:1723
#12 0x7fdd1e1a52fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) kernel/qcoreapplication.cpp:1067
#13 0x7fdd1e1b6ed2 in QCoreApplication::sendEvent(QObject*, QEvent*) ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#14 0x7fdd1e1b6ed2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) kernel/qcoreapplication.cpp:1764
#15 0x7fdd1e1b8cda in QCoreApplication::sendPostedEvents(QObject*, int) kernel/qcoreapplication.cpp:1618
#16 0x7fdd210cb034 in QSGSoftwareRenderLoop::windowDestroyed(QQuickWindow*) scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:100
#17 0x7fdd211cfb8c in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1305
[...]
0x617000011778 is located 632 bytes inside of 704-byte region [0x617000011500,0x6170000117c0)
freed by thread T0 here:
#0 0x7fdd21a8a9d8 in operator delete(void*, unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe19d8)
#1 0x7fdd2146fa3c in QQuickWindowQmlImplPrivate::~QQuickWindowQmlImplPrivate() items/qquickwindowmodule.cpp:57
#2 0x7fdd1e26b252 in QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) [...]
#3 0x7fdd1e26b252 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() [...]
#4 0x7fdd1e26b252 in QObject::~QObject() kernel/qobject.cpp:882
#5 0x7fdd1fbcf51c in QWindow::~QWindow() kernel/qwindow.cpp:211
#6 0x7fdd211d0466 in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1297
#7 0x7fdd211d0644 in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1335
#8 0x7fdd1e2666b4 in QObjectPrivate::deleteChildren() kernel/qobject.cpp:1995
#9 0x7fdd1e26b329 in QObject::~QObject() kernel/qobject.cpp:1023
[...]
Change-Id: Iffa90d365d02b074e2a78c5be2895c9f86a4b80e
Task-number: QTBUG-66381
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
| |
This generates more compact code, saving 20480 bytes on disk
(Linux 64 bit, release build).
Change-Id: I73d6d88b7b61b87a5d714e131fcf86ee80c83f38
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\
| |
| |
| | |
refs/staging/dev
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
src/qml/compiler/qqmlirbuilder.cpp
src/qml/compiler/qqmlirbuilder_p.h
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4codegen_p.h
src/qml/compiler/qv4compileddata_p.h
src/qml/compiler/qv4compiler.cpp
src/qml/compiler/qv4compilercontext_p.h
src/qml/compiler/qv4isel_moth.cpp
src/qml/compiler/qv4jsir.cpp
src/qml/compiler/qv4jsir_p.h
src/qml/jit/qv4isel_masm.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4runtimecodegen.cpp
src/qml/jsruntime/qv4script.cpp
src/qml/jsruntime/qv4script_p.h
src/qml/qml/qqmltypeloader.cpp
src/quick/items/qquickanimatedimage.cpp
src/quick/items/qquickanimatedimage_p_p.h
src/quick/scenegraph/compressedtexture/qsgpkmhandler.cpp
tests/auto/qml/qmlplugindump/qmlplugindump.pro
tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
tools/qmlcachegen/qmlcachegen.cpp
tools/qmljs/qmljs.cpp
Done-with: Shawn Rutledge <shawn.rutledge@qt.io>
Done-with: Lars Knoll <lars.knoll@qt.io>
Done-with: Ulf Hermann <ulf.hermann@qt.io>
Change-Id: I010e6525440a85f3b9a10bb9083f8e4352751b1d
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
.qmake.conf
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/debugger/qqmlprofiler_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/memory/qv4mm.cpp
src/qml/qml/qqmlcomponent.cpp
src/qml/qml/qqmlobjectcreator.cpp
src/qml/qml/qqmlobjectcreator_p.h
src/qml/types/qqmldelegatemodel.cpp
src/quick/items/qquickitem_p.h
src/quick/items/qquickwindow.cpp
tests/auto/quick/touchmouse/BLACKLIST
tests/benchmarks/qml/holistic/tst_holistic.cpp
Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The pixmap renderer sets up QPainter's window coordinates system but still
positions the background node in device coordinates. If the window rectangle is
QRect(x, y, w, h) then the background rectangle will be set to QRect(0, 0, w,
h). As the rendering output is clipped to the background rectangle, this means
that the image will be left with transparent bands of x pixels on the right and
y pixels on the bottom.
Task-number: QTBUG-62867
Change-Id: I3b2c18dafda4381b0daa64f849330f51bcc743b2
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When QQuickWindow::effectiveDevicePixelRatio's value is not an integer
QML Rectangle is blurry if launched with —device=software
Task-number: QTBUG-65934
Change-Id: Ic5cd89a4fd31ba8046534019f647a59477785d71
Reviewed-by: JiDe Zhang <zccrs@live.com>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/qml/memory/qv4mm.cpp
src/qml/qml/qqmlbinding.cpp
Change-Id: I98e51ef5af12691196da5772a07d3d53d213efcc
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/memory/qv4mm.cpp
src/qml/memory/qv4mmdefs_p.h
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
tests/auto/qml/debugger/qqmlprofilerservice/qqmlprofilerservice.pro
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
Change-Id: I7021fa1edf076627a67048f41f7b201220262b09
|
| | |\
| | | |
| | | |
| | | | |
refs/staging/5.9
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous fix for nested clip regions introduced a regression which
broke nested clipping cases that involved one of the clip nodes being
null regions because they were offscreen.
The clip region stack can either have an null QRegion or be empty as an
initial state (depends on what is being rendered). We made a special
check for these two states, but it is not enough to check if the top
item is null for the null region case beacuse at any point in time a
null clip region node could have been added. So to fix this the null
initial state also requires a count of 1.
Task-number: QTBUG-63743
Change-Id: Ib0d17026f1d5a663e819412e11d25d9ad8b445ff
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
tests/auto/quick/pointerhandlers/flickableinterop/data/FlashAnimation.qml
tests/auto/quick/pointerhandlers/flickableinterop/data/Slider.qml
tests/auto/quick/pointerhandlers/flickableinterop/data/TapHandlerButton.qml
tests/auto/quick/pointerhandlers/flickableinterop/data/flickableWithHandlers.qml
tests/auto/quick/pointerhandlers/multipointtoucharea_interop/data/pinchDragMPTA.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/DragAnywhereSlider.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/FlashAnimation.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/Slider.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/draggables.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/multipleSliders.qml
tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml
tests/auto/quick/pointerhandlers/qquicktaphandler/data/FlashAnimation.qml
tests/auto/quick/pointerhandlers/qquicktaphandler/data/buttons.qml
tests/manual/pointer/content/FakeFlickable.qml
tests/manual/pointer/content/FlashAnimation.qml
tests/manual/pointer/content/MomentumAnimation.qml
tests/manual/pointer/content/MouseAreaButton.qml
tests/manual/pointer/content/MouseAreaSlider.qml
tests/manual/pointer/content/MptaButton.qml
tests/manual/pointer/content/MultiButton.qml
tests/manual/pointer/content/ScrollBar.qml
tests/manual/pointer/content/Slider.qml
tests/manual/pointer/content/TapHandlerButton.qml
tests/manual/pointer/fakeFlickable.qml
tests/manual/pointer/flickableWithHandlers.qml
tests/manual/pointer/flingAnimation.qml
tests/manual/pointer/joystick.qml
tests/manual/pointer/main.cpp
tests/manual/pointer/main.qml
tests/manual/pointer/map.qml
tests/manual/pointer/map2.qml
tests/manual/pointer/mixer.qml
tests/manual/pointer/multibuttons.qml
tests/manual/pointer/photosurface.qml
tests/manual/pointer/pinchDragFlingMPTA.qml
tests/manual/pointer/pinchHandler.qml
tests/manual/pointer/singlePointHandlerProperties.qml
tests/manual/pointer/tapHandler.qml
tests/manual/pointer/tapWithModifiers.qml
tests/manual/shapestest/main.cpp
Change-Id: I4f233a521305fab1ebfecbac801da192434ed524
|
| |\ \ \
| | | |/
| | |/|
| | | | |
Change-Id: Id2b11dccb04fc99d10608f690f5827bfa9b2114c
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-64562
Change-Id: I52e07b0d8b7a5d1cc960431dcbd1a90dd3e7e518
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
tests/auto/quick/quick.pro
Change-Id: Ia12f20e95fb151bbbc75dbf187364a924cd0bc7a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The variable wasn't initialized in any constructor. This
didn't cause issues in practice, as it always got set in
optimizeRenderList().
Change-Id: I37459bb2d51bbe2bb881aaefffd6972a5345c75d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: I8ede7e36592cd21f3e4a0a9b30dbe26bb40fe69b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And check whether nine patch pixmaps are opaque as well.
Change-Id: I23f2cb675b923eace849a1c0ad71efe1446c86c4
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Volker Krause <volker.krause@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the content of a layer completely covers every pixel of
it, mark that layer as opaque so that we can avoid alpha
blending where possible.
Change-Id: Ia0be4e7a96ecddd31a26f353509de976bcc9e397
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Volker Krause <volker.krause@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And help avoid that we draw the same pixel multiple times.
Change-Id: I56dccfeffe6865d0aaa252c84ae693380c3bbb5b
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Volker Krause <volker.krause@kdab.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Use begin()/end() instead.
Change-Id: Iaa12726e218bfdb44be24240ca35f9526cc67440
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qml/qqmlimport.cpp
src/qml/qml/qqmlimport_p.h
src/qml/qml/qqmltypenamecache.cpp
Done-with: Ulf Hermann<ulf.hermann@qt.io>
Change-Id: I41ba7a592b2659ddf53da6952ea3b456a7bba319
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When changing between screens, the QImage representing the contents of
the scene will be changed, but the software adaptation was only updating
the contents of the image that had change since the last frame, leading
to uninitialized image data being shown. Now QQuickWidget will force a
full repaint on the new image.
Task-number: QTBUG-61798
Change-Id: Iab200faee8cf6457f2eab6d33dddbe7781c9fcf1
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qv4compileddata.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4qmlcontext.cpp
src/qml/jsruntime/qv4qmlcontext_p.h
src/qml/jsruntime/qv4regexpobject.cpp
src/qml/jsruntime/qv4regexpobject_p.h
src/qml/types/qqmllistmodel.cpp
src/quick/items/qquickanimatedimage_p.h
src/quick/scenegraph/qsgrenderloop.cpp
tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp
Change-Id: If20ef62b2c98bdf656cb2f5d27b1897b754d3dc0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the default for OpenGL and D3D12 QSGLayer implementations, and
means that code using QSGLayer can end up rendering upside down if
switched the software backend.
Task-number: QTBUG-62929
Change-Id: Ib34b10c4eb834d2ef52e9005866242886b3addeb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I7d092cce33cb009d63e7b0df7c71183089dea53f
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-61939
Change-Id: Ibb7f242241df0a7a418ab4f268487e72d5595622
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/quick/doc/src/qmltypereference.qdoc
Change-Id: Ia58f1c5a98309c32ef8d8e5c893faf261215f19f
|