| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QSGRenderThread slept for up to one vsync interval before
the first frame was rendered. This happened when the QSGRenderContext
was not yet initialized and thus a sync could not result in changes.
With LTTNG and custom trace points this latency was easily visible
before the first frame swap. With perf it can also be checked, when
one does:
QSG_RENDER_LOOP=threaded perf trace record -m 10M \
-e syscalls:sys_enter_nanosleep,syscalls:sys_enter_ioctl \
--call-graph dwarf qml main.qml
...
[ perf record: Captured and wrote 116.731 MB perf.data (14309 samples) ]
Then afterwards have a look at the output of
perf script --comms QSGRenderThread
And you will notice the sleep directly at the start, followed by the
bulk of ioctl required to setup the OpenGL contexts:
QSGRenderThread 10875 [001] 13940.801449: syscalls:sys_enter_nanosleep: rqtp: 0x7f1ab954cd60, rmtp: 0x7f1ab954cd60
7f1ada3997fd __nanosleep+0x2d (/usr/lib/libpthread-2.23.so)
7f1ada9683ed qt_nanosleep+0x2d (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Core.so.5.7.0)
7f1ada8c73b8 QThread::msleep+0x38 (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Core.so.5.7.0)
7f1abb594320 QSGRenderThread::syncAndRender+0x320 (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Quick.so.5.7.0)
7f1abb598b0c QSGRenderThread::run+0x19c (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Quick.so.5.7.0)
7f1ada8c7f89 QThreadPrivate::start+0x149 (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Core.so.5.7.0)
7f1ada390484 start_thread+0xc4 (/usr/lib/libpthread-2.23.so)
7f1ad982e6dd __clone+0x6d (/usr/lib/libc-2.23.so)
... ioctl follow
This change here checks the validity of the render context before
sleeping, thereby removing the vsync latency before rendering the
first frame. Note that simply skipping the calls to `syncAndRender`
from `run` is not an option, as those also trigger the expose event
that is required for the initialization to happen eventually.
[ChangeLog][QtQuick] The threaded scene graph renderer does not
sleep up to one vsync interval before the first frame anymore.
Change-Id: If7474d5420e0d4a1d05ccb664c7c6932fa989127
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/quick/demos/photoviewer/deployment.pri
One side made it redundant; the other removed part of it; remove it all !
src/quick/scenegraph/util/qsgatlastexture.cpp
One side changed a preprocessor condition, the other a code condition,
on adjacent lines; keep both changes.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side changed a condition, the other the content of its block; keep both.
Change-Id: Idb8937f92a7edb28212449dfe0c5cfdb8e6de986
|
| |
| |
| |
| |
| | |
Change-Id: Ice542d53c4eb9f34745e2d06dd03c32de7a9817e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib1872e6353a49bc12a6a714a79873e8c0a7032f7
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-54600
Change-Id: Ie24c44e2f68aae55ff1146c13c3dfc25349b7a29
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise text appears too dark.
A similar bug was fixed in the past for QQuickWidget (which also uses FBO).
Now this fixes it for ShaderEffectSource and QQuickItem::grabImage() too.
Change-Id: Ia0e176372b9ba8282972f8d60f87f02747291ffe
Task-Id: QTBUG-52906
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When having a ShaderEffect and an Image sharing the texture via supportsAtlasTextures
This used to work fine in 5.4 but 38cab579a0c5398b7621221fd8609bc43cf1f3c5
removed the check for the provider not being null
Change-Id: I18cb969dbf8011ea01543cc079214e8ecbb66623
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At the moment, defining leftMargin (or topMargin) and contentWidth
(or contentHeight) so that "leftMargin+contentWidth < flickable.width"
(or topMargin+contentHeight < flickable.height) leads to widthRatio
(or heightRatio) having value != 1.
The value should, however, be 1, as the content is completely visible
inside the view, margins included.
As a sideeffect, under the assumptions described above, it will now
not be possible to scroll the leftMargin (or topMargin) out of screen,
something which was possible (and it shouldn't have) before this fix.
Task-number: QTBUG-53726
Change-Id: I22426c8038e90a2cfc7445914206eae0e781a3fb
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Error message:
Undocumented enum item 'ItemAntialiasingHasChanged' in QQuickItem::ItemChange
Change-Id: I0ea7bf4ba9cdf7fb69a9794694113c6501066d75
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I70c0c672708522f7157849365cc53ee271d8e460
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-54133
Change-Id: I68e41c3d6c066745058db0c15984d680d6c05ee9
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If configured with logging rules (QT_LOGGING_RULES=),
qt.scenegraph.info=true
will be interpreted as enabling QtInfoMsg for the qt.scenegraph
category and subcategories.
[ChangeLog][QtQuick] qt.scenegraph.info logging category
got renamed to qt.scenegraph.general.
Task-number: QTBUG-54238
Change-Id: I7601e522697c3b4b00b6e9866b803d91f72e76fc
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This caused MPTA to not emit onCanceled and caused the touch points
'pressed' property to not become 'false' after the MPTA was hidden or
disabled. We now ungrab the touch points where we already ungrabbed the
mouse.
Change-Id: I90a5d4fa4b3fa470b8b60881c80418e79061f001
Task-number: QTBUG-42928
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not allow a frame size larger than the image size, otherwise
we would never leave "while (framesLeft > 0) {...}" as framesLeft is
never decremented because "copied/frameWidth" in the expression
"framesLeft -= copied/frameWidth;" always resolves to zero because
copied < frameWidth.
Task-number: QTBUG-53937
Change-Id: Ia777ec65d72562426b13533918efcaca5bcabdd7
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit v5.6.0-beta1~7 (ListView: Sanitize visibleItems list after model
insertions, 2015-12-07) introduced sanitizing of the container of visibleItems,
but it did not affect the return value of the
QQuickListViewPrivate::applyInsertionChange
function. The return value is used in
QQuickItemViewPrivate::layout()
to determine whether the layouting should proceed, or an early return is
possible instead. If the layouting does not proceed, then the newly inserted
visible items do not get painted, resulting in the linked bug.
The return value of the
QQuickListViewPrivate::applyInsertionChange
function was previously determined by whether the new count of visible items is
greater than the previous count. After the sanitation in commit
v5.6.0-beta1~7, this numeric comparison is no longer a good indicator of
whether a repaint is needed. Change the return value to indicate whether new
items were inserted which are visible in a more-direct way.
Verify that visible items are initialized correctly in tests. They should not
be 'culled'. It is necessary to invoke the layout method first to clear the
forceLayout state. Two pre-existing tests fail before the fix in this patch.
Change-Id: I625f1e02bf7001834adb147161a1e478a0ce2a0d
Task-number: QTBUG-53263
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Cannot find file to quote from: qml/windowconstraints.qml
Change-Id: Ic01061c316d56f1d2d1bf2be394fe9395ce9c79a
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
Can't link to 'Qt Quick Controls - Basic Layouts Example'
Change-Id: I74abd84549a870e800a6c5fb361565a78e8605ee
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
More efficient if all you want is the number of seconds.
Change-Id: Ib57b52598e2f452985e9fffd145a36f2b3c703ea
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jit/qv4targetplatform_p.h
src/quick/accessible/qaccessiblequickitem_p.h
Change-Id: Ic95075a5fad81ec997a61561bd65979dfa3b9d4d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix horizontal positioning generally, and also address RTL specifically.
Change-Id: I8b75c11bc38e39da5cda302ee9b475bf0dc464e8
Task-number: QTBUG-54075
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I have seen far too many cases of someone simply setting cacheBuffer to a
massive number in an attempt to workaround a slow delegate. It should be
explicit that cacheBuffer is not a solution for these problems.
Change-Id: I09416d06ff7faf51a104e09ca5f6b3593ddc53c7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was causing problems with the FrameBuffer render target when
displaying on a HiDpi display as it would end up with a size which was not
accounting for the devicePixelRatio.
Task-number: QTBUG-52901
Change-Id: I587e2578d670cfecb016aae92c4190a37e7412a1
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the distance field cache, we would assume a max height of glyphs
at 64 pixels when the pixel size was 54 (em square size is 54 and
then some margin). This is an arbitrary assumption which does not
necessarily hold true. Indeed, some fonts would be clipped at
the bottom when assuming this.
[ChangeLog][QtQuick][Text] Fixed clipping of glyphs that extend
beyond font's em square.
Task-number: QTBUG-52389
Change-Id: I5f6c9be235d38841e40d1bd60fb380e4712dd41a
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes compilation with clang 3.8
Task-number: QTBUG-54009
Change-Id: Ib777bd56d187e3c94de0cda643dac47eb30d8215
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: I7b0ad528da17ecdb955c2d0c792c9f113904623e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All listeners should get invoked, even if they remove themselves
while iterating the listeners. An index-based loop would skip the
next listener in the list. This change replaces the QPODVector with
a QVector, so we can make a cheap copy before iterating the listeners.
Change-Id: I2430b3763184a40ad1c5c3a68d36fecafcadb3ee
Task-number: QTBUG-53453
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a padding is set on QQuickTextInput (like controls 2
does), the anchor selection handle ends up at a wrong
location. So ensure that we include padding when calculating
achor rect (like we do for QQuickTextInput::cursorRectangle()).
Change-Id: I356d38443ad891959f3242e254e37961e4965a4c
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Part of 0e053528 was reverted in the merge, about lastTimestamp. It
will be applied later in separate commit.
qmltest::shadersource-dynamic-sourceobject::test_endresult() was
blacklisted on linux.
Conflicts:
.qmake.conf
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
tests/auto/qmltest/BLACKLIST
tests/auto/qmltest/qmltest.pro
Task-number: QTBUG-53590
Task-number: QTBUG-53971
Change-Id: I48af90b49a3c7b29de16f4178a04807f8bc05130
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9ece132b87a8de06924e71b6f5fc552a14dea336
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I682a4765d1e0173664460fe4e163949d968d97d7
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It does not make any sense to document these properties
with the same text, as qdoc will duplicate the text under the
documentation of each and every property in the same documentation
comment, resulting in weird documentation
(such as the element you assign to "left" is the one you move
to when you press the *right* key).
Change-Id: Ic27502a5965cc2b8c61cfdaf887434d3c79256af
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I2c73a4bdfa43200c52df33cec573a8799e4fe5e0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 9c8dab537819f0d999e680490c2d125b8836cbbb
where commit e1400b5b4d8311769ad3b9f631479ee2b0271197 was removed
due to the breakage of QtLocation tests.
After some hours of debugging it seems that the problem in QtLocation
was due to filtering of mouse move events in QDeclarativeGeoMapItemBase.
See QTBUG-52075
Task-number: QTBUG-52534
Change-Id: I00f002c1d6f60f74a148b5a6ac2b9f63e93718a9
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As Coverity (CID 22302) points out, qobject_cast<> can return NULL; if
we don't get a document layout, then we have no frame decorations to
add to it.
Change-Id: I2cd428456b3a3b24a28a5dd18ce948a8e95d21cb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ibce14fddcbb608ffddb69f01e168d10c924c2957
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The use of the env var has been obsolete for some time,
since change 7a8cc93a0546bc38c54343d640e63062c3b398b2,
although it's still supported for backwards compatibility.
Change-Id: Ibe57de2298c33bfa7df5a95c714d69403a0e9166
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After 9b8d0bff, some compilers complain that it's an unused variable.
Change-Id: I4a89ce7a7d73cfc039a2e2d1ad48ec7d073cf7cc
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic87052308706b8ef71e2f27837abfbaea57c43cc
Task-number: QTBUG-49692
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Sending focus events may result in further changes to which item actually has
focus, so we cannot blindly send the focus events without first checking that it
hasn't subsequently changed.
To accomplish this, we delay sending events as long as possible, ensuring that
all necessary bookkeeping is done first to ensure internal consistency.
Task-number: QTBUG-40145
Change-Id: I7d93b3f8e3fea2ecce2151c88c29601deda12453
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| |/
|/|
| |
| |
| |
| | |
Change-Id: Ic63f1b2ba80ea4121f127432333757a469337870
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
All other changes are just to be able to include qv8engine_p.h in
qv4engine_p.h
Change-Id: I71ba2ec42cdc20d5c7d97a74b99b4d1ada1a5ed8
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Works now similarly as with very small text lengths (smaller than
elide characted length).
Change-Id: I0c4aafbcc50343bb0ec8b5f335045e1048a499fd
Task-number: QTBUG-34990
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed a whole bunch of the following warnings:
warning: 'interface_cast' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
Change-Id: I6cd6c16a6465d23e5e7c61d04ba87652df727bc1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4engine_p.h
Change-Id: I89ffccd699bee675732758d039e22224b275d60d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a regression from commit 94e337fa95425d259e81b4d21f4d0853108553bd where
we accidentally ended up not having a calling QML context set anymore when
initializing the properties on newly incubated objects as provided by the
caller. The QML context is necessary as for example when we set a URL property,
the URL can be relative and it will be resolved to the base url of the context
when written, such as in in QQmlPropertyPrivate::write.
Change-Id: I1d896381fc92f653a7d76f4d82174bca48828f5e
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Examples in binary packages now directly match the install path.
Change-Id: I8cbef85c8bef840d6ff87ac308e2e82a835adcc7
Task-number: QTBUG-52953
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Amends 1929fee8e17e9ca66e7fe08faa9ed9fa7fdbb127 to prevent extra bounce
at the ends.
Task-number: QTBUG-47697
Task-number: QTBUG-53177
Change-Id: I23e63d8e0555e1503ff028ad2f0767b05ef39432
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The window is required to be able to determine the correct
scale factor for the screen when High DPI scaling is active.
Task-number: QTBUG-52943
Change-Id: If74914659bd64395db23ccfc752ee35e8d43592f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you want to disable all movement when the user tries to flick or
drag, you previously had to set interactive: false. Maybe you need to
bind that to some calculation to determine whether the content fits
completely inside the Flickable or not. This way is easier.
BTW the AutoFlickIfNeeded can be ORed with HorizontalFlick or
VerticalFlick, but we don't document it because AutoFlickDirection=0,
so it's not useful to OR that with anything.
Task-number: QTBUG-31121
Change-Id: Ib03b0f223cb40f0338510c318aa37e70ce71514d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Apparently only very recent versions of gcc can correctly deduce that
the Anchor enum can be stored in a 7-bit bitfield. So to be sure we
don't run into compiler errors, do not specify the base type for any GCC
version.
Task-number: QTBUG-53317
Change-Id: I825946862dea1eabfb68a3fbe8cbd31bc71bdd10
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|