summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Manual test qcursorhighdpi: Add drag and drop.Friedemann Kleint2016-04-151-3/+66
| | | | | | | | | | Add dragging functionality to the labels showing a pixmap cursor, allowing for testing DnD with pixmaps with device pixel ratio. Task-number: QTBUG-46068 Task-number: QTBUG-50938 Change-Id: If6781f380864e614efd4328e8b880b57cd900511 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Fix encoding of IDN hostnames with QUrl::hostThiago Macieira2016-04-131-0/+3
| | | | | | | | | When the formatting parameter wasn't exactly QUrl::EncodeUnicode, it wouldn't encode, despite having to. Change-Id: Id75834dab9ed466e94c7ffff1444bacc08dd109b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
* Fix parsing of empty port sections in URLsThiago Macieira2016-04-131-2/+27
| | | | | | | | | | | | | | | The RFC does allow it. It even has examples showing them as valid. In section 6.2.3, it shows: http://example.com http://example.com/ http://example.com:/ http://example.com:80/ Change-Id: Id75834dab9ed466e94c7ffff1444b7195ad21cab Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Don't copy the functor object for each signal emissionOlivier Goffart2016-04-131-0/+19
| | | | | | | | | | | | | | | | | | | | The behavior was different in the variadic template code and in the C++98 code. The code without variadic template support was not copying the functor object (e.g. a lambda) before calling it. However, in the variadic template section, QtPrivate::FunctorCall::call took the functor by value instead of by reference resulting in a copy. QtPrivate::FunctorCall::call is a helper function for QtPrivate::FunctionPointer::call which is only needed for variadic template expension. [ChangeLog][QtCore][QObject] If the compiler supports variadic templates, no longer copy functor connected to a signal each time the signal is emitted. Restoring the C++98 behavior. Task-number: QTBUG-52542 Change-Id: I3ca20ef6910893b8a288e70af7de4c7b69502173 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_QNetworkReply: Commentary fixes on test server workarounds.Edward Welbourne2016-04-121-3/+3
| | | | | | | | | | Follow-up to commit 6fd205d5: document which version of danted shall make one work-around redundant, document that another work-around is still needed even with that v1.1.19; and remove a comment that referred back to an XFAIL that commit 6fd205d5 removed. Change-Id: I270b662528127c82184bff20b3cecea4f0c41b41 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* tst_QNetworkReply: fix mis-guided use of QSKIP().Edward Welbourne2016-04-121-3/+3
| | | | | | | | | QSKIP() causes the whole test to be skipped, where this work-around for a known quirk of the test server only requires skipping a single Q_COMPARE(); the rest of the test passes fine without it. Change-Id: Ie4612bd428f4cb4b342fad908cc2784fbadf069c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Better error message when trying to load an invalid resourceJesus Fernandez2016-04-121-0/+4
| | | | | | | | | Before this change QFile::errorString function was returning an "Unknown error". Now it will return the typical ENOENT string. Task-number: QTBUG-45259 Change-Id: Ib7634f1aa5d91f77151cf92c58d3956e20a4cc6b Reviewed-by: hjk <hjk@theqtcompany.com>
* Fix finding a helper executable in tst_QLocalSocketJoerg Bornemann2016-04-111-1/+2
| | | | | | | | | Use QFINDTESTDATA to find the socketprocess helper executable. Now tst_QLocalSocket::processConnection() passes when started from Qt Creator without adjusting the working directory. Change-Id: I97ca3334a381b3cd646647487529bcd90b969528 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix crash when using QLockFile in a global destructorDavid Faure2016-04-101-0/+10
| | | | | | | | (for instance any global object which writes out to a config file in the destructor). If the global cache isn't available anymore, don't use it. Change-Id: I851a6e394d0b073aebf3ffd88b1966d424bfb92e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Autotest: confirm that QHostAddress obeys RFC 5952 recommendationsThiago Macieira2016-04-091-4/+13
| | | | | | Change-Id: I0c94a5c2846b48c8aea7ffff1435b8a7ccbd4d9e Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
* Fix parsing of IPv4 addresses with certain symbolsAlexander Grishkov2016-04-081-0/+8
| | | | | | | | | Add some extra checks to the parser to make sure that addresses like "300-05" aren't interpreted as valid IPv4 addresses. Change-Id: I12475eebc9452e060779bb05e2b4ad9512a28281 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* tests: fix tst_QFontComboBox on OS XLiang Qi2016-04-082-11/+15
| | | | | | | | After 909d3f5c7, private families will not be shown in user interface. Task-number: QTBUG-41318 Change-Id: I15ae77cacd2a27c9db4b1a8ffbb582416258988c Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* QScreen manual test: add MouseMonitor to test multi-screen scenariosShawn Rutledge2016-04-081-0/+67
| | | | | | | | | | | - QMouseEvent::screenPos() should be global desktop position - QDesktopWidget::screenNumber() should tell the correct screen - QGuiApplication::topLevelAt(screenPos) should find the window where the mouse is clicked Change-Id: I9a63ab3ee1944b7246551d0f3d5e37f0d2aa5457 Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Resolve build failure in network stress tests.Rolland Dudemaine2016-04-072-2/+2
| | | | | | | strncmp() needs 3 arguments, not 2. Change-Id: Ia7077108a533321d5218cc35fd78ada8863f8200 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* tst_QStringBuilder: add a check for self-assignmentMarc Mutz2016-04-071-0/+5
| | | | | Change-Id: I78094146bf534163af12d6e265276d987d5ce994 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QFtp: Use UTF-8 encoding.Friedemann Kleint2016-04-071-2/+3
| | | | | | | | | | According to RFC 2640, FTP uses UTF-8 encoding. Fix the conversions accordingly. Task-number: QTBUG-52303 Change-Id: I615199b3d074fc3861f25df113dda672525766b6 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Remove empty first lines of files.Friedemann Kleint2016-04-061-1/+0
| | | | | | | They might upset licensing related tools. Change-Id: I858d21fc418ba16959c88847b559b11bea29ed6b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Make sure QStyleOption is correctly initialized.Hannah von Reth2016-04-051-0/+107
| | | | | | | | | | | Ensures that QStyleOption is correctly initialized. This prevents possible styling issues due to QStyleOption's reporting version 0, see qstyleoption_cast. This enables users to handle more cases in their QProxyStyle. For now the test is only used for QCommonStyle. Change-Id: I768db00b12b46890343fffe44e4f562762e9cf80 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* network-settings.h: don't crash when running without the test serverMarc Mutz2016-04-051-1/+6
| | | | | | | | | | Don't access first() of a potentially-empty QList. Check for QHostInfo::error() first. Also change to constFirst() to prevent a detach. Change-Id: I91fa0bbfb21f62af29abdb23b4869a7f039b259e Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QVariant: Fix flags for type-erased associative iterator keyStephen Kelly2016-04-031-0/+27
| | | | | | | | | | | | | | | | | | | The flags here are passed to a private QVariant constructor, and they really represent a boolean - IsPointer or not. Because the flag for the key_type was incorrectly populated with the flag for the value_type, memory would be corrupted when using a mapping type whose value_type is a pointer, but whose key type was not, such as QMap<QString, int*> This typo has been there since the concept was introduced in commit v5.2.0-alpha1~807 (Add container access functionality for associative containers in QVariant., 2013-04-05). Task-number: QTBUG-52246 Change-Id: I9ecb13c603015eed2dc2ca43947fa0ecd6be8b5a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix QtGui dependencies in tests/benchmarksKai Pastor2016-04-015-5/+11
| | | | | | | Before this change, -no-gui builds failed already while running qmake. Change-Id: I3e300a16669371098589822806c5cf8aa9b801c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* QPointer: add a test for const QPointer<X>Marc Mutz2016-04-011-0/+16
| | | | | | | | | | | | | People use this, so make sure there's a test for it. I don't expect this test to fail, but static and dynamic checkers should be presented with this use-case, so they have a chance of warning, because certain implementation strategies of QPointer may make this code undefined. Change-Id: I334bd73204ba4e186c4098fc6b7188917407e020 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Autotest: Remove blacklistingsSimo Fält2016-04-018-24/+0
| | | | | | | | | Removing blacklistings from tests that are now passing. Change-Id: I00aa1ce286d3e7715fb4bee4a36d0d77049a29ae Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
* Fixup for text labels in lancelot graphics testEirik Aavitsland2016-03-312-14/+14
| | | | | | | | Some strings were drawn with a different size or scaling than what the string itself said, causing confusion. Change-Id: I4b187cba6d467cfa0900576bdf451052baa806e6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* moc: bail out early on missing or invalid options fileJoerg Bornemann2016-03-311-0/+27
| | | | | | | | | | | If moc is invoked with the @ argument and no options file is specified or the options file cannot be read, do not try to parse the empty arguments list. Otherwise QCommandLineParser will print an additional error message that is of no value for the user. Task-number: QTBUG-51847 Change-Id: I9aa1eb20a44097b553123be8bc6fded87473a03a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix possible crash in QImage::pixel()Eskil Abrahamsen Blomfeldt2016-03-311-0/+29
| | | | | | | | | | | | | | | | | | | | | | | QImage::pixel() assumed that the color table was valid for the values in the bitmap. This was always wrong for indexed images with explicit no color table set and was wrong for mono images that were constructed from preexisting data. For mono images, we default to a black/white color table, like we do when constructing with uninitialized data. For indexed image, we always default to no color table, but instead of crashing in pixel(), we warn and return an undefined value. [ChangeLog][QtGui][Image] Fixed possible crash in QImage::pixel() for mono or indexed images. Change-Id: Ieaf19c03984badddfd06e1855a7e287b862adc70 Task-number: QTBUG-50745 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Enable cmake auto tests for -no-guiKai Pastor2016-03-303-3/+10
| | | | | | | | This change disables tests which require QtGui. Change-Id: Ib647afd086f54536054cb4c0cde5696d762ee8c4 Reviewed-by: Stephen Kelly <steveire@gmail.com> Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* QTextEdit::inputMethodQuery(): Preserve types when applying offset.Friedemann Kleint2016-03-301-0/+13
| | | | | | | | | | | | | The old code converted QRectF into QRect when applying the offset. Change the offset point to QPointF and change the conversions accordingly. Add an autotest similar to that of QPlainTextEdit. This minimizes rounding errors and prevents conversions since the input method logic mostly uses qreal. Task-number: QTBUG-51923 Change-Id: I0c2f80ccae028d8bbbb97ec603f8782f69959c76 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QtWidgets: Add autotests for Qt::WA_OutsideWSRange flagBłażej Szczygieł2016-03-291-0/+66
| | | | | | | | | Task-number: QTBUG-48321 Task-number: QTBUG-49445 Task-number: QTBUG-51788 Change-Id: I6c04919ff788cad684df69d0aee73d86fd985bb9 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* QPlainTextEdit: Take vertical offset into account when answering input ↵Friedemann Kleint2016-03-291-0/+13
| | | | | | | | | | | method queries. Determine offset point to similar to QTextEdit::inputMethodQuery() and add an autotest. Task-number: QTBUG-51923 Change-Id: I8232eb348063e2cd95d0632fe74a6eb30c897eda Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Purge sRGB chunks from PNGs in tests.Edward Welbourne2016-03-2910-0/+0
| | | | | | | | | Subjects each *.png file that matched grep -law "sRGB" to: pngcrush -ow -brute -rem allb -reduce (Two needed -force but did get smaller.) Change-Id: Ia030f0bc1d3617ba716bcc26677ff919ef58423c Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Allow to style arrows drawn with drawPrimitive in QCommonStyle.Hannah von Reth2016-03-251-0/+48
| | | | | | | | Its currently not possible to style the arrows with QCommonStyle because drawPrimitive from QCommonStyle is called instead from the proxy. Change-Id: I910b13df110601cb18578bc16edfa5ddaa17bbd2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix qSetMessagePattern to have many time/backtrace partsM. Moellney2016-03-251-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | The previous implementation overwrote multiple 'time' parts in the qSetMessagePattern with the last setting in the pattern line. %{time}%{time process}%{time boot} ended up to be output as if %{time boot}%{time boot}%{time boot} was set. This fix keeps the arguments of each individual 'time' part. The same holds for multiple 'backtrace' parts. The previouse implementation overwrote multiple 'backtrace' arguments with the arguments of the last occurrence. This fix keeps the individual arguments for the 'process' parts. The individual arguments are applied in qFormatLogMessage. A new test to verify the individual 'time' arguments application is added, too. Task-number: QTBUG-51944 Change-Id: Ib757614a482c5f31ed0a61b550daa2eea4b907b4 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Update comment in tst_QLocalSocket::readBufferOverflowJoerg Bornemann2016-03-241-1/+1
| | | | | | | | QWindowsPipeWriter doesn't write in a separate thread anymore. Change-Id: Id978bfdfa2531be91cce94476ab9b0dff237bd61 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* tst_QAtomicInteger: fix UBs (signed overflow)Marc Mutz2016-03-241-93/+0
| | | | | | | | | | Drop addSub() test. It executes exactly the union of fetchAndAdd() and fetchAndSub(), which have already had their UBs fixed. No need to do fixes in duplicated code. Change-Id: Ib72caab0310fce3ff9a40c261d8a38518f91ecaf Reviewed-by: David Faure <david.faure@kdab.com>
* Add a write buffer to QLocalSocket/WinJoerg Bornemann2016-03-241-3/+17
| | | | | | | | | | | | | | | | | Commit 0307c008 removed the buffering of data-to-be-written from QWindowsPipeWriter, because it was assumed that users of this class (QProcess and QLocalSocket) already buffer data internally. This assumption was wrong for QLocalSocket. The following sequence localSocket->write(someData); localSocket->write(someMoreData); would not write anything on the second write. Add a write buffer to the Windows implementation of QLocalSocket. Task-number: QTBUG-52073 Change-Id: I6d0f03a722ec48138cbde3e2f69aae7dafe790d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* QAbstractItemView test: check that the selection model is in sync with the viewGiuseppe D'Angelo2016-03-231-0/+55
| | | | | Change-Id: Ifca91154b47184a9d9a1979e1fba471517e16698 Reviewed-by: Stephen Kelly <ske@ableton.com>
* QAbstractItemView: trigger handlers (and redraw) when changing selection modelGiuseppe D'Angelo2016-03-231-0/+54
| | | | | | | | | | | The most visible problem is that changing selection model didn't update() the view, resulting in the old selection/current item still being drawn. In general trigger the handlers for when the selection/current item changes. Change-Id: Ib3b2ad70412e6a21a182d4c173e617710bcc630d Task-number: QTBUG-50535 Reviewed-by: Stephen Kelly <ske@ableton.com>
* Initialize input method for read-only QTextBrowserMarko Kangas2016-03-231-0/+11
| | | | | | | | | Set input method attribute to be aligned with read-only value in QTextBrowser initialization Task-number: QTBUG-52071 Change-Id: If0e64bf09e2a2d505ed66fcbfb8cd12ae39844d3 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* Fix tests for build with -no-guiKai Pastor2016-03-232-1/+5
| | | | | | Change-Id: I48d5452daeaf3490ed7a5b8c30953da019bb33af Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* Remove QPROCESS_USE_SPAWN and all that it surroundsJames McDonnell2016-03-221-28/+10
| | | | | | | | | | | | | | | | | | | | | | The spawn code was only used to make QProcess work on QNX 6.5.0. Fork works on QNX 6.6.0. The QNX spawn implementation has a flaw that causes a deadlock in certain situations. When a working directory is specified for the process, the QNX spawn implementation stops all threads except the one doing the spawn so that it can temporarily change the process' working directory. This can lead to a deadlock if the thread does anything that conficts with something being done in a stopped thread. QNX 6.5.0 is no longer supported in Qt 5.6.0 so we can just switch QNX to the fork implementation and get rid of the spawn implementation. Made a QNX specific adjustment to the hardExit test. There's a bug in the OS that the test can run into because it does something that normal applications wouldn't. Task-number: QTBUG-47250 Change-Id: Ib32567d2c15ce651815858000035ac5aa6f35224 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Add auto-test for crash in QCocoaBackingStoreGabriel de Dietrich2016-03-211-0/+45
| | | | | | | | | This issue has been solved some time between 5.6 and 5.6.0. We just make sure to protect against further regressions. Change-Id: Ic3fdad901ed5f36792ae04b3d65047da95eea668 Task-number: QTBUG-50561 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Fix QFINDTESTDATA when using cmake ninja generatorStephen Kelly2016-03-195-0/+89
| | | | | | | | | | | | | | | The Qt CI does not have ninja, but the autotest can be used for manual regression finding. cd qtbase/tests/auto/cmake qmake make check cd build cmake . -DHAVE_NINJA=ON ctest -R FINDTESTDATA Change-Id: Ic3f3748f6ab04e37fa5287c59486e5cd46dcabb4 Reviewed-by: Stephen Kelly <steveire@gmail.com>
* Manual High DPI test: Create Dnd pixmap with device pixel ratio.Friedemann Kleint2016-03-161-1/+5
| | | | | | | | | Apply the device pixel ratio from the widget unless Shift is pressed. Task-number: QTBUG-46068 Task-number: QTBUG-50938 Change-Id: Ib806b7e545fa228043566800d22d1002728732bf Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* WinRT: Fix QTimeZone transitions by switching backendMaurice Kalinowski2016-03-161-1/+1
| | | | | | | | | | | | | | | | Previously WinRT was using the UTC backend which fails on all platforms for some QDateTime autotests related to timezone items. Hence switch to the Windows implementation for WinRT as well. However, the windows backend does query the registry heavily, which is not supported on WinRT. Instead use the API version provided by the SDK. Long-term we might want to switch to this version on desktop windows as well, as direct registry access would not be required and we could harmonize the codepaths for both platforms. Change-Id: I620b614e9994aa77b531e5c34c9be1da7e272a30 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Manual High DPI test: Add test for window masks.Friedemann Kleint2016-03-161-1/+22
| | | | | | | | Add a toggle for setting a triangular mask on the main window. Task-number: QTBUG-50938 Change-Id: Id4a3ee0b80e170f4ee1d195e60ce7bfa8e524359 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* tst_QXmlStream::writerHangs(): Create file in temporary directoryMaurice Kalinowski2016-03-161-1/+2
| | | | | | | A test should not write to its directory. Change-Id: I34dfc36387cf5a637b325be29c8a19ff51d9b9c3 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* QTextStream test: Change current directoryMaurice Kalinowski2016-03-162-0/+20
| | | | | | | | For platforms with builtin testdata/sandboxed platforms we need to change the current directory to be able to create files. Change-Id: I440205c95dd6df1308c6bf24b1b0f67fd697feab Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* tst_qtabbar sizeHints fixMilla Pohjanheimo2016-03-161-16/+10
| | | | | | | | | | tst_qtabbar uses fixed values to check the minimumSizeHint and it fails with screens that have a higher resolution. The test still uses the default values, but now in the beginning it creates enough tabs so that it goes over the default. Change-Id: I3f891d2661288d7fad50ad522d73f634b3e91958 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* QRect: fix UB (int overflow) in center()Marc Mutz2016-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QRect::center() should be defined for any QRect(x1,y1,x2,x2), INT_MIN <= x1, x2, y1, y2 <= INT_MAX because the average of two signed integers is always representable as a signed integer. But not when it's calculated as (x1+x2)/2, since that expression overflows when x1 > INT_MAX - x2. Instead of playing games with Hacker's Delight-style expressions, or use Google's patented algorithm, which requires two divisions, take advantage of the fact that int is not intmax_t and perform the calculation in the qint64 domain. The cast back to int is always well- defined since, as mentioned, the result is always representable in an int. Fix a test-case that expected a nonsensical result due to overflow. [ChangeLog][QtCore][QRect] Fixed integer overflow in center(). This fixes the result for some corner-cases like a 1x1 rectangle at (INT_MIN, INT_MIN), for which the previous implementation could return anything (due to invoking undefined behavior), but commonly returned (0, 0). Change-Id: I1a885ca6dff770327dd31655c3eb473fcfeb8878 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>