| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The styles are installed to eg. qml/QtQuick/Controls.2/Material.
That is, the version is in the parent module. See 3c5e438 for more
details.
Change-Id: Icdeccb356554ada74dd1116b99be198565c98de6
Task-number: QTBUG-53284
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using an enum type for a bitfield (i.e. Anchors foo : 7), MSVC will
somehow store (or interpret) it as signed, while clang/gcc will do it
unsigned. This behavior can be made less exciting by specifying the
storage type of the enum.
However, as the exception that confirms the rule: gcc 4.8 on OpenSUSE 13
will complain that it can't store all Anchor values in a 7 bit bitfield,
but ONLY when a base type for an enum is specified.
Change-Id: I7514dd613017d321de55560affb9b355fa75fa2e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't store QQuickAnchorLine, but store both fields separately in
QQuickAnchorPrivate. This prevents padding of QQuickAnchorLine, saving
48 bytes on x86_64 (or any platform where structs are 8-byte aligned).
On x86_64, this also removes ~180 instructions for each QQuickAnchor
creation/removal, and speeds up the constructor by 25%.
While in the neighborhood, do a drive-by change and merge
QQuickAnchorLine::AnchorLine and QQuickAnchors::Anchor by removing the
former.
Change-Id: I50ab6252b1903f5f1a075174e6185c3048a8f8ec
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|\ \ \
| | |/
| |/|
| | | |
Change-Id: I6648a0ce49e0fd2b0881444bd38b9a10c093dc18
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: I3c6a93917cb46868cdb9dd50566b90c70f67102e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 91a96d1de9c3d3f8d598ee8fbcf2d1868635ec46.
I've been told that the race condition in the networking stack has been
fixed on Windows.
Change-Id: Ica038229e8e164a199332288ed140ca6a1d3104c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As it stood, whenever QtQuick did a polish we would update
IM transform. The result would be that we signaled changes
to e.g cursor rectangle and input rectangle each time the
cursor was redrawn. This of course caused code elsewhere, e.g
in the platform plugins, to recalculate overlays such as
cursor handles when nothing with regards to input item
transform had actually changed.
This patch will add some extra checks that the effective transform
of the focus object has really changed before telling IM
to update.
Change-Id: If7057e4dd8f41e251a27d68fcaebdb10da953ee7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Done by giving the "expensive" part its own function, that's even
unlikely to be called anyway.
Change-Id: I35621fb0a764879f9339b9e23f210c66971ff5b7
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ic00e15136b2e4fe977270b081eaf5e765cf5fb7f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I731355aa1754721236f3711a65af4f96781cebc0
Task-number: QTBUG-51467
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The styles are installed to eg. qml/QtQuick/Controls.2/Material.
That is, the version is in the parent module. See 3c5e438 for more
details.
Change-Id: Id5083c7934071666dd5e11511f16dea07d3104bf
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Let QtQuick items respond to ImInputItemClipRectangle inputMethodQuery and
notify about potential changes with QInputMethod::update()
Change-Id: I3025583d751bcc7f54bab87792bb7a2f38b60591
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is needed by the behavior of TabBar in universal style in QtQC2.
[ChangeLog][QtQuick][PathView] Added movementDirection property
Change-Id: Iedc214a12e7336e52125ec82b9ded45502905978
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As the various file names are actually not kept as QStrings in the
respective objects being profiled, our saving them as QStrings in each
and every profiling event is not implicitly shared and causes a huge
memory overhead. Avoid that by saving each location only once, indexed
by a disguised pointer to the object it refers to.
Normally, objects could disappear during the profiling session, and new
objects could be allocated in their place, which would mess up our
indexing system. We prevent that by referencing the objects when we
index them, thus preventing them from getting auto-destructed.
Mind that those are not JavaScript objects but rather functions,
bindings, components and the like. So, this will only cause a memory
leak if you're compiling and dropping QML components over and over.
Task-number: QTBUG-52937
Change-Id: Ia4dfb09a71a5c9a2d6ce25c3811bbe2a1036c1c1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Saving the name/file/line/column over and over for each function call
is wasteful. We can instead key them by the pointer to the JS Function
object. Also, make sure we don't accidentally detach the data when
sending messages.
Task-number: QTBUG-52937
Change-Id: I8a03e4003dc3239f88b49c56424df05cd8b9ef8a
Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I32d874c65251214f1f754f8caf443298944897e0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
The latter can be inlined.
Change-Id: I57747b84889390839a17faa1df6d359210ef4adf
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qmlplugindump used to skip directories called "Private". It seems that
some directory called "private" are added, notably the one in
QtGraphicalEffects. Such directories cause qmlplugindump to fail, so
the name check is now case-insensitive.
Change-Id: Ie564db7bf96d6596d5cd674adc125a9bcdcba7bb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QJSEngine requires a QCoreApplication instance in order to function
correctly, and 57f7fe3e enforces this further. However, currently an
application will simply crash because of accessing a non-existent
QCoreApplication instance.
This patch makes it clear to the user that they need to construct an
instance first.
Change-Id: Ieaef005ef03da250cc60457b4b1a4baa5db81215
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-52325
Change-Id: I38d90b6fb0d7468fb0916bd6dfd1cf07ace4389b
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qDeleteAll uses iterator-based loop, that
produce less code than index-based.
Saves ~0.1 KB text size.
Config: release build, Ubuntu 14.04 x64, gcc 4.9
Change-Id: Ib6c01f3b6a73367e33aecd34223edde15262d33c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There can only be one detail type for compressed set of messages. This
is unlikely to change anytime soon. Also, be more careful about not
detaching the data when sending the messages.
Task-number: QTBUG-52937
Change-Id: I859b12889b0766543dac00b21784e14b76e458b6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickimagebase.cpp
src/imports/layouts/plugin.cpp
Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I5540eda05e6e4d7ab01c85b1da32e8677a9c332d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Initializing paused to isPlaying() then checking it subsequently
agrees with isPaused() is an obvious copy-and-paste bug in the test,
which was meant to check runtime state wasn't changed by a snapshot.
Task-number: QTBUG-36717
Change-Id: I7a206b07071b862dbe4c0331af6bc32157a415b2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|