summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-0125-24/+70
|\ | | | | | | Change-Id: I0653ca8dd6a9b6ee2314911c7679a1c056dc3709
| * QXmlQuery: fix smart pointer typeMarc Mutz2016-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | m_resourceLoader is a QExplicitlySharedPointer<DeviceResourceLoader>, and ResourceDelegator inherits DeviceResourceLoader, but the newly-allocated object was constructed into a QExplicitlySharedPointer<ResourceLoader>. Benign, but wrong. Found while trying to compile the module without QT_ENABLE_QEXPLICITLYSHAREDDATAPOINTER_STATICCAST. Change-Id: I6f0e7bd50488ae6db6ab6c7022503332cd8523f1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Fix type of QCommonValues::YearMonthDurationZeroMarc Mutz2016-07-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported by UBSan: src/corelib/tools/qshareddata.h:167:13: runtime error: downcast of address 0x0000023ce510 which does not point to an object of type 'DayTimeDuration' 0x0000023ce510: note: object is of type 'QPatternist::YearMonthDuration' 00 00 00 00 90 6c 52 5b 1f 2b 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QPatternist::YearMonthDuration' Another victim of QT_ENABLE_QEXPLICITLYSHAREDDATAPOINTER_STATICCAST... Change-Id: I121433e0d2ad8b203ccf9d9f08bd166b39502cbb Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Correct return type of QXmlQueryPrivate::staticContext()Marc Mutz2016-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported by UBSan: qtbase/src/corelib/tools/qshareddata.h:167:13: runtime error: downcast of address 0x2ac9a801a410 which does not point to an object of type 'GenericStaticContext' 0x2ac9a801a410: note: object is of type 'QPatternist::StaticFocusContext' 00 00 00 00 28 95 b7 9d c9 2a 00 00 01 00 00 00 c9 2a 00 00 f0 a1 01 a8 c9 2a 00 00 70 fa 0b 02 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QPatternist::StaticFocusContext' I had no idea how the QExplicitlySharedDataPointer conversion could ever compile, until I saw that this module defines QT_ENABLE_QEXPLICITLYSHAREDDATAPOINTER_STATICCAST which is, of course, utterly broken. Change-Id: Ie392ba74438b6c75fde9fabe09f9b0e655489cd9 Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Item: replace a Q_ASSERT with a Q_STATIC_ASSERTMarc Mutz2016-07-191-1/+1
| | | | | | | | | | | | Change-Id: I32927731c73b5335f2589c0754ffef2cf0d5ed3f Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Add some missing initializationMarc Mutz2016-07-193-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported by UBSan: xmlpatterns/expr/qorderby_p.h:78:15: runtime error: load of value 11181584, which is not a valid value for type 'Direction' xmlpatterns/expr/qorderby_p.h:78:15: runtime error: load of value 32766, which is not a valid value for type 'OrderingEmptySequence' xmlpatterns/schema/qxsdstatemachine_p.h:66:11: runtime error: load of value 2979516404, which is not a valid value for type 'NodeName' xmlpatterns/schema/qxsdschemaparser.cpp:340:67: runtime error: load of value 40, which is not a valid value for type 'bool' The init values are chosen to match what zero-initialization would have chosen. Change-Id: Iaf69720476cfe6c117dc2c91f39801a0be8bde54 Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Unbreak ubsan developer-buildMarc Mutz2016-07-1218-15/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC's undefined-behavior sanitizer checks that the declared type of the object is a base class of the dynamic type of the object on each access to a member of a class type. It therefore requires the typeinfo for these types, which for polymorphic types is emitted in the TU where the vtable is emitted, too. QtPatternist::AtomicValue is a polymorphic non- exported class, so this failed at link-time. Ditto for the other cases. Fix by autotest-exporting the classes. Also, where applicable, de-inline the dtors, so the vtable (and typeinfo) are pinned to one TU. Change-Id: I5c47be779a3833433a7108a79a57d61a93ab5494 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix -Werror=duplicated-condFrederik Gladhorn2016-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This bit of error handling is actually not checking what was originally intended - doing manual pluralization of the error message. Fix it to at least compile with -Werror (gcc 6.1.1). parser/qmaintainingreader_tpl_p.h:204:26: error: duplicated ‘if’ condition [-Werror=duplicated-cond] Change-Id: Ia81ad3c8c1393d08da0a229c4625504faf56c184 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-301-1/+1
|\ \ | |/ | | | | Change-Id: I0b372947924113abfb00d77a655d71c43324ef99
| * XsdElement: Initialize member m_isNillableEdward Welbourne2016-05-311-1/+1
| | | | | | | | | | | | | | As pointed out by Coverity (CID 22378). Change-Id: Ibeb06c49b8ead1925bc0377bcaef6109f7f8e53c Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-191-1/+1
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I477b9d55e20afa1040c026c682e2647ecf50ea86
| * Doc: Remove repository name from examplesinstallpathv5.6.1-1v5.6.15.6.1Topi Reinio2016-05-121-1/+1
| | | | | | | | | | | | | | | | Examples in binary packages now directly match the install path. Change-Id: Ie5faec6f18ffb65affa1b277bb3f6b3f5c66fb44 Task-number: QTBUG-52953 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-beta1Liang Qi2016-04-081-120/+120
|\ \ | |/ | | | | Change-Id: I73a017a419830e8b594a946f969feb6ea225aeb9
| * Add some QChar::unicode() calls to brush over deprecation warning.Friedemann Kleint2016-04-061-120/+120
| | | | | | | | | | | | | | ... introduced with e0ea0f6178 in QtBase. Change-Id: I164d2696668ab2823a89b866804cd52c64dbb90d Reviewed-by: hjk <hjk@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-074-5/+5
|\ \ | |/ | | | | Change-Id: Idb463224cc65c6337e0bc484f443470a88a48aa1
| * Make public headers compile with -Wzero-as-null-pointer-constantMarc Mutz2016-03-023-3/+3
| | | | | | | | | | | | | | | | | | | | | | ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Task-number: QTBUG-45291 Change-Id: Ia5d1ab50f82abad6e51bcd5883e22595eaaedc33 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-2/+2
| | | | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. this fixes no extant problems in this module. Change-Id: I04f5fbd023b6c15de647c513386ddb05bb166142 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-alpha1Liang Qi2016-02-152-15/+5
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I1c0ac322f30448a64b55b1ef60f60326ca0171a6
| * Doc: removed links to QObject XML Model Examplev5.6.0-rc1v5.6.05.6.0Nico Vertriest2016-01-281-1/+1
| | | | | | | | | | | | | | | | | | Uses Qt Webkit which is not part of 5.6 Task-number: QTBUG-43810 Change-Id: I89d74eb9555f04f90f930fa52a834997b5f1e99d Reviewed-by: Martin Smith <martin.smith@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Fix QAbstractMessageHandler's docs regarding thread safetySergio Martins2016-01-151-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The QMutexLocker's usage was bogus, it didn't do any locking because it was being created as an anonymous temporary. It's too late in the game to fix the locking. The user's virtual function might have it's own locking to workaround this bug and might re-enter Qtxmlpatterns API causing a dead-lock. So instead, make the docs consistent with the current behavior. Change-Id: I4d2bdb1431b44262583abf48f795067ed37281d5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Updated license headersAntti Kokko2016-01-21726-10221/+14601
| | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I34265811e603ad9c5a7adcaab7791a521ae0ffb8 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-101-1/+1
|\ \ | |/ | | | | Change-Id: Iaf57c1b0beffdceb3f0533aa77ba536ec4c373a9
| * Doc: Update examplesinstallpath to include the repository nameTopi Reinio2015-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The examplesinstallpath variable in .qdocconf files defines the path under QT_INSTALL_EXAMPLES where examples are found. To match the way examples are packaged in Qt 5.6, prefix the install path with the repository name. Task-number: QTBUG-48736 Change-Id: Ib00fdd4029f62f9e75eddf5cf58eec8cd1c405bb Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Use simpler version of qdtoa()Ulf Hermann2015-10-214-23/+5
|/ | | | | | | | This allows us to remove the original qdtoa() as qtxmlpatterns is the last client outside qtbase. Change-Id: Ic447898818c7cd1b117f0df87cc83f7b60a5d9c7 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-083-2/+16
|\ | | | | | | Change-Id: I9a379d34bf80344de9b6e9465e6f35fca7fd1a12
| * Iterate Over the Items (Not the Operands) of a Literal SequenceDavid E. Narvaez2015-07-293-2/+16
| | | | | | | | | | | | | | | | | | | | The current code iterates over the (empty) list of operands of a Literal Sequence, ignoring any items in it, so Literal Sequences are always ignored in the ExpressionSequence. Task-number: QTBUG-35897 Change-Id: I60341ac21c8e3b77bf6d8dfeebdbafe010844406 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Doc: Fix linking issuesTopi Reinio2015-10-052-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | QXmlName has overloads for its functions, marked \internal, and QDoc fails to link to the public ones because it sees the internal ones first. As a workaround, exclude parentheses from the link - QDoc then uses a different code path which resolves the functions correctly. Change-Id: I0470cfd67c5d089ca586fd2debcb7b71c606a716 Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
* | Doc: Replaced \target with \keyword right after \startpageNico Vertriest2015-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | A \target whose purpose is to link to the top of a page (and not to a section within a page) works better as a \keyword, because \target generates a new html anchor which, in this case, is not tied to any title element on the page. A \keyword links to the page itself, as expected. Task-number: QTBUG-48482 Change-Id: I0d55924f66c26f3fb23a07be1f1d57f2105c879d Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | OrderBy: Replace deprecated qLess by std::less.Friedemann Kleint2015-09-071-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warning: expr\qorderby.cpp:79:7: warning: 'template<class T> class qLess' is deprecated [-Wdeprecated-declarations] class qLess<Item::List> ^ In file included from qtbase\include\QtCore/qalgorithms.h:1:0, from qtbase\include\QtCore/QtAlgorithms:1, from expr\qorderby.cpp:34: qtbase/src/corelib/tools/qalgorithms.h:150:40: note: declared here class QT_DEPRECATED_X("Use std::less") qLess ^ expr\qorderby.cpp: In member function 'virtual QAbstractXmlForwardIterator<QPatternist::Item>::Ptr QPatternist::OrderBy::evaluateSequence(const Ptr&) const': expr\qorderby.cpp:172:11: warning: 'template<class T> class qLess' is deprecated [-Wdeprecated-declarations] const qLess<Item::List> sorter(m_orderSpecs, context); ^ In file included from qtbase\include\QtCore/qalgorithms.h:1:0, from qtbase\include\QtCore/QtAlgorithms:1, from expr\qorderby.cpp:34: Change-Id: Ieb626eb0de96aea670433bb46a52ed780240e8d7 Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
* | Remove the use of the "register" keywordThiago Macieira2015-08-061-5/+5
| | | | | | | | | | | | | | | | | | It's deprecated in C++14. Found by Clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register] Change-Id: Ib306f8f647014b399b87ffff13f23d75e8255950 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-2915-4305/+3776
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I56232f2e3996efa9804cfabae61db765629e060a
| * Implement bison parser stack re(al)location.Erik Verbruggen2015-06-108-814/+916
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The elements on the parser stack are of a complex type, which bison generated parsers don't know how to reallocate when they need to grow the stack. This patch implements yyoverflow, which is called whenever the parser runs out of stack space. The size of the elements is quite large (152 bytes on x86_64), so the initial stack (which is allocated on the C stack) is set to 1 element. Any subsequent reallocations are done by using QVector for reallocation, copying the elements, and handling the deallocation. Because of the size of the elements, the stack (vectors) are grown linearly. The upper limit of the stack size if left at 10000 elements, which should really be enough for an lalr(1) grammar. Task-number: QTBUG-4470 Change-Id: Ic1ef08655b388c38ef452d03a425cbd31b91825b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Prefixed all tokens with T_ to prevent collisions with macros.Erik Verbruggen2015-06-1011-4205/+3574
| | | | | | | | | | | | | | | | Identifier names like "IN" and "AS" have a high probability of being defined by certain platforms as macros, esp. with Visual Studio. Change-Id: I1fbc0ae33f94387b83377181b6012683a418459a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-031-1/+4
|\ \ | |/ | | | | Change-Id: I40f55a4eabaf2d0d6bcda0a4b6111b27130f24f3
| * Skip op-numeric-unary-minus-1 testcase because it crashes.Jan Arve Saether2015-04-151-1/+4
| | | | | | | | | | | | | | | | | | It seems to require a larger refactoring in order to solve this, so we skip this for now in order for us to be able to run the remaining tests in CI. Change-Id: I2ae4860a92cdb7fb88ca89c4dd1f047bacbaaf9e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Use QSet::intersects() instead of QSet::intersect()Sergio Martins2015-05-302-2/+2
| | | | | | | | | | | | | | It's much faster Change-Id: I959559a442ab6acf424d7798b9bcd01ab29e65e3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Make MergeIterator a trivial global static.Sergio Martins2015-05-301-7/+1
| | | | | | | | | | | | | | | | No need to initialize it before main. Change-Id: I2ebc9a2b04a58275570e967c17ace9028f11d5ba Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Use QVector::reserve()Sergio Martins2015-05-281-2/+4
| | | | | | | | | | | | Change-Id: I86391bf0ede4fb32037b4e98889650e36ef5d279 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Replace containsSet() with QSet::contains()Sergio Martins2015-05-261-15/+2
|/ | | | | | | | We have a QSet::contains() since 4.6. Change-Id: Idbafeec6e58aadff4a07e7ed50ac54dc8738623a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Rename private header qdebug_p.h to qxmldebug_p.h.Friedemann Kleint2015-04-077-6/+6
| | | | | | | | | Avoid conflicts with the newly introduced qdebug_p.h of QtCore. Change-Id: I04b83e159900d9d36fa96ae5112eb4cdf75c0551 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-17746-5379/+5283
| | | | | | | | | 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: I1dc468d4e08c2dfdc4643410220f18bc8ec450b9 Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-132-3/+2
|\ | | | | | | Change-Id: I3c94e9239cc94cfd3e12a72646314e3687e82d8b
| * Doc: link issue qtxmlpatternsNico Vertriest2015-01-192-3/+2
| | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: Ibc6b27e1935d54e90a8842e788b20dd472472065 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-195-27/+55
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Id327fd1d5933b38c3fcc3f7e9edadb34aaf7a059
| * Doc: fix issues to display examples in Qt Creatorv5.4.15.4.1Leena Miettinen2015-01-055-27/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | - Add \brief commands to example docs to show descriptions - Add an examples page with the \group command - Link to the examples page from the module index page - Edit the .qdocconf file - Edit the .gitignore file to allow pushing changes to examples - Add a generic thumbnail image for C++ Code Analyzer example Change-Id: I1a313ae26664ce9fc50ef8962f0facd57dea546b Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Add support for QtInfoMsgKai Koehne2015-01-121-2/+2
| | | | | | | | | | | | | | | | | | Replace the generic default label by the new QtInfoMsg enum, which got added to Qt5Core. Change-Id: Ia56d24f29519d8f9c8f184d74b77292ecbb0bd4b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add default label to QtMsgType switch statementKai Koehne2014-12-201-0/+1
| | | | | | | | | | | | | | | | | | This enables us to add a new QtInfoMsg message type to qtbase without breaking qtxmlpatterns. Change-Id: Ia4dcee9390eb6b7fc02cf10067317879e931a092 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-0918-46/+170
|\ \ | |/ | | | | Change-Id: I4a853063ea9aaeb5d7055d4652be6faef468236e
| * Doc: Applied title case to section1 titlesv5.4.0-beta1Nico Vertriest2014-10-092-4/+4
| | | | | | | | | | | | Task-number: QTBUG-41250 Change-Id: I3155acb9a6813b0309de7fa0542f29c5a3a46b17 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Don't spin a nested event loop for loading schemas synchronously over HTTP.Pierre Rossi2014-09-222-42/+12
| | | | | | | | | | | | | | | | | | | | Instead, use the internal synchronous load API in QNAM that relies on a separate thread with a blocking queued connection, just like QtWebKit does for synchronous XHR. FTP doesn't support this attribute, so we have to keep the event loop trick for that one. Change-Id: I785fa6d967160552b31778fcfc120d7ec4194a08 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>