Commit Graph

122 Commits

Author SHA1 Message Date
Lars Knoll 55a671ea73 Merge remote-tracking branch 'origin/5.9' into 5.10
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
2017-09-20 14:27:41 +02:00
Marco Benelli 9464138014 qmlplugindump: skip imports containing "private"
Skipping paths that ends with "private" is not enough.

Task-number: QTBUG-47027
Change-Id: I25af518b76f594c268db6b77dbafd343f2f57ee8
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-09-08 08:42:34 +00:00
Simon Hausmann 51763b1b19 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp

Change-Id: I31375151eb239f348bec988d2d0506c2b4d9604c
2017-08-23 13:48:29 +02:00
Marco Benelli 93ff90d943 qmlplugindump: fix bug in reading command line
Task-number: QTBUG-58264
Change-Id: I317fb18d9ceb8738f2f132b8703dc1af3b17d35b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-21 06:56:03 +00:00
Simon Hausmann 43a615e309 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	src/qml/compiler/qqmltypecompiler.cpp
	src/qml/jsruntime/qv4qmlcontext.cpp
	src/qml/jsruntime/qv4qobjectwrapper.cpp
	src/qml/qml/qqmlcustomparser.cpp
	src/qml/qml/qqmlimport.cpp
	src/qml/qml/qqmlimport_p.h
	src/qml/qml/qqmlmetatype.cpp
	src/qml/qml/qqmlmetatype_p.h
	src/qml/qml/qqmltypenamecache.cpp
	src/qml/qml/qqmltypenamecache_p.h
	src/qml/qml/qqmltypewrapper.cpp
	src/qml/qml/qqmltypewrapper_p.h
	src/qml/qml/qqmlvmemetaobject.cpp
	src/qml/util/qqmladaptormodel.cpp

Change-Id: Ic959d03e6f9c328fb02710d9abbb0f27cddde131
2017-08-18 11:46:11 +02:00
Mitch Curtis 2b7a9aa1c7 qmlplugindump: fix "useQApplication set but not used" build error
Change-Id: If6c3e513814a7fab62ecdf7de728939c7d61263b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-04 13:18:30 +00:00
Lars Knoll e61dca7268 Change data structures in QQmlMetaTypeData
Make sure any QQmlType stored in the meta type data
has a refcount of 1. This should now make it possible
to clean out unused types by iterating over the
list of types and removing those that have a refcount
of 1.

Some care is still needed for C++ registered types, that
will need to get one more refcount, so we don't accidentally
remove them.

Task-number: QTBUG-61536
Change-Id: Id2a18dae5ddcb815f34013f5fde1f05d2d9d0214
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-08-02 16:32:56 +00:00
Lars Knoll 49a11e8820 Use QQmlType by value
QQmlType is now refcounted, and we need to use it by
value, to control it's lifetime properly. This is
required, so we can clean up the QQmlMetaTypeData
cache on engine destruction and with trimComponentCache()

Task-number: QTBUG-61536
Change-Id: If86391c86ea20a646ded7c9925d8f743f628fb91
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-02 16:32:43 +00:00
Liang Qi b1fa22c168 Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	src/qml/compiler/qv4ssa.cpp
	src/quick/accessible/qaccessiblequickview_p.h
	src/quick/items/qquickmousearea.cpp
	src/quick/util/qquickanimatorjob.cpp
	tools/qmlplugindump/main.cpp

Change-Id: I84474cf39895b9b757403971d2e9196e8c9d1809
2017-02-24 11:48:14 +01:00
Marco Benelli dfa468904d qmlplugindump: reports qmlimportscanner's message
Report to the user the stderr of qmlimportscanner, if needed.

Task-number: QTBUG-58930
Change-Id: Ib8ddf12cb3d18c936eb151f12991900a32175576
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-02-17 14:38:37 +00:00
Marco Benelli 12db36d8a6 qmlplugindump: import paths clean-up
Remove "qrc:/qt-project.org/imports" from the paths list passed to
qmlimportscanner.
qmlimportscanner will error out on a path that does not exist.
Since the internal qrc:/qt-project.org/imports path only exists if
the plugins are compiled in statically into qmlimportscanner, we
have to remove this path to stop it from erroring out.

Task-number: QTBUG-58930
Change-Id: I39525f2b6ff29c02b38f5f701342026dea871701
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-02-17 14:38:11 +00:00
Peter Varga 0ceac04beb Fix typo in qmlplugindump error message
Change-Id: Icbe18330ae665b693047f098e219c3b665be22e9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-31 13:55:22 +00:00
Marco Benelli bdb18b5471 qmlplugindump: add -qapp option
Some modules (ie QtChart) require a QApplication instead of the
QGuiApplication that qmlplugindump use by default.
This option let the user specify if a QApplication is needed.

Task-number: QTBUG-58264
Change-Id: I10e68d0d3eab2afad315b57fef9ce92c42e70124
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2017-01-31 09:55:19 +00:00
Liang Qi 60300fda46 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	.qmake.conf

Change-Id: I9d87ed86e95b5901a86cc3aa65d7ac39b0b708c2
2017-01-14 22:17:32 +01:00
Jacques GUILLOU 321726cb5e qmlplugindump : Add a "-output" argument to specify the output file
Having only the possibility to redirect the stdout of
qmlplugindump to a file is both unconvenient and unreliable
since some plugins might write content (such as logs) to
stdout, which pollute the output.

Change-Id: I8b1d482d7674945e6145d59aea839c54600e7784
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2017-01-05 16:54:38 +00:00
Liang Qi 0e80d28aa5 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp
	src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp
	src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp
	src/qml/qml/qqmlimport.cpp
	src/quick/items/context2d/qquickcontext2dtexture_p.h
	tools/qmleasing/splineeditor.h

Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
2016-12-14 19:01:23 +01:00
Marco Benelli ee347ee875 qmlplugindump: avoid warnings
Wrap all global variable in an anonymous namespace in order to avoid
compiler warnings on the uninizialized ones.

Change-Id: Ifabb790d2d76b6056d706580b9e4c0f12f5119f0
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-12-08 09:17:29 +00:00
Liang Qi 5d4cbf4094 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	src/qml/jsruntime/qv4object_p.h

Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
2016-11-23 10:49:37 +01:00
Friedemann Kleint 05e3cdd8ab Set Qt version on tools
Change-Id: I21d77b2eba7107528fc00db0cf5d87f8347b63be
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-11-09 09:18:44 +00:00
Liang Qi cb5cbe9eb7 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	src/qml/compiler/qv4isel_moth_p.h

Change-Id: I8e86a649d1ef8ad27dc66cc8c290093b2faabc69
2016-09-21 09:24:03 +02:00
Marco Benelli d82ce2b82c qmlplugindump: update QtQuick references to 2.8
Change-Id: I2d418d50c6300e107795dd4ebdd95c78cb1b2175
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-09-12 17:22:55 +00:00
Anton Kudryavtsev 457bb7a465 tools: use const (and const APIs) more
For CoW types, prefer const methods to avoid needless detach()ing.

Change-Id: If9018391c001eba3b4b2061d06c4caa8136811ab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-08-22 16:44:33 +00:00
Anton Kudryavtsev 909d6498ed tools: replace 'foreach' with 'range for'
Catch rvalues to prevent detach()'ing.

Change-Id: I7be159a405c994429c0eee10805bfe96fcf4c806
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-08-22 08:32:23 +00:00
Anton Kudryavtsev 3ef4fac9ff tools: replace 'foreach' with 'range for'
Mark some local variables or parameters as const
to prevent detach()'ing.
Use qAsConst where is not possible mark as const.

Change-Id: I0a777c3bd855abd3bb1ad0907152360cf4a1050e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-08-20 06:52:34 +00:00
Andreas Cord-Landwehr 78f5b9e7f7 Do not override QT_QPA_PLATFORM env variables
The QGuiApplication documentation explicitly says that QT_QPA_PLATFORM
can be used to specify the QPA for every QGuiApplication. Unconditionally
overriding this value within the application is a unexpected behavior.

Task-number: QTBUG-54789
Change-Id: Ia7a61a0f2921ef8ec27fe630e8d307d20ba1eb37
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-08-16 11:24:49 +00:00
Kai Koehne ac44a5b574 qmlplugindump: Avoid warnings about missing createPlatformOpenGLContext
Fixes a regression introduced in 541eb6b704. There's no point in
setting AA_ShareOpenGLContexts for the minimal plugin.

Change-Id: Ibcc65ede41acf5a8cf22eacef4b94c20048a354a
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-06-29 10:06:08 +00:00
Marco Benelli 818abf6a8c qmlplugindump: add a command line option.
Add the option -noforceqtquick that prevent the inclusion of the
QtQuick dependency in the resulting qmltypes file.

Including the QtQuick dependency interfere with the generation of some
qmltypes, such that the one of QtQuick itself.

Change-Id: I63a44632b8dbabdd1ffecf16da050a9429e557da
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-05-25 07:33:11 +00:00
Kai Koehne 541eb6b704 qmlplugindump: Allow dumping of WebEngine plugins
WebEngineView requires a shared opengl context. The plugin checks for
this when initializing.

Change-Id: I686b9c22be95f7ef16ea68ea49b8f9aee47789ae
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-05-20 09:12:09 +00:00
Marco Benelli 1ddc20c967 qmlplugindump: skip "private" directories.
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>
2016-04-28 11:42:18 +00:00
Liang Qi 20a51e87fd Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	.qmake.conf

Change-Id: I356ec83cf687bd2833f9a7c5e820d56b1efa8979
2016-02-12 10:53:43 +01:00
Marco Benelli 7b38d8e002 qmlplugindump: option to merge qmltypes.
QtCreator does not handle dependencies between Qml types defined in
different qmltypes files.  Sometimes manual editing of qmltypes file is
needed to let QtCreator find the missing type information.
With the new -merge option it is possible to merge a qmltypes file to
the output of qmlplugindump.  Dependencies are correctly merged but
components are simply added, so they could cause conflict.

Change-Id: I6569339e4f05d37ea63fa2173983b4d595ae0ad6
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-02-02 14:58:21 +00:00
Simon Hausmann f286db98ee Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
2016-01-22 15:21:06 +01:00
Jani Heikkinen 38ec3bd755 Updated license headers
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)

Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-20 11:46:25 +00:00
Marco Benelli a28bf00a6c qmlplugindump: avoid generating conflicting types.
qmlplugindump used to import QtQuick, therefore skipping all QtQuick
types when dumping.  Now that it imports only Qt, it is no longer the
case, and all QtQuick types would be dumped in the module's qmltypes
file.  It can be avoided by specifyng 'QtQuick' as dependency in qmldir
file or in a json file passed as -dependencies option.  It seems however
that people are not used to that, so in order to restore the old
behavior, the QtQuick dependency is automatically added when the
dependency list is empty.

Change-Id: I5fb2e57893607a877d284767b3fd09159b45ff42
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-01-20 09:01:17 +00:00
Anton Kudryavtsev 7c9e51e7e7 QmlPluginDump: use QFileInfo::exist(f) instead of
... QFileInfo(f).exists(). It's faster.

Change-Id: Id9dd30f5532ed73c487caffcaad3860a6475e832
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-19 08:04:45 +00:00
Anton Kudryavtsev 201f84f204 Tools: fix expensive iteration over QHash::keys()
Change-Id: I902bafdbc2ddfceeacfc9ef274513a2b0a23aed7
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-15 14:11:38 +00:00
Albert Astals Cid ac68eb35e6 qmlplugindump: Don't try to import Qt.test.qtestroot
Qt.test.qtestroot is only provided by quick_test_main so
if we find any plugin that tries to inherit from TestCase.qml
qmlplugindump will fail trying to import this unexistant import

Change-Id: Idee881fa641267a17594dd3c92e929ca3473f3df
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-12-15 05:09:22 +00:00
Marco Benelli a3cde0b1ac QmlJs: separate dumping of Qt built-ins and QtQml.
builtins.qmltypes used to contain also definitions that belong to
QtQml. This patch makes qmlplugindump dump only Qt built-ins when
called with the '-builtin' option, and makes dumping of QtQml work
correctly.

Change-Id: I123b9cae6f2557cf281f857df51fae095cbc25cc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-11-27 11:09:19 +00:00
Marco Benelli d66d323f93 Proper handling of composite types with different versions.
Change-Id: I967da2eb1867f218d47faf8a589d1773e6f57fc7
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-11-03 14:55:43 +00:00
Friedemann Kleint 16154fba86 Tools: Fix single-character string literals.
Use character literals where applicable.

Change-Id: I55679dcc13c4c79567712c0dfaaabc2b84fee010
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2015-10-13 13:40:44 +00:00
J-P Nurmi 8e7d1a9119 Make QML composite types inherit attached properties
Change-Id: Ic06af4805da987dd08e361f2668e7a1788d3eefe
Task-number: QTBUG-43581
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-10-09 13:06:35 +00:00
Kai Koehne d0025a064c qmlplugindump: Drop '.exe' suffix in comment
This generates just noise in the diffs.

Change-Id: I09d1dbc6d8255a9cf5055abf96eb06ca78a80a94
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-09-23 06:41:45 +00:00
Simon Hausmann 149ece7a0c Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: Ibc7a47f7ce6d15dff79fdc59f8ded297d1b8d50d
2015-09-02 17:19:48 +02:00
Marco Benelli d43333cd1e Warn if a composite type is not ready and continue.
Change-Id: Ib28f484188466831e4c64aee0e36a27dd4842b06
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-09-01 14:49:13 +00:00
Sérgio Martins 52d91eeea4 Add 28 QList::reserve() calls
Change-Id: Id4820ac458f48b10f2bf457144767efdef9e2c07
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-06-08 11:35:42 +00:00
Marco Benelli d185a5c204 qmlplugindump: add dependencies
Change-Id: I53b2a394ba1f6c8a7a88f7456fba8646cdf35bf4
Task-number: QTBUG-41079
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-04-21 10:37:19 +00:00
Jani Heikkinen c5796292ad Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
2015-02-12 10:28:11 +00:00
Konstantin Ritt 802a996693 Fix build on MinGW
- alloca() needs malloc.h
- crtdbg.h couldn't be found on MinGW

Change-Id: Ibbf91a58d39ef1e2572baae3c409393acf7aa5df
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-12-28 18:46:59 +01:00
Friedemann Kleint 3f1156ee5f qmlplugindump: Use _CrtSetReportMode() for MSVC only.
Fix warnings when using MinGW:

main.cpp: In function 'int main(int, char**)':
main.cpp:734:55: warning: statement has no effect [-Wunused-value]
     _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG);
                                                       ^
main.cpp:735:53: warning: statement has no effect [-Wunused-value]
     _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG);
                                                     ^
main.cpp:736:54: warning: statement has no effect [-Wunused-value]
     _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG);

where _CrtSetReportMode() is an empty macro.

Change-Id: I644bc207b5a3df62d6390811f53b2c0948979d58
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-09-19 12:41:00 +02:00
Jani Heikkinen e7ceacda70 Update license headers and add new licenses
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL

Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
2014-08-25 11:28:46 +02:00