summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Stabilize tst_QAbstractItemView::task200665_itemEntered()Gabriel de Dietrich2014-01-151-0/+1
| | | | | | | | | | It seems that sometimes QCursor::setPos() will not get the opportunity to run the event loop before scrolling the list view unless we do it explicitly. Task-number: QTBUG-35060 Change-Id: Ic635bd8d1a4e3dbcadf9605e88197df6a0f69fc7 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Revert "QAIV - Fix scollbars with ScrollPerPixel to scroll 1 pixel."Thorbjørn Martsum2014-01-141-1/+1
| | | | | | | | | | | | | | | | This reverts commit 934f06220391eb0e0ebf66a2eb037f48adb4c43c. The patch needs to be modified a bit. Many users considers not having the old feature as a big regression. The feature needs to be improved with a variable that is only set when the user uses setSingleStep. Task-number: QTBUG-33906 Change-Id: I35e5d3e9d3d7a3ebd01807b03a0e7a424185d483 Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QDate - Fix parsing Qt::ISODateJohn Layt2014-01-111-0/+7
| | | | | | | | | | | | | | | | Fix parsing of ISO Date from being totally lenient to being semi-strict by requiring the separator positions to be non-numeric. [ChangeLog][Important Behavior Changes] Parsing of Qt::ISODate by QDate::fromString() and QDateTime()::fromString() is not as lenient as before, the date component separators are now required to be non-numeric. This means a string like "2000901901" will no longer be recognized as a valid ISO Date, but "2000/01/01" will still be even though it doesn't strictly meet the ISO format of "2000-01-01". Task-number: QTBUG-34141 Change-Id: I0e481144136c60d4cac61364b9b2c1d2cd1e78fc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime - Fix isValid() if invalid QTimeZoneJohn Layt2014-01-111-0/+7
| | | | | | | Explicitly check that the QTimeZone is valid before trying to use it. Change-Id: Iec415a2cb07071502fe71ee5ac92a7657e818f99 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* network proxy tests: adapt proxy authentication to new serverPeter Hartmann2014-01-101-3/+2
| | | | | | | | The tests pass with the new test server image. Once we are using the new test server we can remove the test for the host not found error. Change-Id: Iac8ba6d8ce31b0865b33a003086aac0339afe338 Reviewed-by: Richard J. Moore <rich@kde.org>
* Remove #ifdef from outside test functionsThiago Macieira2014-01-102-12/+13
| | | | | | | | It's usually a bad idea to surround slots or signals with #ifdef since moc may not parse it the same way the compiler does. Change-Id: I6a3623ed7cb9fbc1b966df9d60f71b7fdf91acfe Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Autotest: Fix QDateTime failure if the test got run West of GreenwichThiago Macieira2014-01-091-2/+42
| | | | | | | | | | | | There was a comment about the test failing for max() because of an overflow. That happens if you're at UTC or ahead of it (to the East of the Prime Meridian), which is how this test usually gets run (UTC, Europe/Oslo, Europe/Helsinki, Pacific/Auckland). But if you're behind UTC (to the West of the Prime Meridian), then the overflow happens for min(). Change-Id: Iebba49d1303e9f18f5038f5cf23c77bf83e5fd4b Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Stabilize one function in tst_qpauseanimation.cppFrederik Gladhorn2014-01-071-3/+3
| | | | | | | Under load the timing may go wrong. Change-Id: Iaa947fb9adcfccd2568337adbb17094996cce827 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QKeySequence: return Qt::Key_unknown with invalid modifiers on OS XLiang Qi2014-01-071-5/+0
| | | | | | | | | | | | This also fixes the auto test, tst_QKeySequence::parseString() with Win+A and Simon+G. [ChangeLog][QtGui][OS X][QKeySequence] return Qt::Key_unknown with invalid modifiers on OS X Task-number: QTBUG-24406 Change-Id: Ie90393c9691f443c7c359cb3a487609a9691bc44 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* test: fix tst_QPushButton::sizeHint() with Mac style on Mac OS XLiang Qi2014-01-071-6/+1
| | | | | | | | | | | The style name should be macintosh, not mac. This also reverts commit 2f46ea9fd677ffff3592b096db4aecdaaaa2b5aa. Task-number: QTBUG-23680 Change-Id: I7fd06da165ca5bc99801c13af13fdb3d35119566 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Revert "Skip tst_QMenu::QTBUG_10735_crashWithDialog() on Mac OS X"Liang Qi2014-01-071-4/+0
| | | | | | | | | | | This test doesn't fail any more. This reverts commit 6f21509ac006cf8cd82d3b35b1016a4f9a0c0f89. Task-number: QTBUG-23677 Change-Id: Idc094ce0c90b8d3ba0a75d93ccef8da4801605c7 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Resurrect QGLWidget::renderPixmap()Laszlo Agocs2014-01-061-2/+4
| | | | | | | | | | | | | | | | This function has been completely broken since Qt 5.0. Unfortunately the autotest's verification steps were somewhat faulty so returning a null pixmap from renderPixmap() did not trigger a failure. The implementation is now done with framebuffer objects and pixel readback. This is not ideal performance-wise, but is the only option. In Qt 4 pixmaps were often backed by platform dependent native pixmaps that could be used as rendering targets for OpenGL content. This is not an option anymore since pixmaps are raster backed on all the major platforms. Task-number: QTBUG-33186 Change-Id: I8f558e33bf7967ac3be439fd5a3eac07b6444be5 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Avoid crash due to accessing deleted QWidgetWindow objectJian Liang2013-12-241-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change childWidget->windowHandle() to childWidget->internalWinId() in q_createNativeChildrenAndSetParent() to determine whether should we call childWidget->winId(). This is because in some circumstances Qt will crash due to accessing deleted QWidgetWindow object if we use windowHandle(). Think about the following scenario: 1) create a widget A without parent and add two child widgets B and C to A 2) create a native widget D as the child of B, note that when we set Qt::WA_NativeWindow attribute to it, its QWidgetWindow will be created which means its windowHandle() is not null. 3) create a top level widget E as the child of C and show it. This will make Qt call createWinId() to A and then q_createNativeChildrenAndSetParent() will be called to create A's native children recursively and finally make D's QWidgetWindow object become a child of A's QWidgetWindow object. Please note here that B will not become a native widget just because at that moment windowHandle() of D is not null and Qt will not call winId() to its parent B 4) Set A's parent to another widget which has been shown, setParent_sys() will be called to A and then Qt will call destroy() to A. in destroy() Qt will try to call destroy() to its children recursively with a condition that the child has Qt::WA_NativeWindow been set. But D's parent B is not a native widget right now so B and D is not destroyed. Qt will then deleted the QWidgetWindow object of A, since E's QWidgetWindow object is a child of A's QWidgetWindow object, it will also be deleted. Now E hold a deleted pointer of QWidgetWindow object. This is the source of crash later. Task-number: QTBUG-35600 Change-Id: I97a20a68e626ee62b15bb4eae580e26f8948923b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Use the short time format of the current locale on WindowsThiago Macieira2013-12-162-6/+18
| | | | | | | | Windows 7 and later have LOCALE_SSHORTTIME, which is what we need. Task-number: QTBUG-33718 Change-Id: I4c3f113d17102a37fb752de56f06b312f27c7887 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-12-161-2/+3
|\ | | | | | | refs/staging/stable
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-121-2/+3
| |\ | | | | | | | | | Change-Id: I0cd3b1b33e6d9bec729d941b06aeeb3d21851820
| | * Windows command line parsing: Do escape backslash.Friedemann Kleint2013-12-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will break network paths passed as command line arguments. Introduced by 4ff6951550cb6e39c3b31895c3af57037e90c9ac . Task-number: QTBUG-35432 Task-number: QTBUG-30628 Change-Id: Ice9ce15275ef69e9e9e82daf5a303e7c56294368 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | fix parsing of bound SQL statements for PostgreSQLIsrael Lins Albuquerque2013-12-163-5/+26
|/ / | | | | | | | | | | | | | | | | PostgreSQL allows bound variables inside square braces. Task-number: QTBUG-34541 Change-Id: I4f069b3f1078d4cdf172fbac9e0d7d23d20d167a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | Check if device is opened before trying to create image handler.ABBAPOH2013-12-121-0/+24
| | | | | | | | | | | | Change-Id: I60f1f6890fdd73e489da4aab9928370163f55f58 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: aavit <eirik.aavitsland@digia.com>
* | Stabilize tst_qabstractitemviewMarc Mutz2013-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempt to fix FAIL! : tst_QAbstractItemView::task200665_itemEntered() Compared values are not the same Actual (spy.count()): 0 Expected (1) : 1 Loc: [tst_qabstractitemview.cpp(1292)] which might have been introduced by removing the absolute qWait(200) in favor of qWaitForWindowExposed() in afe8e368, so trying to compensate with a QTRY_COMPARE. Change-Id: Id437acd810b54e005daaf66ffffd4dd586075ab6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | QProcess/Win: allow child processes to change modes of the stdin pipeJoerg Bornemann2013-12-104-1/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be able to call SetNamedPipeHandleState on stdin in a child process, we must create a read-end pipe handle with the FILE_WRITE_ATTRIBUTES flag set. This can't be done with CreateNamedPipe but only with CreateFile. Therefore we're creating the handles for the child process always with CreateFile now. Besides, it's conceptually cleaner to have the server handle of the named pipe in the calling process. [ChangeLog][QtCore][Windows] Fix regression from Qt4 in QProcess. It wasn't possible anymore to alter pipe modes of stdin in child processes. Task-number: QTBUG-35357 Change-Id: I85f09753d0c924bdc8a6cef1ea5dbe6b2299c604 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | QUdpSocket auto test: disable Socks5 over UDP for new test serverPeter Hartmann2013-12-101-1/+16
| | | | | | | | | | | | | | | | | | | | ... because they fail on the new test server. This commit can be reverted once the Socks5 socket engine is fixed. Task-number: QTBUG-35490 Change-Id: I85635d4b44d26168d40a56b7a121693297564f0f Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | SSL: blacklist ANSSI intermediate certificatePeter Hartmann2013-12-101-0/+21
| | | | | | | | | | | | | | | | ... because it was used to operate a man-in-the-middle proxy. Task-number: QTBUG-35474 Change-Id: Ic7f19708b278b866e4f06533cbd84e0ff43357e9 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Add QFileDialog::ShowDirsOnly to manual dialog test.Friedemann Kleint2013-12-102-0/+6
| | | | | | | | | | | | | | Task-number: QTBUG-35396 Change-Id: I6ccb59d6bd3857aea66911e03200f28d093e57b4 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | fix Windows CE commentsJoerg Bornemann2013-12-091-2/+1
| | | | | | | | | | Change-Id: Ib42c456c236f59727dddd6a111dfe0946fff1aef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Fix quadratic behavior in QMetaObjectBuilder when writing string tableSimon Hausmann2013-12-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHash::key() is O(n) and we're calling it n times. That can make repeated calls to the meta object builder very slow, as for example QQmlPropertyMap when inserting properties repeatedly. Fortunately this is easy to fix, as the value in the hash map is also the index, so we can simply iterate over the hash once. With the exception of the class name, which we have to treat specially to ensure that it is always the first entry in the string table. Task-number: QTBUG-32720 Change-Id: Ic954c45c454107feee83216131f601cc69d4c63b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Windows: Don't cover the taskbar when maximizing frameless windowsSérgio Martins2013-12-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | Brings Windows QPA on par with other platforms. [ChangeLog][Windows] Don't cover the taskbar when maximizing frameless windows. Task-number: QTBUG-8361 Change-Id: Iba35132f697cb7379650a4c883b616c5c2023d4c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | QCommandLineParser: pluck some low-hanging fruit re: exception safetyMarc Mutz2013-12-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make QCommandLineParser::add{Help,Version}Option() QCommandLineOption::setDefaultValue() QCommandLineOptionPrivate::setNames() have transaction semantics: either they succeed, or they change nothing. It's trivial to provide this guarantee, so do it. Add a test for the surprising property that setDefaultValue("") resets defaultValues() to an empty QStringList instead of one that contains the empty string. Change-Id: I61623019de3c7d2e52c24f42cc2e23ec5fddc4da Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QTimeZone: Fix isValidId()John Layt2013-12-061-0/+31
| | | | | | | | | | | | | | | | | | | | Fix isValidId() which was failing valid IDs because it was splitting name parts by \ instead of /. it was also rejecting offset from UTC formats names. Add unit tests. Task-number: QTBUG-35025 Change-Id: I4d23d2e54f4a9fac9afcc4eff0a02d6f4af21385 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QSpinBox: allow positive values to be entered with the '+' prefix.Mitch Curtis2013-12-051-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | The code was there to do it, but it was using minimumValue instead of maximumValue to test if the '+' should be allowed. Task-number: QTBUG-20691 [ChangeLog][QtWidgets][QSpinBox] Entering positive values with the '+' prefix is now allowed. Change-Id: Iff62d073e350dc9a33b7e06e4b492048c74437c4 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-12-056-2/+98
|\ \ | | | | | | | | | refs/staging/stable
| * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-056-2/+98
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| | * Make layoutDirection pass with new expose behaviorMorten Johan Sørvig2013-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QMenu with no actions gets a size of (0, 0) on OS X. With the new stricter expose event behavior this is considered invalid geometry and the platform plugin won't send an expose event, causing the qWaitForWindowExposed test to fail. Add a menu entry since the layoutDirection test is not really interested in testing the special case of empty menus. Change-Id: I5221dc3f0472ac13edf821df08bacc3a4eb5cd9d Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * QtConcurrent: Workaround GCC bug 58800 in median calculationNikolai Kosjar2013-12-033-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2) 2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2. Task-number: QTBUG-35058 Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Stabilize tst_QGraphicsItemMarc Mutz2013-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cursor() test was missing a QTest::moveMouse() before sending of the mouse event (as all the following subtests do). When run on a desktop with the panel on the left side of the screen, the mouse pointer would land over the left item instead of in between them, as assumed by the subtest, and the following QCOMPARE failed. Change-Id: Ib74fdf0cfbfbc8ecb79a906610a2da5cb50c89d0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * Stabilize tst_QColumnView::dynamicModelChanges().Friedemann Kleint2013-12-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use QTest::qWaitForWindowExposed() and QTRY_COMPARE() instead of hardcoded timeout. Task-number: QTBUG-35308 Change-Id: I27eee9932dd3b6087db4ad13b1a4fb184a487f57 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | QTextEngine: fix layouting of inline objects in right-aligned tabs.David Faure2013-12-051-0/+36
|/ / | | | | | | | | | | | | | | | | | | | | (same thing for center- and delimiter-aligned tabs) The width of the inline object wasn't taken into account, the code in QTextEngine::calculateTabWidth only looked at glyph widths. Change-Id: I303a6561c67870ff2094a685698e642fc1b53b12 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | QPrinter - Fix OutputFormat when no printersJohn Layt2013-11-291-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the QPrinter constructor, setOutputFormat() and setPrinterName() make bad assumptions about the availability of printers when configuring NativeFormat which can lead to inconsistent print engine set-ups leading to crashes in the print dialog, especially on Windows where a valid DEVMODE is needed. This change cleans up the init and methods to ensure NativeFormat can only ever be set if we have both a valid plugin and a valid printer, if not the PdfFormat is used. One side-effect of this is that it is now impossible to set an invalid printer name via QPrinter (but still able to be done via QPrintEngine if really needed). Also if no default printer is set then use the first available one. This also fixes a bug where setting a new printer name on Windows reset all the saved settings. [ChangeLog][Important Behavior Changes] QPrinter no longer allows you to set an invalid printer name. Task-number: QTBUG-34345 Task-number: QTBUG-26008 Task-number: QTBUG-26430 Change-Id: I19737e4209d8c8df5817ea83246b3dd0c483ee85 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableSimon Hausmann2013-11-291-0/+38
|\| | | | | | | Change-Id: I2e2bf789b0fe8442ed623bc0c8aef591235cdabe
| * Fix invalid memory read when shutting down QML applicationsSimon Hausmann2013-11-291-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | As the last line in the QObject destructor, we call setParentHelper(0) to remove ourselves from the parent. In the process of that we also initiate the QML parentChanged callback. The first thing that parentChanged callback used to do (but now does it too late, after 26350b5ceafa0ade1328037f6234a7d288eb8f48 in qtdeclarative) is to check if the object was deleted and then return. We could re-introduce the check there, but I think it's cleaner to not bother calling the callback on a dead object in the first place. Change-Id: Ia4d43b65a9b3744a451b4c312a2d6f9c0e3b67dc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add QSystemSemaphore::release() auto-testsKonstantin Ritt2013-11-281-0/+19
| | | | | | | | | | | | Change-Id: I4c48f9ad8c60307e4b922d6a6b82e03e455f14d9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | QSystemSemaphore: Clear error after successful operationKonstantin Ritt2013-11-281-0/+7
| | | | | | | | | | | | Change-Id: I5c1021b2329439e3aefaa1c0d9c0b8a298d285de Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | tests: fix tst_QSettings on MacKurt Pattyn2013-11-271-25/+20
| | | | | | | | | | | | | | | | | | | | | | | | * Add a check for the case sensitivity of the file system, so that unit tests can determine whether names of preference files with different case should generate an error or not. * Add check for OS X native file format in rainersSyncBugOnMac(). Task-number: QTBUG-32655 Done-with: Liang Qi <liang.qi@digia.com> Change-Id: I76821653dd4ebc00e20abdbb5b79c1a80290dece Reviewed-by: Liang Qi <liang.qi@digia.com>
* | Fix test compilation on WinRTAndrew Knight2013-11-264-7/+14
| | | | | | | | | | | | | | | | Tweak a handful of tests which didn't compile on this platform. Change-Id: I208d9eb289dfb226746c6d0163c3ea752485033b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | QPrinterInfo - Fix isNull() by fixing constructorsJohn Layt2013-11-261-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPrinterInfo copy and QPrinter constructors and the assignment operator were not taking the shared_null into account, and so any use of them resulted in a new null QPrinterInfo different to shared_null, which lead to isNull() always returning true in anything other than the simplest use case. While fixing this also make the shared_null a Q_GLOBAL_STATIC. Task-number: QTBUG-21087 Change-Id: I0beb24088208e9ed58d21ca26b0c8d00b02e5b8f Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-11-269-83/+165
|\| | | | | | | Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
| * Fix a race that occurred as we unlock the mutex to destroy the functor in ↵Olivier Goffart2013-11-261-19/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ~QObject When we unlock the mutex, we need to take in account that the Connection pointed by 'node' may be destroyed in another thread while it is unlocked Doing 'node->prev = &node' will make sure that 'node' is actually updated when it is destroyed. Setting isSlotObject under the mutex is safer and ensure that no other thread will attempt to deref the object. The regression was introduced in 5885b8f775998c30d53f40b7f368c5f6364e6df4 tst_qobjectrace was updated to catch races arising when we are connecting with function pointers. Change-Id: Ia0d11ae8df563dad97eb86993a786b579b28cd03 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Revert "Ensure Qt::WA_Mapped is set in case of obscured native windows."Tor Arne Vestbø2013-11-212-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Qt::WA_Mapped maps (sic) to windowHandle()->isExposed(), and we set/update it in QWidgetWindow::handleExposeEvent(). Setting it directly in show_sys shortcuts QPA and assumes showing a window is synchronous on all platforms, resulting in trying to flush the widget backingstore when the window was not exposed yet (due to discardSyncRequest starting to return false). This reverts commit 829b1d13b225e87b8a385397e2b53c7a9f8cda9e. Change-Id: I0bd700d4939bc69ba184d8586435b68ec3dd72fb Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * QTimeZone - Fix dateForLocalTime() to check validity of next transitionJohn Layt2013-11-212-0/+10
| | | | | | | | | | | | | | | | | | The private method dateForLocalTime() was not checking that transitions were valid, resulting in infinite looping when a time zone didn't have any future transitions. Change-Id: I0e5d07063861778dd86056a80c36fdd9f9d36133 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * QTimeZone - Fix TZ file abbreviationsJohn Layt2013-11-211-4/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix parsing of TZ file abbreviations, to correctly return cases where POSIX rule doesn't have separate DST rules, and where abbreviation is a sub-string of another abbreviation, otherwise any toString() call will crash. Add test to exercise all available time zones, especially useful for TZ file to confirm all file format variations dealt with. Fix parsing of Version 3 of TZ file, and ICU display name, to allow all files generated from release 2013f to pass, otherwise isValid() call will crash. Task-number: QTBUG-34061 Change-Id: Ie0b6abc218adff1c8967eb33fdb0762041d2305f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>