summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-02-1021-121/+334
|\ | | | | | | | | | | | | Conflicts: src/widgets/widgets/qmainwindowlayout_p.h Change-Id: Id406a67606b885052ed405b0fbc8eea7d9d03224
| * windowflags test: Don't assume window states can not be compoundTor Arne Vestbø2017-02-093-88/+43
| | | | | | | | | | | | | | | | | | The controls need to reflect the facts that e.g. maximized and fullscreen can both be set at the same time, the same way a window can be minimized and fullscreen. Change-Id: I7f3e354a5efaefb9f51e6b1f24fa35980fe35899 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * windowflags test: Don't hide windows unconditionally when applying new stateTor Arne Vestbø2017-02-091-5/+5
| | | | | | | | | | | | | | | | Makes operations like minimizing a window happen "behind the scenes" because the window is hidden during the state change. Change-Id: I01a00661e57f2dcfa6aef78ee0cfa36fbed1bb03 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Jani Heikkinen2017-02-0912-14/+247
| |\
| | * Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-0812-14/+247
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.json mkspecs/win32-icc/qmake.conf Change-Id: Ibf40546b024d644c7d9ed490bee15b82597f4d3f
| | | * QStringMatcher: fix setCaseSensitivity() on a non-QString-backed matcherMarc Mutz2017-02-071-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a non-QString-backed mode (via the (QChar*, int) ctor) was added for Qt 4.5, the author forgot to adjust the setCaseSensitivity() function. It still uses q_pattern instead of (p.uc, p.len) as the pattern for which to create the skip-table. Since there is no setPattern() overload for this mode, the correctness of the matcher is not harmed by this, but its performance degrades to that of a linear scan: the skip-table, being filled from an empty pattern, will be all-zeros, sending bm_find() into the 'possible match' case at every character. Since matching is still correct, but slow, it's not possible to write a test for this. I did, however, leave my attempts in the auto-test, for when we add QStringView overloads of setPattern() which will then be able to expose the bug. Change-Id: I7b803e8624b0352a0a974900affbbfc0c260d93b Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * Fix result handling in QDialog::doneSamuel Gaist2017-02-071-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The setData method of an item view would get an incorrect value of a QDialog's result. This patch changes the order of functions called to fix that. [ChangeLog][QtWidgets][QDialog] Fixed a bug where accessing the result of QDialog's result could yield an incorrect value in some situation like using it as a delegate for item views. Task-number: QTBUG-6018 Task-number: QTBUG-12156 Task-number: QTBUG-14430 Change-Id: I6ee4b6e8cacf6a806631c05c6c5dbcff925df65e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * QInputDialog: prevent crash in static get*() functions when parent gets deletedMarc Mutz2017-02-062-1/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As explained in https://blogs.kde.org/2009/03/26/how-crash-almost-every-qtkde-application-and-how-fix-it-0 creating dialogs on the stack is a bad idea if the application or the dialog's parent window can be closed by means other than user interaction (such as a timer or an IPC call). Since we cannot know whether Qt is used to build such an application, we must assume it is, create the dialog on the heap, and monitor its lifetime with a QPointer. Instead of using manual resource management, add a minimal implementation of QAutoPointer, and use that in all static get*() functions. Task-number: QTBUG-54693 Change-Id: I6157dca18608e02be1ea2c2defbc31641defc9d1 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: David Faure <david.faure@kdab.com>
| | | * Reset QFileDevicePrivate::cachedSize on file closeAleksey Lysenko2017-02-061-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QFile object is reused, the atEnd() method may return incorrect values. The reason for this is that QFileDevicePrivate::cachedSize is not cleared. Setting cachedSize = 0 in the close() method fixes this issue. Task-number: QTBUG-57698 Change-Id: I828a2cf844e98d581098f2c781fa47d2cd3275ce Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * Use a precise timer in tst_QTimer::remainingTimeThiago Macieira2017-02-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At 200 ms, the error on first firing could be 10 ms. Task-number: QTBUG-58519 Change-Id: Ifaee7464122d402991b6fffd14a02a4ce782f11f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | | * Fix data corruption when reading byte arrays from QSettingsThierry Bastian2017-02-033-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, the code that read the plist is using QByteArray::fromRawCFData. When we return the data directly we need to detach the QByteArray so that it does not point CFData's data that will get deallocated just after the call. Task-number: QTBUG-58531 Change-Id: If829a304b986c99c8fc2aeeb992f2d539a4eef3a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | * tst_qurl: add test for fromUserInput(3 args) using "." as working dirDavid Faure2017-02-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As used in recent qtdeclarative commits, so better make sure it keeps working. Change-Id: I6d0ceda76201e3e7f75661cb6449e1ff32329126 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QVariant: don't do fuzzy comparisons with NaN and infinitiesThiago Macieira2017-01-311-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a test that tested this, but was wrong. [ChangeLog][QtCore][QVariant] Fixed a bug that caused wrong results for comparisons of QVariants containing either NaN or infinite numbers. Task-number: QTBUG-56073 Change-Id: I33dc971f005a4848bb8ffffd1475d29d00dd1b7f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QtGui/painting benchmark test: Fix Clang warning about uninitialized valueFriedemann Kleint2017-01-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | benchmarktests.h:323:18: warning: field 'm_as_pixmap' is uninitialized when used here [-Wuninitialized] benchmarktests.h:371:18: warning: field 'm_as_pixmap' is uninitialized when used here [-Wuninitialized] benchmarktests.h:417:18: warning: field 'm_as_pixmap' is uninitialized when used here [-Wuninitialized] Change-Id: Ica496e3baa19e0701c64222ce8ab92ec94178db7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | * Read the .ini file back in text modeThiago Macieira2017-01-311-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because on Windows, the .ini files are saved with CRLF, but the files in the Qt resource are just LF (.gitattributes makes them so). Task-number: QTBUG-25446 Change-Id: I5eab0d9620bd1ba675b0a87c554f62cef0f98fcc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Diaglib: Exclude Win32 window dump functions for WinRTFriedemann Kleint2017-02-081-1/+1
| |/ / | | | | | | | | | | | | Change-Id: I1323b2212266b3cd7a355c6c022e3f2d2822f210 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | QRasterPlatformPixmap::createPixmapForImage(): preserve DPRFriedemann Kleint2017-02-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the line setting the DPR from the source; the image is moved. Task-number: QTBUG-58653 Task-number: QTBUG-58645 Change-Id: I2de94681459dba1d69dee06da44617fb9fa35bcc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Accept error margin in QGlyphRun/QStaticText test for decorationsEskil Abrahamsen Blomfeldt2017-02-022-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calculating the width of a text for drawing decorations on top, we use the effective advance of the whole text after it has been through the shaper. However, in the case of QStaticText and QGlyphRun, there is shortcut: Since we only have the glyph indexes and position of each glyph, we use the position + advance of the right-most glyph to find the right-most edge of the decoration. For this, however, we use the advance of the glyph *out of context* of the rest of the string, because the whole idea is to avoid doing the shaping of the string with every draw call. In some rare cases, the advance of the right-most character, in the context of the string, is different from the advance of the standalone glyph. Now, one way of fixing this would be to store the width of the text in QStaticText and QGlyphRun, but since it is a very rare artifact which is barely visible, I have opted to just work around it in the test instead, the workaround being to force integer metrics so that we don't get the small 0.2 pixel error. Task-number: QTBUG-55217 Change-Id: I8d16d52f2ef27275cabb7d3865aeeaa31617ba3d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Adjust some tests to pass with latest HB-NG changesKonstantin Ritt2017-02-021-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | Recent HB changed the way of handling ZWJ/ZWNJ to be more in par with other engines. Change-Id: I8abacd195e4b247c8fa6d91ef1086e74da0a1efb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | Fix tst_QFontMetrics::elidedMultiLengthF with some fontsEskil Abrahamsen Blomfeldt2017-02-021-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | The QFontMetricsF version of the test should not truncate the returned values, as the results may then be wrong. Change-Id: I17f97f846bb723709e695e8866e437d6888d275b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Fix tst_QTextScriptEngine::thaiWithZWJ() on OpenSUSEEskil Abrahamsen Blomfeldt2017-02-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenSUSE has a bitmap font called "Waree" while the test is created for the TrueType font which is available on Ubuntu. The style names are different, so we can use that to check that we have the right one. Change-Id: I808d0d1ecde9f10ed7730dc76ab3818490002ba9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Tests: Fix Clang warnings about inconsistent overrideFriedemann Kleint2017-02-052-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_qsortfilterproxymodel.cpp:3997:14: warning: 'data' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] tst_qsortfilterproxymodel.cpp:4004:9: warning: 'rowCount' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] accessiblewidgets.h:101:11: warning: 'interface_cast' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] accessiblewidgets.h:115:13: warning: 'textBeforeOffset' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] accessiblewidgets.h:121:13: warning: 'textAtOffset' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] Change-Id: I75ba00a0109ff25a2a22554980b8e541e661f806 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Tests: Fix Clang warnings about various unused variablesFriedemann Kleint2017-02-054-59/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_qpainter.cpp:400:26: warning: unused variable 'maskSource_data' [-Wunused-const-variable] tst_qpainter.cpp:422:26: warning: unused variable 'maskResult_data' [-Wunused-const-variable] tst_qfuture.cpp:1203:11: warning: unused variable 'resultCount' [-Wunused-const-variable] tst_qvarlengtharray.cpp:33:11: warning: unused variable 'N' [-Wunused-const-variable] Change-Id: Ic8891603089a877a5c69701c63c2c6fd20fa6a22 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Remove references to QUrlOperator (Qt3) classGatis Paeglis2017-02-041-17/+0
| | | | | | | | | | | | | | | Change-Id: I2bb9fa77a8e260d5ba75541f66597a1c8904895f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | tst_uic: Update version regexpFriedemann Kleint2017-02-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | The pattern did not match double-digit version numbers like 5.10.0. Adapt it to better match the version number and use QRegularExpression. Change-Id: I2e25b247213cee6853bfeb27871c839135e3970f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | | modeltest: improve debuggingDavid Faure2017-02-021-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | - QCOMPARE takes (actual, expected) rather than the other way around - Added a qWarning with more details before a QVERIFY Change-Id: I0a903a54db28ff2de1f684a2dd9abba3660ee916 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | modeltest: code reformatting to the Qt coding style, using uncrustifyDavid Faure2017-02-025-460/+463
|/ / | | | | | | | | Change-Id: I39026fe0dbc0dacfada5ec2dc6dd81f20b05967c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'gerrit/dev' into HEADOswald Buddenhagen2017-02-0150-362/+1146
|\ \
| * | New qfloat16 classGlen Mabey2017-01-313-0/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This constitutes a fairly complete submission of an entirely new floating point type which conforms to IEEE 754 as a 16-bit storage class. Conversion between qfloat16 and float is currently performed through a sequence of lookup tables. Global-level functions qRound(), qRound64(), qFuzzyCompare(), qFuzzyIsNull(), and qIsNull() each with a qfloat16 parameter have been included for completeness. [ChangeLog][QtCore] Added new qfloat16 class. Change-Id: Ia52eb27846965c14f8140c00faf5ba33c9443976 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | tst_qvariant: fix comparison ambiguity for QMetaEnum valueGlen Mabey2017-01-311-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under certain circumstances, VS2015 reported ambiguous options in using the operator>(Enum,int) operator. This change adds a static_cast<qint64> to remove any ambiguity. In the process of testing this change, a gap in the existing logic was identified: the handling (just in the test code) of large negative enum values. Consequently, and additional test case was added, and additional if-conditions were added to account for that case. Change-Id: Ife2c471ba4caa4b9a0107722042114e58145c4d0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Fix 2 clang warningsErik Verbruggen2017-01-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first one was already suppressed for GCC, so also do that for clang: /Users/erik/dev/qt5-dev/qtbase/tests/auto/corelib/tools/qstring/tst_qstring.cpp:1076:16: warning: format string is not a string literal (potentially insecure) [-Wformat-security] a.sprintf( zero ); ^~~~ /Users/erik/dev/qt5-dev/qtbase/tests/auto/corelib/tools/qstring/tst_qstring.cpp:1076:16: note: treat the string as an argument to avoid this a.sprintf( zero ); ^ "%s", The second one could also occur with other compilers, so fix it in a generic way. /Users/erik/dev/qt5-dev/qtbase/tests/auto/corelib/tools/qstring/tst_qstring.cpp:6382:5: warning: ignoring return value of function declared with warn_unused_result attribute [-Wunused-result] string.repeated(3); ^~~~~~~~~~~~~~~ ~ 2 warnings generated. Change-Id: Id999179e795580a37b5be673ee54d6fa1a006dd7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-3013-38/+86
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network-chat/peermanager.cpp src/widgets/util/qsystemtrayicon.cpp src/widgets/util/qsystemtrayicon_qpa.cpp src/widgets/util/qsystemtrayicon_win.cpp src/widgets/util/qsystemtrayicon_x11.cpp Change-Id: I1c026df83818c0ccaf956980370e7522960627db
| | * Accept all formatting characters as valid inputEskil Abrahamsen Blomfeldt2017-01-261-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends 7896ae052ad2c0c6ae2ebfc64cc2f525185198a8. The previous change focused only on ZWJ and ZWNJ, but there are many other formatting characters that we need to support and that may be rejected by the German keyboard-hack. This opens up for all characters in the Other_Format category. Task-number: QTBUG-58364 Change-Id: Idd967a9ae5b12060c851f6030b7e019508561696 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Plug leaks in tests/auto/dbusMarc Mutz2017-01-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In tst_QDBusMetaObject::types(), hold a QMetaObject obtained from QDBusMetaObject::createMetaObject() in a QScopedPointer instead of leaking it. Use correct return value type. This fixes the remaining errors in GCC 6.1 Linux ASan runs of tests/auto/dbus. Change-Id: I1df7f8e42d45f40ecf381fe7b684a8ab5ebee675 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Plug remaining memleaks in tests/auto/widgets/itemviewsMarc Mutz2017-01-263-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... on Linux AMD64 builds. Pass QObject parents to QObjects otherwise leaked. Change-Id: Ia4f0ad2fdc4ef62a3d35a2cfca74965f79692da3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Plug memleaks in tst_QHeaderViewMarc Mutz2017-01-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The char* returned from QTest::toString() calls must be manually delete[]ed. Change-Id: Iad078e8741e3e97693b1a417693f414b3fb3ec09 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Plug memleaks in tst_QTreeViewMarc Mutz2017-01-261-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | Forgot to delete QAIMs without parent. Change-Id: I9c914e841123ee250fb977c45a84870463288d9b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * tst_QTreeWidget: plug memleaksMarc Mutz2017-01-261-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Taken QTreeWidgetItems need to be deleted, as do items created without a parent, and widgets without parent. Change-Id: I7ffa69903af9a1b92ba308f9f9416aec1d6d975f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Plug memleaks in tst_QAbstractItemViewMarc Mutz2017-01-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | Styles need to be deleted manually... Change-Id: Ic4193d22a57801127e994062cade7cb9ef6f34d8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * QVariant of nullptr should always be nullAllan Sandfeld Jensen2017-01-251-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implements isNull for QVariants of a nullptr so they always return true to isNull(), instead of depending on how they were constructed. Task-number: QTBUG-58296 Change-Id: Ibddec795cdadedef7e17d22c265c29e752d8f99f Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Improve QTest::qWait() precision and switch to QDeadlineTimerAllan Sandfeld Jensen2017-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Do not wait up to the timeout ms after already having waited several times. At the same time upgrade to using the QDeadlineTimer which is designed for this purpose. Change-Id: Iaf5e4f4655605d5143ce91040c6eb6706752e504 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Stabilize tst_QPropertyAnimation::noStartValue()Friedemann Kleint2017-01-251-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the qWait() and introduce a QTRY_COMPARE() checking for the end value first. Task-number: QTBUG-58402 Change-Id: I2d3758178de5f67881008f28c406076ad27c4a90 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| | * Cocoa: fix crash regression in qt_mac_create_nsimage()Oleg Yadrov2017-01-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regression was introduced in d8857f21ac264. The original change was meant to fix support for SVG icons, but failed to take into account a valid QIcon with no sizes, but which is also unable to create a pixmap for the requested size. Task-number: QTBUG-58344 Change-Id: I7ac1dbfaf6e3dab8581fe4b33c814e2517fcdba8 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | QSizePolicy: add a transposed() methodMarc Mutz2017-01-281-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some situations, this allows for nicer code. It's also possible to make this constexpr in C++11, whereas the mutable transpose() would require C++14-style constexpr. The new function should also be faster, since it just swaps the member variables. Because of constexpr-function limitations, the way the return value is constructed needs to depend on the level of the compiler's C++11 support. This is not the only class that requires uniform init to provide a fully constexpr interface (QUuid and QBasicAtomic come to mind), so this should probably be generalized across Qt at some point. Added tests. [ChangeLog][QtWidgets][QSizePolicy] Added transposed() method. Change-Id: Ic1077a0d5a861e7c63bd1daeeb42b97c3a2f71ef Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
| * | QSizePolicy: add some constexprMarc Mutz2017-01-282-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a basic test for constexpr expressions involving QSizePolicy. GCC < 4.8.0 has problems with initializing variant members in constexpr ctors: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54922 Instead of revoking its Q_COMPILER_CONSTEXPR, which is a source-incompatible change, simply note the fact so we can selectively provide constexpr for QSizePolicy. Change-Id: Iba8e5a7cdf847d73e8e2b6bb6211fb3c9846aa0a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | tests/auto/corelib/animation: clean upMarc Mutz2017-01-263-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - port from inefficient QLists to QVector - mark types held in Qt containers (incl. QVariant) as Q_MOVABLE/PRIMITIVE_TYPE - remove pointless user-defined copy special members which prevent the class from having nothrow move special members Fixes errors reported by my local tree's static checks. Change-Id: If3910484cea81a8e2c5ab737908c9443f75782c5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | QHostAddress: add missing op!=(SpecialAddress, QHostAddress)Marc Mutz2017-01-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The equality operator was supplied, but this one was missing. [ChangeLog][QtNetwork][QHostAddress] Added op!=(SpecialAddress, QHostAddress). Change-Id: Iad9c55fa0ee7a8e97d5e4ea4be0605b8b74649d1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | tst_qgraphicsview: use new QTest::addRow() moreMarc Mutz2017-01-262-109/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... for calculated test data names. That involved removing the leading ", " from test name literals (folding it into the format string) and porting from some QString code to QByteArray to make the result usable with addRow(), which does not support %ls... Change-Id: Icb2344778203f10939ae46b9e46872101f3878a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | Fix QString comparison on Aarch64Erik Verbruggen2017-01-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was an off-by-one error in the while loop for aarch64: we start counting at 0 for the first position, so the last valid input position is "a+7", not 8. This wasn't covered by the tests, nor was the SSE2 version, so now there are also tests for both versions. Change-Id: I7eb8c5708e6179f45ea56885b0e66e1a37969c1d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Use QImage::reinterpretAsFormat in QPixmapAllan Sandfeld Jensen2017-01-261-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new QImage method instead of operating on private API. At the same time the code is improved to ensure the QImage is detached. Change-Id: Ia015c0bb18d7bc62da38397594730254843e5a0d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>