| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Just checking for references on m_compiledData is not enough. The
actual component can also be referenced. Thus it won't be deleted
on release(), but cannot be found in the type cache anymore.
Task-number: QTBUG-53761
Change-Id: I8567af8e75a078598e4fed31e4717134e1332278
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 2ac19881f92c94f4e9427bd9ff513210675f259e)
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiled in release mode with GCC 6, QtQml crashes. This option
gets works around the issue by instructing the compiler not to delete
null pointer checks for pointers that the standard says cannot be null,
yet apparently are.
This is a temporary workaround until a proper solution is found.
Change-Id: Id3aab65533904562a6cbfffd14501a185fc91179
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
When calling CachedLoader::loadAsync, queue the load on the QML thread
instead of asking the thread to load it synchronously. The problem
showed when a QML file triggered a plugin load, that would ask the
engine to create a component while initializing that plugin.
Change-Id: I3714ef285e432eb1aa294c4fd0208ba188d97ee9
Reviewed-by: Simon Hausmann <simon.hausmann@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>
|
|
|
|
|
| |
Change-Id: I479c9523a89be1d64364e8205daa5860e16882cc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
shadowing doesn't actually work from within a subdirs project, so we
need to put it into a separate aux project.
it would be possible to put the project file in the same directory, but
then a simple "make qmltypes" wouldn't work due to the different
Makefile name.
Change-Id: Ib90914e4ea5d75f7199399c7e2825690774081c5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: If83c0d59fccf0620446a5da8d271a5037c9be106
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The pointer size is now correctly set in qprocessordetection.h even for
bootstrapped builds.
Change-Id: I7e6338336dd6468ead24ffff1410d4ba8b1cbdad
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Getting the native stack size can be really expensive. For example, on
Linux/x86_64 (Ubuntu 15.04), it is at least 200,000 instructions for a
single-threaded application. With more threads (like qmlscene) it typically
ends up around 1M(!) instructions. Worse, it is called twice in the
ExecutionEngine constructor.
So, now we limit the depth of JavaScript calls to a fixed number, 1234 by
default. This can be changed by setting the environment variable
QV4_MAX_CALL_DEPTH to the desired depth.
Change-Id: Ic13c8efb2769e64fbc73deee6f6fa39d7c0b7af5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We didn't properly read the font property of TextFieldStyle (which is
declared in QML) before writing the pointSize property (see bug
report), so it was using the value of a previous assignment.
Change-Id: I7746c258d1f3a6e031583da7f007bd0dc4087082
Task-number: QTBUG-52920
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qmake is clever enough to include the plugins without this.
Furthermore, the explicit imports duplicate the plugins in static
builds and they lead to cross linking from QtQml to QtQuick.
Task-number: QTBUG-50306
Change-Id: I822e000481f583f513b863f54f65eb8ff772c0c3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert the plugin loading check for Qt 5.6.x. It turns out that making this
check strict broke multiple static plugin builds beyond the qtdeclarative
repository. Let's not cause unnecessary breakage in a patch release of Qt to
fix a bug that has existed for much longer.
I'll revert this change in the dev branch for Qt 5.8, together with an entry in
the change log to inform the developers that a behavioral change in their code
is necessary (the use of the interface id variable).
Change-Id: I3c658433eaa125ac0d272806e3bbbf016cf6d3cb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
| |
Make sure ancestor items don't end up with dangling subFocusItem
pointers.
Change-Id: I79015abe8215b807b02577c25de58c44bfc70f9e
Task-number: QTBUG-51080
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Cache the source size of the internal QMovie object during the
change of the 'source' property to ensure that always a valid source
size is returned without emitting more sourceSizeChanged() signals
than necessary.
Change-Id: I637b80efb133197b7345b09fcf8a7bb80c5643c9
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
| |
For calls on properties of the scope or context object the thisObject parameter
in the callData is a reference to the QmlContext, not a real object - therefore
the toString conversion fails.
Task-number: QTBUG-52340
Change-Id: I08d01cc5c05920c2fac46ddd40fa41e630bcade3
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
| |
It's an attached property, not an ordinary property.
Change-Id: I08123670953288b21daca8bd56129c1e14e36365
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 392c7b99348e2a96ef11adb5712095fbd13fb780 introduced version
checking that checks QML extension plugin interface version name.
Unfortunately many plugins inside and outside qtdeclarative already
defined the string with interface version, leading to plugin not
being loaded.
Task-number: QTBUG-53090
Change-Id: I792df4ba06753bc21eab4adcd6f2068543d02368
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
Change-Id: I6914919675e8787312824ac958e3ea3fb6dc5264
Task-number: QTBUG-53045
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
There is no need for other classes to directly access the shader cache,
and if we ever want a way to invalidate pieces of it, we better prevent
such access.
Change-Id: I79949b375854445c46b9d8bf6072bb53030b8dac
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 26a230ee0ed68d39d4d13bfeaafd9839ee2a2a00.
This optimization breaks when we have a single material change
in the scene within a batch as the geometry node does not get
visited on the next render.
Task-number: QTBUG-52983
Change-Id: Ib385407a9fc35ca03ab18727d1e7b550431416f1
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Jocelyn Turcotte (Woboq GmbH) <jturcotte@woboq.com>
|
|
|
|
|
|
|
|
|
| |
The d->active member variable should be changed regardless of the value
of Drag.dragType.
Task-number: QTBUG-52540
Change-Id: I7fa39ccf11b1200e9c2f6fe57cba58657b6cff74
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Saves ~2600 instructions on Linux/x86_64 for a normal instantiation of
QV4::Heap::QtObject.
Change-Id: I20c9311a96fd76911536153ddd1605500c6ac451
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix linker errors:
Qt5Qml.lib(qv4value.obj) : error LNK2005: _nextafter already defined in
libucrt.lib(nextafter.obj)
Qt5Qml.lib(qv4dateobject.obj) : error LNK2005: _nextafter already defined
in libucrt.lib(nextafter.obj)
Qt5Qml.lib(qv4runtime.obj) : error LNK2005: _nextafter already defined in
libucrt.lib(nextafter.obj)
Qt5Qml.lib(qv4globalobject.obj) : error LNK2005: _nextafter already
defined in libucrt.lib(nextafter.obj)
Qt5Qml.lib(qv4jsonobject.obj) : error LNK2005: _nextafter already defined
in libucrt.lib(nextafter.obj)
All the defined functions where added in Visual Studio 2013:
https://blogs.msdn.microsoft.com/vcblog/2013/07/19/c99-library-support-in-visual-studio-2013/
Change-Id: Ied924b6c93c6b2f81f2793237c9370a70bd6a60c
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
| |
This saves ~5% in QQuickAnchorsPrivate::itemGeometryChanged on x86_64.
Change-Id: Iccf782521e9c8523c41c6f2e6d87fad401762a9e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
| |
This flag was only used to return 0.0 when false, and baselineOffset
when true. So initializing the baselineOffset to 0.0 does the same thing.
Change-Id: Ia92b05761ea3a03175ae0078bf950a1b4da2d356
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This had the effect that overloaded methods were always mapped to the
wrong slot.
[ChangeLog][QtQml][Important Behavior Changes] When matching the method signature
of a invokable method to the slot in the metaobject, the matching function now
assigns the best match to a QJSValue if the parameter actually is a QJSValue. This
corrects the previous behavior, where QJSValue and int were given the same match score
even though QJSValue would have been the best match.
Task-number: QTBUG-51746
Change-Id: I906e7b006ee5af92ea760ed1625e5047aef123bf
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit e1400b5b4d8311769ad3b9f631479ee2b0271197,
which breaks qtlocation unit tests for drag support.
It is no longer possible to drag markers in mapviewer.
Task-number: QTBUG-52534
Change-Id: If713a8e45f64ea898f38fe3e39561ebc266403b2
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Shader effects with equal program source code can use the same compiled
shaders. There is no need to duplicate the data for each QML component.
Task-number: QTBUG-42055
Change-Id: Iae86890ebf0ad6ef34a63565b8a01d0fcd903fbc
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QSG_ATLAS_TRANSIENT_IMAGE_THRESHOLD can be used to define a threshold
for retaining the QImage associated with an atlas texture. This gives
more control to the developer on platforms where removing a texture
from the atlas (e.g. for use in a ShaderEffect) can be prohibitively
expensive.
Change-Id: I13fd01ebbe94dd960fdcb3ee20b4ff40dcc5694f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When preventStealing is true both keepMouseGrab() and
d->stealMouse are true. This in turn enable the dragging immediately
since the condition "keepMouseGrab() && d->stealMouse && !d->drag->active()"
is true.
Conversely when preventStealing is false the dragging is enabled in the
next move event since keepMouseGrab() and d->stealMouse are set true
inside the last "if" "!keepMouseGrab() && ...check threshold..".
This patch adds a new boolean flag for storing if we detected a drag motion
(so we exceeded the threshold) and enable the dragging iff this flag is true.
With this change:
- if preventStealing is true (and so keepMouseGrab() and d->stealMouse) the
additional d->overThresHold prevent the start of dragging. At the same time
the last if (!keepMouseGrab()) cannot be executed since keepMouseGrab is true
and we still check for the threshold being exceeded.
- if preventStealing is false, we still check for exceeding the threshold and
if this happen we enter in the last "if" since !keepMousegrab() && d->overThreshold
is true taking the mouseGrab as without this patch
Task-number: QTBUG-52534
Change-Id: I2b14d3048b6f8223c90ce5e2fd26e7ca706cb56a
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I2704b417085a7956e73daed191011af594703aa9
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-51878
Change-Id: If2d28bf641ed4bbd74b2d4f51f0821e93b0aa238
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
As loaded components are kept in a cache, they are never removed by the
garbage collector. So, if you periodically create new components, they
leak. This change adds a floating threshold for the number of
components. When that threshold is surpassed trimCache() is called and
unneeded components are removed.
Task-number: QTBUG-42055
Change-Id: I30e3e4ee287f6d34376713668009c67614a50e0c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have to overwrite the cache of QQmlInterceptorMetaObject, but
we messed up the reference counting.
The same applies for QQmlData.
When overwriting the old cache we have to call release on the old cache
and increase the reference count on the new cache, because it is released
in the destructors of QmlData and QQmlInterceptorMetaObject.
Change-Id: Iecdbe8d474092906344d4e5a74278f5d8120b5ef
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The application in chapter 6 of this tutorial failed to import
the custom extension plugin on OS X, as it could not see it's
import path outside the application bundle.
Change-Id: Icdca1f0553020e0460e4efabc5461a3447b32086
Task-number: QTBUG-47003
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The dequeue offset won't wrap around when n > offset.
[ChangeLog][QtQml] Fix crash with Array.unshift()
Task-number: QTBUG-52065
Change-Id: I5e8b89ec964cd6397100442a5239254bca989a3f
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
| |
Change-Id: I953370e353eb0c67f086b3a539985701723798e9
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
These cause warnings, and incorrect rendering. We already guard width and height
against NaN, so doing the same with x & y seems like a sensible idea.
Change-Id: Ib33e51fe0beb9a2fa30fbf70743c8d6384a99441
Task-number: QTBUG-34489
Task-number: QTBUG-50604
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 834f9c76 accidentally inverted a validity
test by going from !isEmpty() to !isValid().
Change to isValid() which preserves the previous logic:
a set sourceSize is automatically scaled by the target
devicePixelRatio.
Verified with:
tests/manual/highdpi/imageprovider.qml
tests/manual/highdpi/svg.qml
Change-Id: Ie979d566418c365d4d7fc5e5c3e6a795a891db51
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
| |
Change-Id: I9e8b4cb7fe2151b7b3da19dd15641bf76a69042b
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
When instantiating static plugins no check is done whether the
QQmlExtensionInterface is declared. Therefore all user plugins are
instantiated in the Qml thread, which may cause problems.
Task-number: QTBUG-52012
Change-Id: Ia91ec5ec7b2a9721bd11e3648cdc161855b4454e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to change 85b64e701b2eaecdd30a7e0e079e2c80dd846fec.
Fixes test warnings:
QWARN : tst_qquicktextinput::mouseSelectionMode_accessors() QSignalSpy: Unable to handle parameter 'mode' of type 'SelectionMode' of method 'mouseSelectionModeChanged', use qRegisterMetaType to register it.
QWARN : tst_qquicktext::textFormat() QSignalSpy: Unable to handle parameter 'textFormat' of type 'TextFormat' of method 'textFormatChanged', use qRegisterMetaType to register it.
Change-Id: I9105eb31ce3d6203602649e24835f4fb0ddb25fd
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the rendering of the item depends on the device pixel ratio then it
needs to be updated whenever this changes.
[ChangeLog][QQuickPaintedItem] When the device pixel ratio
is changed for the screen the item is rendered on then the item will be
updated.
Change-Id: Idf3c73faf0c13573c570fe22b5fb9e97fe1e66e2
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
| |
Change-Id: I8dd234d06048e6d8e7b2dfccb59d639ad167022b
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: Ib1c2695f86837b02ba4aaf49184421cd464f7c20
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I7c7745264ff66b7db042e19f6d44124fa78bb86c
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of
Cannot read property 'width' of null
and a line pointing to TestCase.qml, you get
No item given to mouseWheel
and a line pointing to the offending code
Change-Id: I8e035878035cb836a4c0c33a772ad4353d8dd000
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|