| 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
(cherry picked from commit 2ac19881f92c94f4e9427bd9ff513210675f259e)
Change-Id: If254d5bca1f41ec948ec1438df0d37bf8d531bdf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\
| |
| |
| | |
refs/staging/5.7.0
|
| |\
| | |
| | |
| | | |
Change-Id: I5c636ff0d203747bad88c57abec176dec34deb47
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The typical case is that there's already a QQmlData for a QObject, so
fast-path this, and fall back to the general case if there is none (or
it is deleted, etc.)
Change-Id: I00c890e5fe7abdd743c4e99316a7ce93eb3db9df
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change to remove the Q_OS_ANDROID define for using ::copysign there
instead of std::copysign as other systems are affected as well
(FreeBSD 9.3 with gcc 4.8 in particular). The distinction does cause
more problems than simply using ::copysign everywhere.
Change-Id: I1fe42fdee9c1c1bbb3e5930573ff29c600dfb5e0
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\|
| | |
| | |
| | | |
Change-Id: Ib7f8c60143c1efab279476dba390a3d9837ccc37
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit bad007360a0f6fba304d8f4c99826a1250fd886c.
The lookup in the global object is necessary to detect whether we've seen any
unresolved properties. This is used for the optimization of skipping binding
refresh updates when a context property changes.
Task-number: QTBUG-53431
Change-Id: Idb39a32e4b58b915496bbb9d8a098dc17a6f688a
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If updatePending is set, that means we want to call update()
eventually. If we just reset updatePending without calling
update(), we produce UI glitches.
Change-Id: Ie7353b2f5da567e196dbee8c113920e0e4702304
Task-number: QTCREATORBUG-16022
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
They may prevent use of QT_NO_FOREACH in
other Qt modules.
Change-Id: Iafc04a73579a90492f3ff303978b78b71eec4e55
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only iterate over the enumerations/enumerators in the staticQtMetaObject
when a get() is done, and the key/value is not yet in stored in the
underlying Object. The whole cost of the iteration is now moved to get()
and advanceIterator(). The latter will add all items in one swoop, but
iteration over QtObject isn't used much (if at all). The get() will add
all key/value pairs up until it finds the requested key. Checking a
number of applications shows that none of them use all (or the "last")
key, so it will actually save entries (which equals memory) too.
This change reduces the instruction count for QtObject from 2.7M
instructions down to 95k. As this initialization is done from the
QQmlEngine constructor, it also speeds up that initialization.
Task-number: QTBUG-43770
Change-Id: I71331ff76bdacdd4790f7ff0430c4cbc214fe0ab
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: 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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|