Ulf Hermann [Mon, 13 Jul 2015 14:38:25 +0000 (16:38 +0200)]
Make QQmlDebugService::registerService() private and part of ctor
By forcing all debug services to register before the thread starts we
can get rid of the complicated thread synchronization and have a more
natural API for the services.
We can also better enforce the thread situation when registering
services in QQmlDebugServer now. QQmlProfilerService should not
moveToThread() in its constructor as the thread has not been started,
yet. The thread affinity of QQmlProfilerService doesn't make any
difference anyway, as all relevant methods are protected by mutexes
and it doesn't have any slots.
Change-Id: I57db9e2bf94ec6884ede694715dadf5bfd687334
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Wed, 29 Jul 2015 10:51:23 +0000 (12:51 +0200)]
Make sure QQmlDebugServer does not deadlock in blocking mode
Previously, the server could wake the helloCondition before the main
thread was waiting on it. This would lead to the main thread then
waiting forever once it hit the wait() statement.
Change-Id: I694d65f72cf6be6e4c5a0c65ea4aea8a5878bf5b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Wed, 29 Jul 2015 10:28:10 +0000 (12:28 +0200)]
Move debugger initialization out of QQmlDebugServer and QQmlEngine
QQmlDebugConnector has to check the parameters before deciding if (and
what kind of) instance to create. It also has to add the services
itself as we don't want to tie a specific implementation of
QQmlDebugConnector to a specific set of services. Logic to load the
services from plugins will be added in a separate change. Integrating
the service initialization with the connector initialization enables us
to load the services before the server thread startsi, which will
simplify the thread synchronization.
QQmlConfigurableDebugService has to recheck for blockingMode once it
gets enabled as it cannot rely on being enabled right away anymore. It
should have done that already before as it's possible to disable and
re-enable services.
Change-Id: I9d161d78836bae10d688a90b4c2a32efed320412
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 14 Jul 2015 14:36:32 +0000 (16:36 +0200)]
Extract minimal interface from QQmlDebugServer and use it.
This will allow us to move QQmlDebugServer into a plugin. The new QQmlDebugServer
is the interface exposed to connection plugins. The interface exposed to services
is renamed to QQmlDebugConnector, as technically it doesn't have to be a
"server".
Change-Id: Id508b8c0a6960228e889f45a437b73060392db39
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Eskil Abrahamsen Blomfeldt [Mon, 6 Jul 2015 13:45:41 +0000 (15:45 +0200)]
Fix trailing comma at end of enumerator list
Breaks compilation with gcc.
Change-Id: I0e48e37b4e67ae522338b17dfe996f455e0e5027
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Thomas Hartmann [Tue, 28 Jul 2015 11:53:43 +0000 (13:53 +0200)]
Fix warnings
Change-Id: I4acbf9bdc09ef2d906c1ae1894e5f5995b93ae72
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Ulf Hermann [Tue, 28 Jul 2015 17:18:24 +0000 (19:18 +0200)]
Add namespace declarations to qv4debugging.cpp
Change-Id: Ia7c4e6e29726276bbfe8888b2b2902abc971cad3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Wed, 22 Jul 2015 09:51:25 +0000 (11:51 +0200)]
Improve QV4DebugService debug output
JSON Payloads look better without the quotes.
Change-Id: I5a7954ab58449cccabc29b0d3b499838dafe9338
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 20 Jul 2015 16:15:05 +0000 (18:15 +0200)]
Use QVector rather than QList for storing QQmlProfilerData
Change-Id: I94519181e915c5e2df9614ad4e1180fb159252e3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 21 Jul 2015 09:43:19 +0000 (11:43 +0200)]
Remove qqmlinspectorconstants.h
Only two of the constants were used and both only once in the same
file. We can as well declare them there.
Change-Id: Idda68707a209af2c84fc06e22516e64fceb5f4bc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Wed, 15 Jul 2015 11:30:47 +0000 (13:30 +0200)]
Clean up project files for debug connections
Don't specify files that don't exist and remove the pri/pro
distinction. The .pri files aren't included from anywhere else.
Change-Id: I7d77e3db495d8256adbface20657d7632e0e5a10
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Wed, 15 Jul 2015 11:27:59 +0000 (13:27 +0200)]
Fix includes for QQmlDebugServerConnection
We don't want to require core-private for no reason.
Change-Id: Iff92e52d1894dde9b2155b4e42c21eec2b852f97
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 14:00:26 +0000 (16:00 +0200)]
Remove QQmlDebugService::objectToString()
It isn't used anywhere.
Change-Id: I73e2f448be30c04dca4d7122d173782e302478bd
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 14 Jul 2015 10:38:06 +0000 (12:38 +0200)]
Don't exposes QQmlDebugServer's list of services.
The only thing we ever want to do is look up a service by name.
Change-Id: I45007d3c742201ccc0871379a91b37381f6d1760
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 14:20:12 +0000 (16:20 +0200)]
Make QQmlDebugService's state and engine callbacks public
It's clear that the public API of QQmlDebugService is meant to be used
by QQmlDebugServer or future replacements. Restricting access with
"friend" requires listing all those possible replacements.
Change-Id: I197f1fa53cf985f52cfe5e077a95eda1ed5214b4
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 14 Jul 2015 10:27:40 +0000 (12:27 +0200)]
Remove some methods from QQmlDebugServer
They were only used internally or for redundant checks in the tests.
Change-Id: Iaa7d52be030adaa52a07b28fba53bdef9fada879
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 14:13:00 +0000 (16:13 +0200)]
Remove static proxy methods from QQmlDebugService
They all internally map to one-liners and just add to binary size and
complexity. Especially, the most used one, isDebuggingEnabled(), simply
checks if there is a QQmlDebugServer::instance().
Change-Id: Ib269928e08506894d933f6696e34ff0d3acb048b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 27 Jul 2015 11:54:12 +0000 (13:54 +0200)]
Don't wait for debug services if none are active
Change-Id: I30f0ea1d34c9cb8d66f9dfd1e381ecc6ae8ccc61
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Erik Verbruggen [Mon, 27 Jul 2015 08:43:25 +0000 (10:43 +0200)]
Conditionally define Q_ALWAYS_INLINE.
Step one in moving it next to Q_NEVER_INLINE in qglobal_p.h.
Change-Id: Iedecf8de2531334cf3cf8cd5ae4c7b19f2d7736b
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Friedemann Kleint [Fri, 24 Jul 2015 13:27:58 +0000 (15:27 +0200)]
tests/qml: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).
- Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer).
- Replace Q[TRY]_VERIFY(smartPointer == 0) by
Q[TRY]_VERIFY(smartPointer.isNull()).
- Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and
add casts where necessary. The values will then be logged
should a test fail.
Change-Id: I8cc97fd9b48fc789a849e9527c292c4e05accd97
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Ulf Hermann [Tue, 28 Jul 2015 08:45:47 +0000 (10:45 +0200)]
Avoid QVector::pop_front()
It's very inefficient.
Change-Id: Icde138c015379679c4d5a8c2c8e30cb39a1bb245
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Friedemann Kleint [Fri, 24 Jul 2015 13:32:22 +0000 (15:32 +0200)]
tests/quick: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).
- Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer).
- Replace Q[TRY]_VERIFY(smartPointer == 0) by
Q[TRY]_VERIFY(smartPointer.isNull()).
- Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and
add casts where necessary. The values will then be logged
should a test fail.
Change-Id: Ib9f4c2486af23c47990be4b9e004b965de226dcc
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Friedemann Kleint [Fri, 24 Jul 2015 11:39:05 +0000 (13:39 +0200)]
Tests: Replace Q[TRY]_VERIFY(v == true|false) by QVERIFY(v)|QVERIFY(!v).
Preparing the replacement of Q[TRY]_VERIFY(a == b) by
Q[TRY]_COMPARE(a, b) for non-boolean types.
Change-Id: I8a4e44a2b4e20a9c8b811799e3932c8ce1a2cbbb
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Frank Meerkoetter [Wed, 8 Jul 2015 18:42:09 +0000 (20:42 +0200)]
Remove unused code
The support for QJsValue wasn't used.
Change-Id: I5394f449bb82275844b873a74cce3c9c6c91b121
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Erik Verbruggen [Wed, 8 Jul 2015 08:52:59 +0000 (10:52 +0200)]
Remove type punning from QV4::Value.
The union in QV4::Value is used to do type punning. In C++, this is
compiler-defined behavior. For example, Clang and GCC will try to detect
it and try to do the proper thing. However, it can play havoc with Alias
Analysis, and it is not guaranteed that some Undefined Behavior (or
Compiler depenedent behavior) might occur.
The really problematic part is the struct inside the union: depending on
the calling convention and the register size, it results in some
exciting code. For example, the AMD64 ABI specifies that a struct of two
values of INTEGER class can be passed in separate registers when doing a
function call. Now, if the AA in the compiler looses track of the fact
that the tag overlaps with the double, you might get:
ecx := someTag
... conditional jumps
double_case:
rdx := xorredDoubleValue
callq someWhere
If the someWhere function checks for the tag first, mayhem ensues: the
double value in rdx does not overwrite the tag that is passed in ecx.
Changing the code to do reinterpret_cast<>s might also give problems
on 32bit architectures, because there is a double, whose size is not the
same as the size of the tag, which could confuse AA.
So, to fix this, the following is changed:
- only have a quint64 field in the QV4::Value, which has the added
benefit that it's very clear for the compiler that it's a POD
- as memcpy is the only approved way to ensure bit-by-bit "conversion"
between types (esp. FP<->non-FP types), change all conversions to use
memcpy. Use bitops (shift/and/or) for anything else.
- only use accessor functions for non-quint64 values
As any modern compiler has memcpy as an intrinsic, the call will be
replaced with one or a few move instructions. The accessor functions
also get inlined, the bitops get optimized, so in all cases the compiler
can generate the most compact code possible.
This patch obsoletes
f558bc48585c69de36151248c969a484a969ebb4 (which had
the exact aliassing problem of the double and the tag as described
above).
Change-Id: I60a39d8564be5ce6106403a56a8de90943217006
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Ulf Hermann [Wed, 15 Jul 2015 08:11:02 +0000 (10:11 +0200)]
Don't remove inspector service if no plugins are available
The client most likely won't be able to deal with a previously
announced service suddenly disappearing anyway. All other services only
deregister themselves once the server shuts down and this behavior will
become mandatory in order to reduce thread synchronization problems.
Change-Id: I76e812f3dbcb2cd48eccf9b5a8829751ef7463f0
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 14 Jul 2015 10:39:23 +0000 (12:39 +0200)]
Remove some unused friend declarations
Change-Id: If45e084cc080c03b486fdfea33fadb4bb16e8cef
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 14 Jul 2015 17:20:28 +0000 (19:20 +0200)]
Fix broken Q_UNUSED declarations in QQmlDebugServer
Change-Id: I0f2cf0a09dfbfb1c2db79b3b5e0c35da546e5c31
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Wed, 8 Jul 2015 14:03:51 +0000 (16:03 +0200)]
qmlprofiler: Use QQmlProfilerDefinitions for accessing definitions
Change-Id: I6def7dd8a0ce0db22ad4829029d8510f5869c813
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Friedemann Kleint [Tue, 21 Jul 2015 14:20:38 +0000 (16:20 +0200)]
Port examples to new connection syntax.
Change-Id: I121c59ac0ad56acb4cd54b99ecd37567368385ce
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Thomas Hartmann [Wed, 22 Jul 2015 12:39:15 +0000 (14:39 +0200)]
Property names can be utf8
Change-Id: Ib337fa9a366725b8f0491a4816597fa5baeef7a9
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Friedemann Kleint [Wed, 22 Jul 2015 07:00:30 +0000 (09:00 +0200)]
Fix QString-related warnings in quick designer support.
designer/qquickdesignersupportmetainfo.cpp: In static member function 'static bool QQuickDesignerSupportMetaInfo::isSubclassOf(QObject*, const QByteArray&)':
designer/qquickdesignersupportmetainfo.cpp:50:51: warning: 'bool QString::operator==(const QByteArray&) const' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:1229) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp: In function 'void stopAnimation(QObject*)':
designer/qquickdesignersupportitems.cpp:62:35: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp:63:33: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp: In function 'void allSubObjects(QObject*, QObjectList&)':
designer/qquickdesignersupportitems.cpp:93:62: warning: 'bool operator!=(const char*, QLatin1String)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:1192) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp: In function 'QQmlType* getQmlType(const QString&, int, int)':
designer/qquickdesignersupportitems.cpp:166:78: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp: In static member function 'static QObject* QQuickDesignerSupportItems::createPrimitive(const QString&, int, int, QQmlContext*)':
designer/qquickdesignersupportitems.cpp:223:41: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp: In static member function 'static void QQuickDesignerSupportItems::disableTransition(QObject*)':
designer/qquickdesignersupportitems.cpp:295:42: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportitems.cpp:296:44: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportproperties.cpp: In static member function 'static QQuickDesignerSupport::PropertyNameList QQuickDesignerSupportProperties::propertyNameListForWritableProperties(QObject*, const PropertyName&, QObjectList*)':
designer/qquickdesignersupportproperties.cpp:145:47: warning: 'bool QString::operator!=(const char*) const' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:1166) [-Wdeprecated-declarations]
designer/qquickdesignersupportstates.cpp: In static member function 'static bool QQuickDesignerSupportStates::isStateActive(QObject*, QQmlContext*)':
designer/qquickdesignersupportstates.cpp:50:50: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportstates.cpp: In static member function 'static void QQuickDesignerSupportStates::activateState(QObject*, QQmlContext*)':
designer/qquickdesignersupportstates.cpp:64:50: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignercustomobjectdata.cpp: In member function 'void QQuickDesignerCustomObjectData::populateResetHashes()':
designer/qquickdesignercustomobjectdata.cpp:146:93: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
designer/qquickdesignercustomobjectdata.cpp: In member function 'void QQuickDesignerCustomObjectData::doResetProperty(QQmlContext*, const PropertyName&)':
designer/qquickdesignercustomobjectdata.cpp:170:58: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
designer/qquickdesignercustomobjectdata.cpp: In member function 'bool QQuickDesignerCustomObjectData::hasBindingForProperty(QQmlContext*, const PropertyName&, bool*) const':
designer/qquickdesignercustomobjectdata.cpp:227:58: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
designer/qquickdesignercustomobjectdata.cpp: In member function 'void QQuickDesignerCustomObjectData::setPropertyBinding(QQmlContext*, const PropertyName&, const QString&)':
designer/qquickdesignercustomobjectdata.cpp:244:58: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
designer/qquickdesignercustomobjectdata.cpp:259:55: warning: 'QString::QString(const char*)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:653) [-Wdeprecated-declarations]
designer/qquickdesignersupportpropertychanges.cpp: In static member function 'static void QQuickDesignerSupportPropertyChanges::changeValue(QObject*, const PropertyName&, const QVariant&)':
designer/qquickdesignersupportpropertychanges.cpp:91:52: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
designer/qquickdesignersupportpropertychanges.cpp: In static member function 'static void QQuickDesignerSupportPropertyChanges::changeExpression(QObject*, const PropertyName&, const QString&)':
designer/qquickdesignersupportpropertychanges.cpp:103:62: warning: 'QString::QString(const QByteArray&)' is deprecated (declared at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:656) [-Wdeprecated-declarations]
Change-Id: Icdaec28b5bea23244303b082217660c38aefa40f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Thomas Hartmann [Wed, 22 Jul 2015 14:25:17 +0000 (16:25 +0200)]
Implmementing missing function of QQuickDesignerSupportProperties
Change-Id: Iafeda8755df80fdc2329ef778aa563eb0636ef40
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Michael Brasser [Tue, 21 Jul 2015 19:31:19 +0000 (14:31 -0500)]
Emit movement signals for flick().
Make flick() more like a real flick and ensure the movement signals
and properties are updated. This allows them to be handled from QML.
This also fixes issues with flick() and dynamic delegates. Flickable
has several checks of the form:
!d->pressed && !d->hData.moving && !d->vData.moving
That were processed incorrectly for flick(), as the moving variables
were not being updated.
[ChangeLog][QtQuick][Flickable] The movement related signals and
properties are now updated for flicks started via the flick function.
Change-Id: I7e96e2e12a4d0a0ee73ddd6f29d95f19c44667b0
Task-number: QTBUG-34507
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
Ulf Hermann [Thu, 16 Jul 2015 09:27:14 +0000 (11:27 +0200)]
Make tst_QQmlInspector::reloadQmlWindow() fail more quickly
It's annoying that we have to wait for 5s, just for the confirmation
that QTBUG-33376 isn't fixed.
Change-Id: I6296cc05d6dc7240ec3182ff10b19e40d5d4e599
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 10:13:48 +0000 (12:13 +0200)]
Add debug plugin manager
When splitting the QML tooling into several plugins we need a unified
way to load them.
Change-Id: I3e17dc5e9427cc45db962f7fa0a695514544d64c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 10:45:35 +0000 (12:45 +0200)]
Move data stream version into QQmlDebugStream
When moving the server into a plugin we won't be able to directly
access it anymore.
Change-Id: Iea0bac187cfa5cda69a0852b36d61f535e12d6c6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Kavindra Palaraja [Tue, 21 Jul 2015 17:46:45 +0000 (19:46 +0200)]
Polished documentation for the Binding type.
The current documentation was a bit wordy and not concise. Made some
changes to simplify the sentences and also changed the code samples to
use \qml instead of \code for improved syntax highlighting.
Change-Id: Iefa14ca34a749ebd039f47e26e51086e00684c6f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 13:09:42 +0000 (15:09 +0200)]
Simplify object/id lookup in QQmlDebugService
By tracking object destruction we can avoid looping over all cached
objects to find out which ones are still OK and we don't have to
manually clear the cache anymore. Looking up objects by source location
is specific to the engine debug service and should be done there.
Change-Id: I7dab73a7bf9c17087784f1bd9c5aef513b31e2c1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Alberto Mardegan [Sat, 11 Jul 2015 12:24:53 +0000 (15:24 +0300)]
Don't change the currentItem after a viewport resize
When highlightRangeMode is set to StrictlyEnforceRange and the view gets
resized, we don't want the currentIndex to change.
The code touched by this patch was introduced by commit
I08b7e61496a79f71c3b40fafaca985ae90f88503 back in Qt 4.7 times, and
never changed since then.
Task-number: QTBUG-43555
Change-Id: Ie67faa6898f13a1f7b0f1c4ae6c29721cb7dfa41
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Ulf Hermann [Mon, 13 Jul 2015 10:57:15 +0000 (12:57 +0200)]
Use QVector instead of QList in V4 profiler
For complex types QVector results in better performance.
Change-Id: I8ac3dccfa4272a755d36964b0373dc115f520223
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 13:25:15 +0000 (15:25 +0200)]
Make name and version of QQmlDebugService const
They aren't supposed to change after construction.
Change-Id: I4aee0c04f5bb77b0e75c016ecbc72ea34639d587
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Sérgio Martins [Sun, 19 Jul 2015 18:04:41 +0000 (19:04 +0100)]
qml: Remove unneeded copy-ctor and copy-assignment operator
It's passed by value all over the place, so make it trivially-copyable
Change-Id: I6710529b3d9a70c94f02c9c3e505658817de0898
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Sérgio Martins [Sun, 19 Jul 2015 18:25:25 +0000 (19:25 +0100)]
qml: Pass non-trivially-copyable types by const-ref
Change-Id: Id3d960ee8236a4c6f4bb4e0add1f88dfa32d3592
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 12:25:00 +0000 (14:25 +0200)]
Unify #include syntax
Change-Id: I4e0e79ebae3d42664bcf617193ca347890cf922e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 13 Jul 2015 12:19:38 +0000 (14:19 +0200)]
Make QQmlDebugService::name() a const reference
Change-Id: I7e75be206a1821018efc435337963f131b2996a8
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Ulf Hermann [Thu, 2 Jul 2015 15:38:20 +0000 (17:38 +0200)]
With -no-qml-debug, don't compile debug plugins and tests
This eliminates many #ifdefs and prevents the compilartion of broken
plugins.
Change-Id: Ib2763ed9e6580307482b885d71c1ad1010959ef2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Sérgio Martins [Sat, 4 Jul 2015 09:15:15 +0000 (10:15 +0100)]
Use by-ref in foreach when T is large or non-trivial
Change-Id: I79271fdc3fa064e362dfaa64ff11d8a4c6b7e8c3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Valery Kotov [Sun, 31 May 2015 19:47:50 +0000 (22:47 +0300)]
QML Engine: Support for "PROPFIND" method for XMLHTTPRequest
Support for WevDAV PROPFIND method was added to QQmlXMLHttpRequest. Tests for
PROPFIND method in XMLHttpRequest were added.
[ChangeLog][QtQml][QQmlXMLHttpRequest] QQmlXMLHttpRequest now
supports the PROPFIND method in HTTP requests.
Task-number: QTBUG-36456
Change-Id: Ie36fcc901e7c1583840f04166c1774a1defe9308
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Thomas Hartmann [Fri, 10 Jul 2015 10:22:39 +0000 (12:22 +0200)]
Adding tests for DesignerSupport
Change-Id: I577d0e34ce91a1fa11e3e6757bffc7adaec0f1fb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Thomas Hartmann [Mon, 13 Jul 2015 13:24:15 +0000 (15:24 +0200)]
Adding more DesignerSupport functions
The new functions/enablers are split into new classes.
* DesignerSupportItems
Helper functions to tweak and create items.
* DesignerSupportProperties
Helper functions to deal with properties and bindings.
* DesignerSupportPropertyChanges
Helper functions to deal with PropertyChanges.
* DesignerSupportStates
Helper functions to deal with States.
* DesignerSupportMetaInfo
Two helper functions to deal with meta info and notication.
DesignerMetaObject is a specialized QQmlVMEMetaObject that implments
notification of property changes and allows to create dynamic properties.
DesignerCustomObjectData provides additional data for each Object. The
main functionality atm is to keep the default values and bindings for
properties, so they can be restored.
Change-Id: I6b6f501c8c5848d62bfcb7e704bc45662e731d54
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Thiago Macieira [Sun, 23 Nov 2014 07:34:35 +0000 (23:34 -0800)]
Use the to/from Hex functions from QtCore
Change-Id: I51361cf78765d958a5eb48c6e05df6873979e6db
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Friedemann Kleint [Thu, 16 Jul 2015 14:20:14 +0000 (16:20 +0200)]
tst_qquickmultipointtoucharea: Do not rely on qCompare(bool, int,...).
The overload was added for NokiaX86 and RVCT and is bound for
removal.
Task-number: QTBUG-47260
Change-Id: I4ead3b03c979a3116278d364ef85fe7d83c5f971
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Thomas Hartmann [Wed, 15 Jul 2015 08:52:56 +0000 (10:52 +0200)]
Remove DesignerSupport from bic/data
DesignerSupport was never public API.
Change-Id: Ieec6f839173502472496ef827e60a742a0ccbe1a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 14 Jul 2015 10:26:56 +0000 (12:26 +0200)]
Adapt to deprecation of QProcess::error(...) signal
Change-Id: Icf708af4ab968c6592f78f90c3758e30dbe9195d
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Albert Astals Cid [Fri, 3 Jul 2015 09:38:50 +0000 (11:38 +0200)]
Do not leak the texture factory for cancelled jobs
Change-Id: Ie18e019402857acd17203681d45adaf32be54fcc
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Michael Brasser [Tue, 7 Jul 2015 21:51:55 +0000 (16:51 -0500)]
Fix potential use of incorrect bounds in delegate tracking.
Using GridView.SnapToRow and GridView.ApplyRange with a top margin
could lead to the view jumping (rather than smoothly transitioning)
when changing the currentIndex.
Change-Id: I6936b378220f59e8d416f7531cf8b6906c723cb2
Task-number: QTBUG-45640
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
Frank Meerkoetter [Sat, 4 Jul 2015 19:56:15 +0000 (21:56 +0200)]
Remove unused code
These methods weren't used anywhere.
Change-Id: I002bcead01fc5818846e5d3ccf06bd0adbed5f51
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Rafael Roquetto [Thu, 2 Jul 2015 12:18:10 +0000 (09:18 -0300)]
Fix tst_qqmldebuglocal on QNX.
QNX does not place library functions on the default namespace. Either use
namespace std or explicitly state the namespace prefix.
Change-Id: I1037c16316b9545ea6214289a3af9a549e83613c
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
J-P Nurmi [Mon, 6 Jul 2015 12:51:45 +0000 (14:51 +0200)]
Fix QQuickListViewPrivate::releaseItem()
Fixes a regression introduced by
1e3924d. The FxViewItem gets deleted
by QQuickItemViewPrivate::releaseItem(), so the QQuickItem pointer must
be stored before calling the base class implementation.
Change-Id: I0bcffc7bee8a4cdbebdce0fe2d2b990bfa52dc6c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 2 Jul 2015 07:51:04 +0000 (09:51 +0200)]
Use QQmlDebuggingEnabler::StartMode in connectToLocalDebugger
This unifies the API and gets rid of an ambiguous bool parameter.
Change-Id: If9d8906f9cd366cf37bd1bdded7fbd6c62146e32
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Michael Brasser [Tue, 23 Jun 2015 18:13:01 +0000 (13:13 -0500)]
Prevent errors when removing items from Repeater that reference parent.
Use the same ordering as item views and release before unparenting.
Change-Id: I0346342cfcaf9385d8385769795dd5ba35fc43aa
Task-number: QTBUG-46828
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Albert Astals Cid [Tue, 30 Jun 2015 08:35:23 +0000 (10:35 +0200)]
Fix segfault if QQuickImageResponse actually returns an error string
Change-Id: Ieda5250157dea96bcd5a86d0617f1d64156242e7
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Albert Astals Cid [Tue, 30 Jun 2015 08:38:06 +0000 (10:38 +0200)]
Improve QQuickImageResponse::textureFactory documentation a bit
Change-Id: Iabbe4fc3fe1806d8b0740fa3dd9309d6137ccbac
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Liang Qi [Tue, 30 Jun 2015 07:08:35 +0000 (09:08 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
.qmake.conf
src/qml/qml/qqmlengine.cpp
src/quick/items/qquickitemsmodule.cpp
tools/qml/main.cpp
Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136
Liang Qi [Thu, 25 Jun 2015 12:43:27 +0000 (14:43 +0200)]
ListView: more robust output in debug message
Contains essentially the same information, but allows the
item pointer to be null.
Change-Id: Ib848e0050c895facfbf13bddc6fec12df37a66ff
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Liang Qi [Thu, 25 Jun 2015 15:14:40 +0000 (17:14 +0200)]
Fixed a QQuickListView crash
When an ObjectModel item is removed and destroyed.
Task-number: QTBUG-46798
Change-Id: Ia41dd359d9f3ec5b7af85498dc798f7ab55dca3c
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Robin Burchell [Mon, 22 Jun 2015 19:42:26 +0000 (21:42 +0200)]
QQuickFlickable: Accept pixel wheel events as well as angle wheel events.
This fixes the case with two overlapping Flickables both handling
wheel events (i.e. not preventing propagation).
Change-Id: Ie59ffb02c5e9a52055678d662606543a80414c21
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Sérgio Martins [Mon, 29 Jun 2015 10:14:05 +0000 (11:14 +0100)]
Remove some char pointers from .data section
Without const the compiler introduces indirection, adds pointers in .data
pointing to .rodata. With const no indirection is needed and .rodata is used directly.
The ones I removed weren't used anywhere.
Change-Id: Iec4513469433155b2bc289cd8494edeee4986e02
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Tor Arne Vestbø [Fri, 26 Jun 2015 15:37:50 +0000 (17:37 +0200)]
Add lancelot test for Emoji text rendering / color glyphs
We test both native text rendering and distance field text rendering
(which should switch to native for the emoji glyphs automatically),
in various configurations of text color, opacity, and background
color.
Change-Id: I06178820943cd2a52cf338f7eb5c0fca881cb625
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Oswald Buddenhagen [Mon, 29 Jun 2015 08:47:36 +0000 (10:47 +0200)]
Bump version
Change-Id: If10035949b42f8481dc182af3d176e68d07d71a3
Robin Burchell [Wed, 24 Jun 2015 10:02:42 +0000 (12:02 +0200)]
QSGThreadedRenderLoop::maybeUpdate: Micro-optimize.
* Put the cheap checks (pointer ones) first
* Don't call currentThread twice as it involves a mutex lock/unlock
Change-Id: I5df92ea99b034301113e9bd34f8a66df1a7e7dfe
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Sérgio Martins [Fri, 19 Jun 2015 16:57:54 +0000 (17:57 +0100)]
Fix inefficient usages of qDeleteAll()
No reason to iterate through all items to create a temporary
QList we don't need.
Change-Id: I3c5388f026ded0290afb9dd35fc7934011c4998d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Ulf Hermann [Tue, 2 Dec 2014 14:57:06 +0000 (15:57 +0100)]
Add option to use a local socket for QML debugging
Using a TCP debug server comes with a number of drawbacks. It has a
larger overhead than other connection types, the application has to
be able to access the network and there has to be an open port we can
find somehow.
Change-Id: Ia7fb24006b89419988c6504797303d84c3aa1bbc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Liang Qi [Fri, 26 Jun 2015 12:03:55 +0000 (14:03 +0200)]
Merge remote-tracking branch 'origin/5.5.0' into 5.5
Change-Id: I4020a1b3c59dea18faf7cbcbb78b90fcfc3680f0
Gabriel de Dietrich [Wed, 24 Jun 2015 13:59:45 +0000 (15:59 +0200)]
Fix documentation for ItemSelectionModel
Change-Id: I28f61e1853ea2cc75fbf814f76a7ef09e0d17f5d
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Ulf Hermann [Mon, 15 Jun 2015 13:51:00 +0000 (15:51 +0200)]
Make QQmlDebugService ctor protected
No one needs a bare debug service.
Change-Id: I45a2f2437f51197707af2743faad1845b8007053
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Fri, 12 Jun 2015 09:53:31 +0000 (11:53 +0200)]
Load inspector plugin by IID, instead of blacklisting file names.
The previous approach only works with a very limited number of
available plugins.
Change-Id: I8515c7f329d6a2fb5ddbf7d91ac61b4ce0c4e550
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 18 Jun 2015 11:51:48 +0000 (13:51 +0200)]
Fix disabling of text input and pixmap cache tests on QT_NO_LIBRARY
This way it works with the supported -no-feature-library flag to
configure, rather than the unsupportd -D QT_NO_LIBRARY. Also, the
the parts of the tests that can be executed stay active now.
Change-Id: I082b1c84f148a10eaaf4443c931c395bdd1dc4c3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 11 Jun 2015 15:59:02 +0000 (17:59 +0200)]
Disable the memory profiler if we cannot load libraries.
Change-Id: I24c28ae2a79f382e10fa6cc5ad16f97f2806c1eb
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 18 Jun 2015 11:45:47 +0000 (13:45 +0200)]
Disable plugin loading in QQmlDebugServer if QT_NO_LIBRARY
Change-Id: I29682fc069cb457abeca90a1e1f7f7c964ed1607
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 11 Jun 2015 15:59:55 +0000 (17:59 +0200)]
Don't try to load the QML inspector plugins if QT_NO_LIBRARY
Change-Id: I5bbb9184e4a0614aad3110baef27afde947315f0
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Martin Jones [Wed, 24 Jun 2015 05:56:09 +0000 (15:56 +1000)]
Correctly initialize ListView section attached properties.
During item insertion, indexes of items in the visibleItems list were
not adjusted before new items were created. Section initialization was
broken during insertion because section calculation relies on the
indexes of the items in the visibleItems list. The incorrect section
properties caused spurious section header creation, and layout issues.
Apply the index offset before creating the new items. This mirrors what
GridView already does.
Change-Id: I549a81825cf0e979bc5830840bf6cb75c7a82cac
Task-number: QTBUG-43873
Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
Dmitry Volosnykh [Thu, 21 May 2015 07:52:49 +0000 (10:52 +0300)]
Clear stringCache explicitly instead of asserting its emptiness.
This assumption does not hold when PathView's path.pathElements list is
updated with new contents at runtime.
Task-number: QTBUG-46255
Change-Id: I6b0d7ee8ee2d67ca0138eacdf0ad221338f788e4
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Laszlo Agocs [Tue, 23 Jun 2015 16:39:40 +0000 (18:39 +0200)]
Fix missing images when alpha and shader effects are involved
Once we hit removedFromAtlas() and the glCopyTexImage2D() path, bad things
tend to happen with OpenGL ES, both on certain embedded devices (Beaglebone, RPi)
and ANGLE.
ANGLE just rejects GL_BGRA_EXT with INVALID_ENUM. So if it fails, just try
with GL_RGBA. The BGRA extensions do not mention glCopyTexImage2D in any form
and in plain GLES (any version) BGRA does not exist. So rejecting it may be valid,
depending on how one reads the specs.
Same problem on Beaglebone, where the call with BGRA fails as INVALID_OPERATION.
The RPi 1 and 2 fails in a different way: the temporary framebuffer is not complete
because BGRA textures are not supported as color attachments. So our only choice
here is to do what we do for some Android devices already: ignore BGRA support.
Task-number: QTBUG-46806
Change-Id: I89b3b38bf7f8883c39509606ec5ae525f131292b
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Nico Vertriest [Thu, 4 Jun 2015 10:41:56 +0000 (12:41 +0200)]
Doc: resize tables with overflow
Task-number: QTBUG-46475
Change-Id: Iebb2f7677f8b514d2b3e08480abfc98a0e155c1c
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Robin Burchell [Wed, 24 Jun 2015 12:44:26 +0000 (14:44 +0200)]
QJSValue: Remove no-longer-existent v8 from benchmark.
Change-Id: Ie83a4ec1d3eb20297bbb5a4a6a400091d9568a1f
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
J-P Nurmi [Wed, 24 Jun 2015 13:57:01 +0000 (15:57 +0200)]
qquicktextedit_p_p.h: cleanup unneeded include
A forward declaration of QQuickTextControl is enough. This solves
a linking error on Windows, when QQuickTextAreaPrivate inherits
QQuickTextEditPrivate.
Change-Id: I05a2fa5745e27eea51f7c0a5a0360c3fbb563544
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Robin Burchell [Sat, 6 Jun 2015 09:19:38 +0000 (11:19 +0200)]
QQuickAnchors: Use a simple sorted list rather than a QSet to remove duplicates.
This is significantly less allocation-happy than QSet (removing around 30mb of
transient allocations when creating 5000 instances of one of the creation
benchmarks).
It increases the count of delegates_tworects per frame from ~520 per frame to
~600 per frame for me.
Change-Id: If7edd56890c93e0caf7957d08e80506e87491773
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
J-P Nurmi [Thu, 18 Jun 2015 19:38:57 +0000 (21:38 +0200)]
Export QQuickTextInputPrivate and QQuickTextEditPrivate
...so that QtQuick.Controls 2 TextField and TextArea can inherit them.
Change-Id: I9383927c51a70848753a9f41f374d4161000fbb1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Robin Burchell [Mon, 22 Jun 2015 12:25:31 +0000 (14:25 +0200)]
QQuickImageBase: Use the static form of QFile::exists().
This avoids the penalty of creating a QFile along with a private, engine, etc
when we're going to do nothing with it. This raises the delegates_image creation
benchmark from ~450 to ~500 per frame for me.)
Change-Id: I7665a55a3ee23102325f5d5f330967743b0c8538
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Robert Griebl [Wed, 17 Jun 2015 14:38:47 +0000 (16:38 +0200)]
Force completion of asynchronously loaded components.
[ChangeLog][QtQuick][QQmlComponent] Synchronously complete the loading of a
Asynchronous QQmlComponent, if a PreferSynchronous QQmlComponent is created
for the same url (given that this url does support synchronous loading).
Change-Id: I3291d0569a69bac2aeb4815f1068a426ef2707ef
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Eli Fidler [Fri, 19 Jun 2015 20:44:29 +0000 (16:44 -0400)]
Support 32-bit color bitmap glyphs in native text rendering.
We had been accidentally using the 8-bit alpha glyph shader, which
resulted in rendering solid black outlines of the glyphs.
Task-number: QTBUG-37986
Task-number: QTBUG-45514
Change-Id: Ie8728d50068f58d659e24bc5db2d73e01ca8db75
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Laszlo Agocs [Fri, 19 Jun 2015 10:19:06 +0000 (12:19 +0200)]
Add a property to enable vertical mirroring in QQuickFramebufferObject
[ChangeLog] Added a mirrorVertically property to QQuickFramebufferObject.
Task-number: QTBUG-41073
Change-Id: Ib69cbfe7b2f6ae42913d857460431195ff92e53a
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Matt Vogt [Mon, 22 Jun 2015 07:40:02 +0000 (17:40 +1000)]
ListView/GridView contentHeight should include delayRemove-d items
When one or more items are in delayRemove state, the ListView's
contentHeight property should include their height. This previously
failed if the delayRemove items were at the end of the visibleItems
list. Also applies to GridView.
Change-Id: Id839e850367a3503123e8ac81dac6ebdccef1a1f
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
Julien Brianceau [Wed, 17 Jun 2015 14:39:11 +0000 (16:39 +0200)]
V4: add mips32 disassembler.
Add a rudimentary disassembler for mips32 instruction set.
Although few instructions might be missing, the whole set from
MacroAssemblerMIPS should be covered.
Change-Id: I9b1b9b40537b99098ca65036f671651d04fe1ab6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 11 Jun 2015 15:57:56 +0000 (17:57 +0200)]
Don't try to load (or unload) QML plugins if QT_NO_LIBRARY
Most of the code already has those #ifdefs, so let's add the missing
ones.
Change-Id: I2a46d5ab660daa837d9ce432184d0b55818a5dc1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Fri, 12 Jun 2015 11:07:39 +0000 (13:07 +0200)]
Smaller code cleanups
Change-Id: Id3bc6ea5615a462d7a41ceb1fa18b4fb090e0d51
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Friedemann Kleint [Wed, 13 May 2015 07:59:40 +0000 (09:59 +0200)]
Port from Q_ENUMS to new macro Q_ENUM.
Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration
as meta enum and a debug stream operator.
QQuickXmlListModel::Status is left unmodified as porting it creates
a link error in tst_qquickxmllistmodel.
Change-Id: Id5e6192c9f85e7c94332508fbd91873ddda31e1a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Erik Verbruggen [Tue, 16 Jun 2015 08:14:23 +0000 (10:14 +0200)]
V4: fix failing tests for right shifts over 0 bits on non-Intel.
Change-Id: I6a0428be2b81cb6723b591356f78712ef2cc0b8b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>