summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix invalid QSortFilterProxyModel::dataChanged parametersWang ChunLin2020-11-301-9/+13
| | | | | | | | | QSortFilterModel shouldn't forward dataChanged() when the source model changes data in columns that the filter model refuses Fixes: QTBUG-86850 Pick-to: 5.15 Change-Id: I26565d119d2aa36ea07b3de0c15f1b137bc002f8 Reviewed-by: David Faure <david.faure@kdab.com>
* Restore QOpenGLVersionFunctionsFactory entry in changes docsLaszlo Agocs2020-11-301-0/+6
| | | | | | | | | This used to be present in source-breaks.qdoc in qtdoc, but seems this one note went missing when merging the content to other places. Pick-to: 6.0 Change-Id: Idfd165eb1c7616c595f7a6515cc98d8477671e09 Reviewed-by: Jerome Pasion <jerome.pasion@qt.io>
* Fix typo in rhiAntti Määttä2020-11-271-1/+1
| | | | | | Pick-to: 6.0 Change-Id: I2e920e8e68b7010b565c422bb26708d172d345e8 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix warning about copy during range iterationTor Arne Vestbø2020-11-271-1/+1
| | | | | | Pick-to: 6.0 Change-Id: I6c916d79a5e86502a1fdfd5f2b851f4a4396149a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make QCollatorSortKey's operator<() a hidden friendEdward Welbourne2020-11-271-6/+3
| | | | | | | Documentation change to follow, as part of a QCollator doc overhaul. Change-Id: Ie8d3df15a6c0f86b611a8866adf12f3355cc9710 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clean up QCollator's documentation and tell fewer liesEdward Welbourne2020-11-272-53/+116
| | | | | | | | | | | | | | | | | | | | Its collation strategy can't be passed to the constructor, so describing it as initialized with a strategy was misleading. The "Linux without ICU" disclaimer was poorly phrased and only mentioned on one of the options; it actually applies to all. The operator() was marked internal, but the class doc's claim that QCollator can be used with std::sort() relies on it being callable. Moved option descriptions to the getters and filled in the missing ones. Mention the default in all cases. Added a minimal illustration of how to use a QCollator. Fixes: QTBUG-72233 Change-Id: Ifa846eca05e8e42aaa08c4947a59a82d8a8a79bc Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix spacing in QCollator documentationEdward Welbourne2020-11-271-19/+19
| | | | | | | | | Many doc-comments had their end-comment marker indented. Keep separate from real doc changes, to appease the inanity 'bot. Task-number: QTBUG-72233 Change-Id: Id6b8244aeccd81ba7be461ec2b344910c106c17d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Return a more useful date-time on parser failure in spring-forward gapEdward Welbourne2020-11-272-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to 5.15.0, QDateTime::fromString(), when parsing a string that matched the format but represented a date-time in a spring-forward's gap, would return an invalid date-time object that represented a "best shot" date-time, correcting the error in the string as best it could. In 5.15, in order to handle time-spec information correctly, we adapted the date-time parser to have a fromString() variant that parsed a date-time as a whole, rather than as a date and a time; as a result, QDTP::fromString() now returns false and QDT::fromString() returned a default-constructed instance instead of the invalid date-time that QDTP had produced. Amend 76054516047d8efb8529443830bb4d9ddf01010f to restore the prior behavior of returning the invalid date-time object from QDTP instead of a default-constructed invalid date-time. Also document what this implies for the caller's ability to recover from the situation, if a best shot result is better than nothing. [ChangeLog][QtCore][QDateTime] Restored pre-5.15.0 behavior when parsing a date-time from a string (and document what it implies): if the string has the right form but represents a date-time that was skipped by a time-zone transition (e.g. a DST spring-forward), the invalid date-time object returned can, none the less, be used to recover a near-by date-time that may be more useful in some cases. From 5.15.0 to 5.15.2 and in 6.0.0, a default-constructed QDateTime was returned in place of this more informative invalid date-time. Task-number: QTBUG-88633 Pick-to: 6.0 5.15 Change-Id: If0b439038d5fe48eefb951c62f3aae2933bb5651 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTimeParser: fix handling of AM/PM textsEdward Welbourne2020-11-271-8/+10
| | | | | | | | | | | | An AM/PM field is only fixed-width if the locale's AM and PM texts have the same length, which we shouldn't take for granted. (They're not in Albanian, Bosnian or Cherokee.) In sectionMaxSize(), count tells us the case, so we shouldn't be taking both case variants into account, only the one we need. Change-Id: I03b985cc5bf74c34742480558cef08af6343ed93 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Bounds-check time-zone offsets when parsingEdward Welbourne2020-11-272-12/+17
| | | | | | | | | | | | | | | Parsing of time-zone offsets should check the offset string conforms to the expected format and has valid values in its fields. The QDateTime parser, fromOffsetString(), neglected the bounds check on hours; the QTzTimeZonePrivate parser, parsePosixTime(), neglected all upper bounds checks, only checking against negative valus. Drive-by - refined phrasing of a comment. Pick-to: 6.0 5.15 Fixes: QTBUG-88656 Change-Id: If04cdbe65064108eaa87c42310527783ad21b4c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Mark two impossible code-paths with Q_UNREACHABLEEdward Welbourne2020-11-272-2/+3
| | | | | | Change-Id: I8c04f512b078d4c13d759854b65f4d39b7b80e75 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* QCalendar: increase coverage by testsEdward Welbourne2020-11-271-1/+2
| | | | | | | | | | | | Added tests for aliases and various calendar properties, ensured dateToJulianDay()'s invalid date branch is exercised. Corrected assertion when constructing from system and asserted calendarSystem() is as expected. Pick-to: 5.15 Task-number: QTBUG-88183 Change-Id: I510afcb5d9d115f68148d1f679f3224d712f92f4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Update setHighDpiScaleFactorRoundingPolicy docsTor Arne Vestbø2020-11-272-8/+4
| | | | | | | | | | | The default is now passthrough. And let's not mention the environment variable overrides, as they are meant for internal testing. Pick-to: 6.0 Pick-to: 6.0.0 Change-Id: Ie2409e5411d4bdcdf041834cb5ca9e1215aa173a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Also remove 0 initialization from QUrlTwoFlagsAllan Sandfeld Jensen2020-11-271-2/+1
| | | | | | | | Was overlooked when removed from QFlags Pick-to: 6.0 6.0.0 Change-Id: If65ff4a07e2f72589d2c32c2d24366ff9dc2405f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* RHI: Fix attribute instancing cleanup for OpenGL ESPaul Olav Tvete2020-11-271-0/+9
| | | | | | | | | | | | | The previous attribute instancing patch (6493b93) performed the cleanup too late for the case where the command buffer ends with an EndFrame command and core profile is used. Resetting the attribute divisors needs to be done before the vertex array is unbound. Otherwise the state will be wrong at the start of the next call to executeCommandBuffer(), which is normally the start of the next frame. Change-Id: Ic76695b4d334ed1c1e816e747417d957c387a88b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Return an empty QStringList if the family string is emptyAndy Shaw2020-11-272-1/+3
| | | | | | | | Since doing a split will create an empty entry, then we can save time and just return an empty QStringList in this case Change-Id: I86a6532e7243151493ea4021bfcc05e4c2a9cbf0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Limit pen width to maximal 32767Allan Sandfeld Jensen2020-11-271-4/+7
| | | | | | | | Fixes oss-fuzz 25195 Pick-to: 5.12 5.15 6.0 Change-Id: I8c68cf71f6702d8b1b1a2ddda3284c14f02d7972 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Doc: Consistently use book style capitalization for QStringKai Koehne2020-11-271-2/+2
| | | | | | Pick-to: 5.15 6.0 Change-Id: I2ab64fe58ad737b23f0829ed91591efaa0c22c6f Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Linkify all mentionings of QT_NO_CAST_TO_ASCIIKai Koehne2020-11-271-134/+66
| | | | | | | | | This way the user can directly click the link, instead of looking at the 'see also' section. Pick-to: 6.0 Change-Id: I50b62fe0b376a3f6462c11abc46a001c334ba82a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Improve *_CAST_FROM_ASCII documentationKai Koehne2020-11-272-20/+9
| | | | | | Pick-to: 5.15 6.0 Change-Id: Iba73c0a38e2c4add740aab20036aa39c56eb4d98 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix broken \endcode marker in Qt 6 porting docsFlorian Bruhin2020-11-271-1/+1
| | | | | | | Change-Id: I8dfd72f6a00a6c91a38bb201b14524b0bc7cf100 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit e723f0aceb7de3b52fb40de3ef1fe0259fce47a8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix compiler warnings from deprecated methodVolker Hilsheimer2020-11-272-3/+3
| | | | | | | | | QTextCharFormat::fontFamily is deprecated in favor of fontFamilies, which returns a QStringList wrapped in a QVariant, whereas the setter expects a QStringList. Change-Id: I3333eaae4fc5ec3e3bdbec58047d6b3554b4a171 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QCache: Fix crash observed in tst_QAccessibilityFabian Kosmale2020-11-271-1/+1
| | | | | | | | | | | | | | | Fixes a use-after-free which can reliably be observed under ASAN. In QConfFileSettingsPrivate::~QConfFileSettingsPrivate we call unusedCache->insert(conf_file->name, conf_file, ...) Note that the key is a member of the object. Thus by deleting the object before using the key, we dereference a dangling pointer. Amends f08492c6fd9818c7d80b1725355453e179b4d85b. Change-Id: I3a550fc73446b72dd46456232e85f6d206d64c01 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit 5283ee71040dc2f3a762e9cc5e807fb17587e9b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Windows QPA: Pass device for synthesized touch/tablet eventsFriedemann Kleint2020-11-276-12/+74
| | | | | | | | | | | Add the overloads for mouse events with device/without timestamp and pass the active tablet or touch device. Task-number: QTBUG-88678 Task-number: QTBUG-46412 Pick-to: 6.0 Change-Id: I8695b493540d0cbf50e9c72afe870a7633de3ab9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QtWidgets: Propagate event device when translating mouse eventsFriedemann Kleint2020-11-275-6/+12
| | | | | | | | | | | There are a few places left over, for example the QTextEdit creating mouse events in a timer and notably QGraphicsView. Task-number: QTBUG-88678 Task-number: QTBUG-46412 Pick-to: 6.0 Change-Id: I7ed23911be3b86b4b39fb478b947ec3b7a60761f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Change android target SDK version to 29Fabio Falsini2020-11-261-1/+1
| | | | | | | | | Play Store now accept only app with target SDK version set to 29 or above Pick-to: 6.0 Change-Id: If38f20c88fd6b0e6f29939cdf3d2eb793c0e1489 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* QPushButton: fix support of style sheet rule for text alignmentXiang Xiaojun2020-11-261-2/+4
| | | | | | | Fixes: QTBUG-86857 Pick-to: 5.15 6.0 Change-Id: I7e3e2b5323b1e46f572cacfddae20cb6e7882a47 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Reduce the scope of variables in exec() and fetchNext()Zou Ya2020-11-262-7/+3
| | | | | | | | | | | | The scope of the variable 'currBind' can be reduced if the variable 'r' is not 0. So declare the variable when the variable 'r' is 0. The local variable 'i' shadows outer variable in fetchNext(), so move it to the front of switch. Don't declare 'res' until we need and initialize it. Change-Id: Idfb220b96cfbcd4088fd7858ed9392d0a3e10aea Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Rename Application ExampleVolker Hilsheimer2020-11-261-1/+1
| | | | | | | | | | Prefix it with "Qt Widgets -" to make it a bit clearer in the list of highlighted examples which module this one is about. Pick-to: 6.0 6.0.0 Change-Id: I0bf65b02db72173f1adfe0bcf8657be7905dbd6c Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QString/QByteArray: add erase() for iteratorsGiuseppe D'Angelo2020-11-264-0/+32
| | | | | | | | | | | | | Otherwise they're not usable with iterator-based algorithms that e.g. remove, partition and the like. [ChangeLog][QtCore][QString] Added erase(). [ChangeLog][QtCore][QByteArray] Added erase(). Change-Id: I78829b1a5365dd53b6b6423ceedbc52edeafbc63 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* QVLA: modernize some codeGiuseppe D'Angelo2020-11-261-25/+16
| | | | | | | | | | Use if constexpr instead of plain if; use C++17 algorithms instead of hand-rolled loops. Change-Id: Ifa092f892199b9b21bad04b2d72d5e3117a1b377 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* QVLA: always use new to create new objectsGiuseppe D'Angelo2020-11-261-14/+3
| | | | | | | | | | | Even for non-complex types, it makes no sense to use the assignment operator instead of placement new when constructing new objects. Pick-to: 6.0 5.15 Change-Id: I5f15fe4b3397cf52d1d35e6c4dcc513b94b3cf14 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* QEventDispatcherWin32Private: Get rid of TimerInfo struct listMaks Naumov2020-11-262-30/+20
| | | | | | | | | It was redundant with the timer info dictionary, and was even used where using the dictionary would have been more efficient. Change-Id: Ia656bf9b56c61e23df9f8743d8f8efbf65d37574 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
* QTextDocument: allow css border-style of table collapsed cell bordersChristian Ehrlicher2020-11-261-1/+1
| | | | | | | | | | | | 8664ee610d3d8bb8a2a578a6aa6bfd38afe4fcda added support for collapsed borders but set the style to solid no matter what border-style defined. Fix it by properly setting the desired border style. Task-number: QTBUG-36152 Change-Id: Ie527511f831e7f62ab7064d4958b35ddbf1a9403 Pick-to: 5.12 Reviewed-by: Nils Jeisecke <nils.jeisecke@saltation.com> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* RHI: Reset attribute instancing properly for OpenGL ESPaul Olav Tvete2020-11-261-3/+24
| | | | | | | | | | | | Enabling instanced drawing will set glVertexAttribDivisor to 1 for the PerInstance attributes. This is of course a persistent state, because GL, so it will apply to all subsequent draw calls that uses attributes with the same location number, introducing weird and wonderful randomness. Therefore, make sure we set the divisor back to 0 for non-instanced attributes. Change-Id: I2d9115369fa24e8d57396d2a5f88d1435fe98971 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove deprecated algorithms from documentationMarcel Krems2020-11-262-319/+7
| | | | | Change-Id: Ie1eff48696c62ed23fedda1a9e711aeb8264432f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QSet: add missing insert-with-hintMarc Mutz2020-11-252-0/+19
| | | | | | | | | | | | | Since QHash is missing the overload, too, just ignore the hint for now, but provide the STL-compatible signature so generic code can use QSet as a normal sequential container. [ChangeLog][QtCore][QSet] Added insert() overload taking an insertion hint, for STL compatibility. Change-Id: I9fe41877343ebff721b650fb7b9cd4e06b6608d8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Remove some examples from highlighted listVolker Hilsheimer2020-11-251-3/+0
| | | | | | | | | | The Local Fortune examples and the JSON Save Game don't need to be highlighted in Qt Creator. Pick-to: 6.0 6.0.0 Change-Id: I7c7c9997e9a1cfb61f94309f16be65c810b42e14 Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Output source in debug operator of QMouseEventFriedemann Kleint2020-11-251-0/+4
| | | | | | | | Task-number: QTBUG-88678 Task-number: QTBUG-46412 Pick-to: 6.0 Change-Id: If9282f5b845ef16ff7e7ce523f78e3b8adfbef90 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Document removal of QEvent copyingVolker Hilsheimer2020-11-251-0/+39
| | | | | | Pick-to: 6.0 6.0.0 Change-Id: Ia4681fe5c5ae0953ba75f4ab24da4eec7461c719 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix link to Qt OpenGL C++ classesVolker Hilsheimer2020-11-251-1/+1
| | | | | | Pick-to: 6.0 6.0.0 Change-Id: Ia8d71cf48b2d0c3d0f6d3de81335c263eb5466c4 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* CMake: Change generated resources namingAlexey Edelev2020-11-241-1/+1
| | | | | | | | | | Align generated resources .qrc file naming to qmake naming. Update tests. Fixes: QTBUG-88581 Pick-to: 6.0 Change-Id: Id8a2f91f23c257e5b8bd371748c2151ec54a6418 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Use lower cased property name for entrypoint library opt-outAlexandru Croitor2020-11-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need this to enable headersclean functionality to work with CMake <=3.18 which is our minimum required CMake version to build Qt (it's not a problem for 3.19). Otherwise we hit a configuration error while trying to evaluate generator expressions for INTERFACE only libraries for which we need to do the headersclean check (e.g. UiPlugin in qttools). Sample error message: INTERFACE_LIBRARY targets may only have whitelisted properties. The property "QT_NO_ENTRYPOINT" is not allowed. More info: https://gitlab.kitware.com/cmake/cmake/-/issues/21484 Naming it lower case avoids the issue, but is inconsistent with all our other public property names. Furthermore if we do this change, it should probably go to 6.0.0 due to it being a property that a user is meant to set in their project. Task-number: QTBUG-82615 Change-Id: I1f1439f1e5cbc816010eba7301605a8f60b88fd1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 6ca66de9120537134b63d42de6c53c6e5834e8f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Return a QString() if the families list is emptyAndy Shaw2020-11-241-2/+2
| | | | | | Fixes: QTBUG-88781 Change-Id: Iafed2be29e2e0c3029e832986ba58d19446214eb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add font function to OffscreenTheme to run unit tests with offscreenAndreas Buhr2020-11-241-0/+14
| | | | | | | | | | | Two unit tests fail at the moment with the offscreen theme because the font function of the offscreen theme does not return a monospace font when asked for a monospace font. This patch fixes it. Change-Id: Id682c75e2a94b246cffe97b342b1b562bac82a68 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Update container overview documentation - section on growth strategiesAndreas Buhr2020-11-241-30/+14
| | | | | | | | | | | | The Qt container overview documentation contained outdated information on container growth strategies. This patch updates the documentation to reflect the current implementation. Task-number: QTBUG-86584 Pick-to: 6.0 Change-Id: I8fd014138f9a2e73925dafaa270d4c98ab672d96 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Re-fix the definition of primitive typesGiuseppe D'Angelo2020-11-241-1/+1
| | | | | | | | | | | The conditions are AND, not OR. Technically we don't rely on not having constructors any more, but we may reserve the right in the future to have uninitialized resizes. Change-Id: Icfae61079a544f7ac8e90a32ad605c12cfa8b4aa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit bcd38a96149f5397375b57e948c05c7a8f172194) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Reduce the scope of variables in bindInValues()Huang Jie2020-11-241-4/+3
| | | | | | | | | The scope of the variables 'bind', 'field', 'i' can be reduced if the variable 'meta' is a null pointer. So declare the variables when the variable 'meta' is valid. Change-Id: I599406c034168dd73799c69dfb9c5e676861cdf2 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QStackedLayout: fix a memory leakGiuseppe D'Angelo2020-11-231-1/+3
| | | | | | | | A layout takes ownership of the QLayoutItem passed to addItem. Change-Id: Iea3c64453f3cbf4f1b5660e505c1a35dca537833 Pick-to: 6.0 5.15 5.12 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Drop a [[maybe_unused]] on a variableGiuseppe D'Angelo2020-11-231-1/+1
| | | | | | | Turn it into an inline variable. Change-Id: Iab7fa2d53259ced0b1a78bf7368e0e862ba2c799 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>