summaryrefslogtreecommitdiffstats
path: root/src/xml/dom
Commit message (Collapse)AuthorAgeFilesLines
* Extract method `bool QDomNodeListPrivate::maybeCreateList()`Isak Fyksen2024-03-202-14/+14
| | | | | | | | | | | | Extract duplicated logic to own method, and call where previously used. Also, make `QDomNodeListPrivate::[list|timestamp]` mutable, to allow `maybeCreateList()` and `createList()` to be `const` methods, and avoid `const_cast` in `QDomNodeListPrivate::length()`. Task-number: QTBUG-115076 Change-Id: I4f3a27315da28082a12cc4f5653567039b4cb376 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QtXml: fix leak in QDomText::splitTextChristian Ehrlicher2024-03-022-0/+7
| | | | | | | | | | QDomText::splitText() needs to unref() the newly created QDomText instance as it does not use it by itself Pick-to: 6.7 6.6 6.5 6.2 5.15 Fixes: QTBUG-40561 Change-Id: I593011b63c39f2310204d97ec61da7cf78a0fc14 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QDom: give name to all anonymous parameters as well as too generic onesSamuel Gaist2024-02-082-208/+207
| | | | | | | | | | | | | | | This patch has several different goals: - Make the QDom classes easier to use through PySide6 by avoiding the the generation of variable names that have no meaning. - Make the code cleaner as using unrelated single letter parameter is not the best way to convey the information. - Improve the documentation. - Make qdoc's work easier Fixes: QTBUG-121670 Task-number: QTBUG-121468 Change-Id: Ia31d119b3a1cc3c92ed6f77a60280191db3b74bc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: QDomDocument doc refers to QXmlQuery which doesn't exist in Qt6Jaishree Vyas2024-02-051-2/+2
| | | | | | | | | Remove QXmlQuery from the docs Fixes: QTBUG-120530 Pick-to: 6.5 6.6 6.7 Change-Id: Ic7927375701fbcdf106f90fbea8ea3aac2df8f5a Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* xml: add parameter name to toString and toByteArray for PySide6Samuel Gaist2024-01-311-2/+2
| | | | | | | | | | | This change will allow Shiboken to generate proper bindings as otherwise the python code will get an anonymous parameter which is not really helpful for understanding the role of the parameter nor explicitly set it. Fixes: QTBUG-121468 Change-Id: I02943223eef99d815ef68e9603736cc064843fb0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix copy/paste typo in qdom.cpp leading to wrong errorColumnDavid Faure2023-10-021-1/+1
| | | | | | | | Detected by KDReports unittests ;-) Pick-to: 6.5 6.6 Change-Id: I33ab4c16a0fa55d7feffccc807998213132676fb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: Remove link to removed exampleKai Köhne2023-08-071-1/+1
| | | | | | | | | Example got removed to tesets/manual in 8937169c190246ebc85df242f85b3 Pick-to: 6.5 6.6 Change-Id: Ica1470b6b478f49e318ea51f244c599cd12bf5a3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Doc fix: QDomDocument::ParseResult is false on errorEdward Welbourne2023-07-121-2/+2
| | | | | | | | | | | The documentation claimed the exact opposite of what the implementation did. Since callers use it the way it's implemented, fix the doc. Fixes: QTBUG-112895 Pick-to: 6.6 6.5 Change-Id: I74d6259727c7af7265224c6d79ba39265663704b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Fix links to QDomDocument::setContent()Kai Köhne2023-05-051-0/+1
| | | | | | | | | Mark the deprecated signature as overload. Otherwise qdoc does not know which method to link to in case of \l setContent(). Pick-to: 6.5 Change-Id: I48a4cee39cd870c960decf0bc1bb9b6dffcbbd70 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Revamp DOM Bookmarks exampleØystein Heskestad2023-05-041-2/+1
| | | | | | | | Fixes: QTBUG-111974 Pick-to: 6.5 Change-Id: Ia62eaf36f616278e49112884db8aec37e2b1dcc5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Implement QXmlStreamReader::hasStandaloneDeclaration()Axel Spoerl2023-04-261-2/+1
| | | | | | | | | | | | | | | This patch implements a public getter for the hasStandalone attribute. It returns true, if standalone has been explicitly declared in an XML header and false otherwise. As this is no longer necessary it removes accessing QXmlStreamPrivate from QDomParser. [ChangeLog][QtCore][QXmlStreamReader] added hasStandaloneDeclaration() Change-Id: Iaaa0a728a6f7186e40637186077f7b49c112f7a9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Yuhang Zhao <yuhangzhao@deepin.org>
* QDomDocument: no longer drop a provided 'standalone' attribute if 'no'Axel Spoerl2023-04-241-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Definition of 'standalone' attribute: An XML declaration containing the attribute 'standalone' with its value set to 'yes', tells the parser to ignore markup declarations in the DTD and to use them only for validation. The declaration attribute is optional and defaults to 'no'. - Behavior Qt5 In qt5, DOM documents contained the standalone attribute, regardless of whether or not it was explicitly specified. - Behavior Qt6 In Qt6, the standalone attribute was only contained in a DOM document, if its value was 'yes'. If it was explicitly declared with the value being 'no', it was dropped in the DOM document. - Expected behavior If the source specified it overtly, then the generated XML should contain the attribute, even when it takes its default value. - Code base QXmlStreamReader provides a public bool getter isStandaloneDocument(). This says whether the document is standalone or not. The information whether the attribute was actually specified gets lost. In consequence, the attribute was always dropped on non-standalone documents. - Fix This patch makes hasStandalone a member of QXmlStreamReaderPrivate, to record whether the attribute has been explicitly specified. QDomParser is modified to retain the standalone attribute, if QXmlStreamReaderPrivate::hasStandalone is true. - Test The patch adds a test function in tst_QDom. Fixes: QTBUG-111200 Pick-to: 6.5 6.2 Change-Id: I06a0f230a2d69597dd6453f8fd3b036943d08735 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QDom: Don't reuse a moved-from objectMårten Nordheim2022-12-141-4/+5
| | | | | | | | | Code checker doesn't like that we simply assign to the moved-from object's member, so create a separate object to be nice. Pick-to: 6.5 Change-Id: I07c83cb051d87b33cc2d4f34078c50805c312ea6 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QDomDocument: ensure a defined order of attributes when savingGiuseppe D'Angelo2022-12-091-23/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XML does not impose any semantics based on the order of the attributes; they're an unordered set. Quoting [1]: > Note that the order of attribute specifications in a start-tag or empty-element tag is not significant and [2] 2.2.5: > An unordered set of attribute information items Still, using a QHash-based implementation to store attributes is annoying, because one cannot serialize the document in a stable way. The order of attributes is going to depend on the QString hash function (which we can change at any time) and the QHash seed (which is random and changes at every run). In other words, saving the same DOM will yield non deterministic outputs. That's annoying for testing, reproducible builds, and so on. Switching to an _ordered_ associative container for storing attributes won't, on its own, ensure any specific ordering. That's because: * attributes are currently kept associated using their name as the key, ignoring an eventual namespace prefix; * there's some convoluted logic that sometimes emits attributes in the xmlns namespace (to qualify a prefix). Hence, just go for the straightforward implementation and sort the attributes before streaming them. In the main loop I could have used a range-based for loop over the associative container used for attributes; since it's a Qt container, it would have yielded just the values in the map, and we are not interested into the keys. However I'm preparing for further changes down the road, so I'm opting for key/value iteration. I'm deliberately not offering an opt-out because: * I don't think this is so expensive to justify an opt-out; * I'm going to remove QHash anyways in a follow up commit. [1] https://www.w3.org/TR/xml11/#sec-starttags [2] https://www.w3.org/TR/xml-infoset/#infoitem.element Task-number: QTBUG-76800 Task-number: QTBUG-25071 Change-Id: I6282ae2ccbee9c0099f138de48b94bb7c40b3680 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QDomDocument: use .value() instead of dereferencing an iteratorGiuseppe D'Angelo2022-11-301-9/+9
| | | | | | | | | | | | Do not assume that, given an iterator into an associative container, you can write `*it`. Use `it.value()` instead. This is done in preparation for the next commit. Also, drop the const-prefix from functions (find, begin) where they operate on a const container already. Change-Id: I2cafc884666d98c240c2fdc661c9068c4c7319e1 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QDomDocument: deprecate old setContent() overloads in favor of new onesSona Kurazyan2022-08-172-1/+22
| | | | | | | | | | | | And use the new overloads in examples and tests. [ChangeLog][QtXml][QDomDocument] Deprecated the old setContent() overloads in favor of the new ones that take ParseOptions and ParseError. Task-number: QTBUG-104507 Change-Id: I61b37eba2fe3002c03bddc90f6877676d539f7ec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDomDocument: Add a way to enable spacing-only text nodesSona Kurazyan2022-08-044-8/+17
| | | | | | | | | | | | | | | | Added a parse option that can be passed to setContent(), to specify that spacing-only text nodes must be preserved. [ChangeLog][QtXml][QDomDocument] Spacing-only text nodes can now be preserved by passing the ParseOption::PreserveSpacingOnlyNodes option to setContent(). Fixes: QTBUG-104130 Fixes: QTBUG-89690 Task-number: QTBUG-90003 Change-Id: Id43730ce5b79a856c4b434d1f1d4dd7c49c25f31 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDom: use QDomDocument::ParseResult for storing the error infoSona Kurazyan2022-08-033-26/+9
| | | | | | | | | | | | And use the new struct as a result type for error getters instead of std::tuple. The line and column numbers, therefore, grow to qsizetype instead of int. As a drive-by, make the getters inline. Change-Id: Iad652063af2c9183cb60f27320c2a800ae28ba36 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Improve QDomDocument::setContent() APISona Kurazyan2022-08-035-65/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new setContent() overloads, that: - take parameter of new ParseOptions enum type for specifying the parse options that can be used for enabling namepsace processing and, in future, whitespace-only text nodes, etc. - use ParseResult for returning the information about error message, line and coulmn number, instead of three parameters for each. - use QAnyStringView for a QString input data. To avoid ambiguities when calling setContent() with one argument, removed the default argument for errorString from all the overloads. [ChangeLog][QtXml][QDomDocument] Added new setContent() overloads that allow specifying different parse options through ParseOptions flags. These overloads use a new ParseResult struct for returning the information about an error, and QAnyStringView for passing string input. [ChangeLog][QtXml][QDomDocument][Potentially Source-Incompatible Changes] setContent() overloads that take only one argument now return ParseResult instead of a bool. ParseResult explicitly converts to bool, so the expressions calling setContent() with one argument will continue compiling, if they are contextually convertible to bool. If an implicit convertion is required (e.g. bool b = doc.setConetnt(data)), the result needs to be explicitly converted to bool first (e.g. bool b = bool(doc.setConetnt(data)). Task-number: QTBUG-104507 Change-Id: If6a78f8c9b1458f0e3ae719bfd3703a0b965449c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: Document protected variable as internalKai Köhne2022-07-221-0/+6
| | | | | | | | | Fixes qt5/qtbase/src/xml/dom/qdom.h:200: (qdoc) warning: No documentation for 'QDomNode::impl' Task-number: QTBUG-105091 Change-Id: Ib4341aac7f01878bf63dab07d6905cb1efee5123 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QDomDocument: add a missing full-stop to a warning messageSona Kurazyan2022-07-121-2/+2
| | | | | | Change-Id: I3c44afa466cbcb12fc0b44ad8bd1b52ded5f4ddd Pick-to: 6.4 6.3 6.2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDomDocument: fix the formatting of setContent() declarationsSona Kurazyan2022-07-121-6/+6
| | | | | Change-Id: I4f6c29b2c6b8887aaf380b0c7963be2cd0b877e9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDom: Use the default for assignment operators in QDom* classesSona Kurazyan2022-07-051-53/+14
| | | | | | | | | | | These classes are all derived from QDomNode, and their assignment operators are directly or indirectly calling the ones from QDomNode by explicitly converting to it. We can just use the default assignment operators instead. Change-Id: I1e3d4eef2188d124e5d54a909eb18bb93ddaa110 Pick-to: 6.4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDomDocument: some doc fixesSona Kurazyan2022-07-051-8/+4
| | | | | | | | | | | - removed outdated docs about QXmlParseException (a leftover from SAX-based implementation) - replaced 0 with nullptr - fixed a typo Change-Id: I96362be8bb6a5f1b23eb8999416b6b04228e0a5f Pick-to: 6.4 6.3 6.2 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add QDom internalSubset implementationYe ShanShan2022-06-232-0/+34
| | | | | | | | | | | | QDom's internalSubset() always returned empty because nothing actually set the internal data member it returns. When parsing the DECLTYPE, extract the internal subset and save it to the doctype()'s member when present. Pick-to: 5.15 6.2 6.3 6.4 Fixes: QTBUG-53661 Change-Id: I6e41ff8b914381168246073b3289d82205b1c255 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QDom: Clean-up warnings about old-style cast usesSona Kurazyan2022-06-221-62/+66
| | | | | Change-Id: I7cf2089f34e46a901f8b03987feed24773a72c00 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QDom: Stop treating non-BMP characters as invalidSona Kurazyan2022-06-201-4/+5
| | | | | | | | | | | | | According to https://www.w3.org/TR/REC-xml/#NT-Char unicode characters within the range of [#x10000-#x10FFFF] are considered to be valid, so fix the check for valid characters accordingly. This requires changing the loop over the input QString to iterate over code points (instead of code units). Fixes: QTBUG-104362 Pick-to: 6.4 6.3 6.2 5.15 Change-Id: I7dcf5cad05265a54882807a50522d28b647e06ee Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove a misleading sentence from QDomDocument::setContent() docEdward Welbourne2022-06-171-3/+1
| | | | | | | | | | | | QXmlReader has been replaced by QXmlStreamReader and, either way, there is currently no way to over-ride the purging of space-only nodes. Task-number: QTBUG-103753 Pick-to: 6.4 6.3 6.2 Change-Id: I7bae72d81f1b2503f93c691081137b4f60eeadda Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Fix typos in docs and commentsKai Köhne2022-06-151-1/+1
| | | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: Ie3e301a23830c773a2e9aff487c702a223d246eb Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-165-190/+10
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtXml: replace QLatin1String uses with _L1 or _sSona Kurazyan2022-04-282-34/+37
| | | | | | | | | | As a drive-by, fix qsizetype -> int narrowing conversion warnings for the touched lines. Task-number: QTBUG-98434 Change-Id: I4f337501e4cf445ded75b414a41bbd85dfd38900 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QtXml: stop using QLatin1Char constructor for creating char literalsSona Kurazyan2022-04-272-26/+22
| | | | | | | | Required for porting away from QLatin1Char/QLatin1String in scope of QTBUG-98434. Change-Id: Ic3e2391dc104f9f4f580166ce4211040fbda7bb0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDom: optimize an atomic readMarc Mutz2022-04-061-1/+1
| | | | | | | | | | | | | | | | | | By the time setNodeValue() gets its hands on the removed object, the removeChild() function has already called removed->ref.deref(), which performs an acquire fence if the ref-count drops to zero. IOW: if removed->ref == 0 now, then an acquire fence has been executed. If ref != 0, then we're not reaching into removed, so we need no acquire. Therefore, a relaxed load suffices (as opposed to the loadAcquire() the implicit conversion operator performs). Found by disabling QAtomic<T> -> T implicit conversions. Change-Id: I367754fde0ad82db797161b5e94e2ebc08a90c0b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDom: preserve empty CDATA sectionsMarc Mutz2022-03-261-1/+1
| | | | | | | | | | | | Restores Qt 5 behavior. Fixes: QTBUG-101992 Pick-to: 6.3 6.2 Change-Id: I3b9fc077c0a0fd30f4fcce7bfa342dbe96b2c582 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QDom: remove uneeded toString()Marc Mutz2022-03-261-1/+1
| | | | | | | | | The trimmed() function is available on QStringView, too. Pick-to: 6.3 6.2 Change-Id: I0cfde56d910da5abbebfb57396b22a1d21bdf763 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix deprecated uses of QScopedPointerMårten Nordheim2022-03-081-7/+8
| | | | | | | | | By changing it to unique_ptr. Pick-to: 6.2 6.3 Change-Id: I91abb69445b537d4c95983ae735341882352b29d Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make sure all qtbase private headers include at least one otherThiago Macieira2022-02-242-3/+3
| | | | | | | | | | See script in qtbase/util/includeprivate for the rules. Since these files are being touched anyway, I also ran the updatecopyright.pl script too. Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove leftovers for supporting SAX-based implenentation of QDomDocumentSona Kurazyan2021-11-263-66/+14
| | | | | | | | | | | | | | | | QXmlDocumentLocator was introduced, so that QDomBuilder can work with both QXmlStreamReader and QXmlInputSource. It had two subclasses - QDomDocumentLocator and QSAXDocumentLocator, to allow getting line and column numbers while parsing, depending on the implementation. QSAXDocumentLocator was removed when removing SAX-based implementation (79e0374143ab385cb12a17443e91c8eb9d2f3a4b), and now it doesn't make sense to keep QXmlDocumentLocator/QDomDocumentLocator, we can get line and column numbers form QXmlStreamReader directly. Change-Id: I75f4a776472ee31ddc3685a999f356be9bf47ac5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QDomDocument::setContent: Open device if necessaryFabian Kosmale2021-11-091-0/+16
| | | | | | | | | | | | This restores the Qt 5 behavior in Qt 6, but prepares for disabling it in Qt 7. We want to deprecate the current behavior, as it makes it unclear who is responsible for calling close. Fixes: QTBUG-97747 Pick-to: 6.2 Change-Id: I2c99eb96667e784576d8850085068ca334d75b16 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* xml: Fix typos in documentationJonas Kvinge2021-10-121-2/+2
| | | | | | Pick-to: 5.15 6.2 Change-Id: Ie2a4df380dc2e519a55db4457bd17e326e62046f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* xml: Fix typos in source code commentsJonas Kvinge2021-10-123-7/+7
| | | | | | | Pick-to: 6.2 Change-Id: I33aaefec7128009ca5e1b368fdb67e2fbcd06e30 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Use \deprecated instead of \obsoletePaul Wicking2021-05-261-1/+1
| | | | | | Task-number: QTBUG-93990 Change-Id: I4e512354a49dde6678ca89cabc56bc76ba666bb3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* The condition 'if(oldChild)' is redundantZou Ya2021-03-031-4/+2
| | | | | | | | | | Either the condition 'if(oldChild)' is redundant or there is possible null pointer dereference: oldChild. Pick-to: 6.1 Change-Id: I28971cfa33294679ddd325158669b422b3a1c2eb Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Remove the qmake project filesJoerg Bornemann2021-01-071-5/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Deprecate QScopedPointer::take()Giuseppe D'Angelo2020-11-201-2/+3
| | | | | | | | | | | | | | | | | | | We've decided that QScopedPointer shouldn't be movable, because it would break the semantics of being "scoped" (the pointer/pointee won't survive the scope). Then, QScopedPointer shouldn't allow for take() either. If you need those semantics, reach for unique_ptr. [ChangeLog][QtCore][QScopedPointer] The take() function has been deprecated. This was an API mistake, as it allowed the pointer/pointee to escape from the scope, defeating the point of the QScopedPointer class. If you need such semantics, use std::unique_ptr (and call release()). Change-Id: I3236f085f763b04eb98e3242abc06f7c54fb3d8b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Adjust code format, add space after 'if'Zhang Sheng2020-11-161-21/+21
| | | | | | Change-Id: Ice081c891ff7f4b766f49dd4bd5cf18c30237acf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Remove dead codeLars Knoll2020-10-122-33/+0
| | | | | | | This code has been deprecated in Qt 5. Change-Id: Ia8e0bc791ac1f43df7124b4f30db3d0bb9966015 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix a double deletion in QDomAttr::setNodeValue()Friedemann Kleint2020-09-181-1/+3
| | | | | | | | | | Check the reference count before deleting. Patch as contributed on bug report. Pick-to: 5.15 5.12 Fixes: QTBUG-86547 Change-Id: I2cb197e3eeda7ade2442c23f6b4f1ae6ff2ff810 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the SAX parser from QtXmlLars Knoll2020-09-154-405/+2
| | | | | | | | It has been deprecated and will live in qt5compat from now on. Fixes: QTBUG-86480 Change-Id: I3744c7cee058d51d0fce633a174ab1a0f9235d2c Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>