Commit Graph

2168 Commits

Author SHA1 Message Date
Jason McDonald
c1bfcb29ff Remove insignification from QMenuBar test on Ubuntu 11.10.
This test hasn't failed in the last 400 CI builds.

Task-number: QTBUG-4965
Change-Id: I2ff03b7a12906a2b583b3127bf47c12b901ed319
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-04-19 17:05:41 +02:00
Jason McDonald
2b130d0cf6 Remove insignification from QDoubleSpinBox test on Ubuntu 11.10.
This test has not failed during the last 400 CI builds.

Task-number: QTBUG-23641
Change-Id: Ibcb840679e023db41456e41eedcfcc38ecedbaac
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-04-19 16:25:55 +02:00
Jason McDonald
4de95586f1 Re-enable QGLThreads autotest on Mac OS X.
This test passes consistently on Mac OS, but crashes consistently on
Windows and fails consistently on Ubuntu 10.04 and 11.10.

Disable the test only on platforms where it known to fail, so that CI
can use it to detect future regressions on platforms where the test
currently passes.

Task-number: QTBUG-22560
Change-Id: I0def45e1ed7dd3387e42e7294a495c89bc0caea6
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-19 13:26:51 +02:00
Jason McDonald
970f5e18fe Re-enable QGL autotest on Mac OS X and Ubuntu 11.10.
This test passes consistently on Mac OS and Ubuntu 11.10, but crashes
consistently on Windows and fails consistently on Ubuntu 10.04.

Disable the test only on platforms where it known to fail, so that CI
can use it to detect future regressions on platforms where the test
currently passes.

Task-number: QTBUG-25293
Change-Id: I5d6a474ea1e6fdf3983f164ebc181e1dd6e3f639
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-19 13:26:51 +02:00
Jason McDonald
fb0978e963 Remove insignification from QtConcurrentFilter test.
This test has one unstable failure that occurs about 0.8% of the time in
CI.  Make the test catch this particular failure and re-enable the rest
of the test.

Task-number: QTBUG-20688
Change-Id: I22f5d372db77ea35163f96195ac0c174d8078899
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-19 13:26:51 +02:00
Jason McDonald
a594e5cfc8 Remove insignification from QFocusEvent test on Mac OS X.
This test has one stable failure.  Mark that failure with QEXPECT_FAIL
and re-enable the test.

Task-number: QTBUG-22815
Change-Id: I38445b659235076b00d9dd82d2a824d1caa1439b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-19 08:07:39 +02:00
Jason McDonald
25f3c16c94 Remove insignification from QAccessibility test on Mac OS X.
This test has one stable failure.  Mark that failure with QEXPECT_FAIL
and re-enable the test.

Task-number: QTBUG-22812
Change-Id: I1e1ad63472db7ba724c9936ae718de0b3b078bbd
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-19 08:07:30 +02:00
Jason McDonald
bb495823d6 Remove insignification from QClipboard test on Mac OS X.
This test hasn't failed for more than 250 CI runs, before which it was
failing consistently.

Change-Id: I0c2f7d3893731c800bebb0d3d51312d0d0948eb5
Reviewed-by: QTBUG-23057
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-19 08:07:22 +02:00
Jason McDonald
005441f742 Remove insignification of QStaticText test on Mac OS X.
This test has not failed in more than 300 CI runs, before which it was
failing consistently.

Change-Id: Ib9a0e4120b276e5620b544a0836134f1cbac7c84
Reviewed-by: QTBUG-23063
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-19 08:07:13 +02:00
Jason McDonald
b6cf486816 Re-enable QTextScriptEngine test.
The test has two stable failures. Mark these with QEXPECT_FAIL and
re-enable the test.

Task-number: QTBUG-23064
Change-Id: Ibb607ac252a6690d0d37f650a5ae41e5e2a681a2
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-19 08:07:03 +02:00
Jason McDonald
14ba6240bb Re-enable QFontDatabase test on Mac OS X.
This test has one stable failure on Mac.  Mark that failure with
QEXPECT_FAIL so that the rest of the test can be used by CI to catch
regressions.

Also, change the failing QVERIFY to QCOMPARE so that the mismatching
QStringList values will appear in the test output.

Task-number: QTBUG-23062
Change-Id: Icb0cccfe0bd5bc74a6a2c1ddba89c1f55f5e64de
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-19 08:06:52 +02:00
Jason McDonald
7f0c130be9 Re-enable QPrinterInfo test on Mac OS X.
This test has not failed in the last 1000 CI runs on Mac.  It only fails
when the test machine has some printers configured, which is not
presently true for the CI machines.

The two options are to disable the test on all unix platforms (because
it fails on all unicies when there are printers present) or to enable
the test for all platforms so that CI can catch regressions that don't
depend on having printers connected.  I choose the latter option.

If the CI machines are configured with printers before the known bug is
fixed, the failures should be marked with QEXPECT_FAIL rather than
disabling the whole test again.

Task-number: QTBUG-23060
Change-Id: I3cebed4aefdd088ff00215ea9d7413f90bd9e9b1
Reviewed-by: John Layt <jlayt@kde.org>
2012-04-19 04:13:04 +02:00
Jason McDonald
61c1c5a650 Re-enable the QItemDelegate test on Ubuntu 11.10.
This test used to be unstable, but has not failed for more than 400 CI
builds.

Task-number: QTBUG-23637
Change-Id: I0d92136aa9d641e447820ab19b53034f475f74da
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-04-19 04:13:04 +02:00
Rohan McGovern
1464081dfb Really marked tst_QProcess as insignificant on Windows.
This test hangs ~2.6% of the time in CI.

The previous commit which attempted to mark this test as insignificant
did not work due to this .pro file doing a load(testcase) prior to the
line which set CONFIG += insignificant_test.  testcase.prf must be
loaded _after_ insignificant_test is set.

Task-number: QTBUG-25342
Change-Id: I20470337fda8235e2fd0b6e8d5f564c8c57d167e
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
2012-04-19 01:57:58 +02:00
Jędrzej Nowacki
b3e55fbf4e Do not assert when QVariant is constructed from an invalid type id
That change also fix moduleForType() which was wrongly recognizing
negative ids as belonging to Core.

New tests were added.

Change-Id: I40a5819effb32489a45937011980457387c9f8be
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-04-19 01:57:58 +02:00
Stephen Kelly
c12057df29 Fix a CMake unit test.
This has been broken since modules do not currently find
their (public) dependencies.

Change-Id: I0c9e7c46f7a6499993c98aa6d33996bdd3a1be5f
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-18 19:53:34 +02:00
Stephen Kelly
d5bd336dba Build the first CMake test if *at least* version 2.8.7 is available.
Change-Id: I061130e5b937ad818cc9016ae62d5890092d60f2
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-18 19:53:34 +02:00
Jason McDonald
d615e02bf1 Remove insignification of QNetworkInterface autotest on Windows.
This test has not failed in the last 300 CI runs.

Change-Id: I559ea223856b1460deb343384d5b4439f42a41d7
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-18 14:33:55 +02:00
Jason McDonald
e4f4dfe340 Remove insignification from the Lancelot test.
This test has not failed in the last 400 CI builds.

Change-Id: I22b59565a6a6cb48653bd9b0d967abbf074d59a4
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-18 14:23:48 +02:00
Jason McDonald
fe4aa255a9 Update task numbers for QUdpSocket autotest.
Reference tasks with detailed analysis of failures rather than generic
task for blacklisted tests.

Change-Id: Ibd0ed836ffb84fe9aa14488d43085316e666de21
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-18 14:23:42 +02:00
Mark Brand
f869a12c10 QTBUG-18435 fix stored procedure output parameters on ODBC
Follow-up to c55a99965d8c08d5f924d49db4fe4aa49df8096.

3 problems prevented stored procedure output parameters from working.
- SQLBindParameter needs access to buffer provided by QByteArray.
- The length of the buffer is measured in bytes.
- A typo corrupted conversion back to QString.

Also, data() makes more sense than constData() to expose the buffer.

Task-Id: QTBUG-18435
Change-Id: I66444b13c0f584ed79bcf026e5a23caff83c22cb
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-04-17 23:16:51 +02:00
Konstantin Ritt
95bd974163 fix QChar::decompositionTag() returns wrong result for Hangul syllables
Change-Id: I28e7b14b6a90aa539f8a50107737a66b3484fc00
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-17 18:44:13 +02:00
Konstantin Ritt
087cda285f fix QChar::isPrint() returns an incorrect result.
results are now equals to results of ICU's u_isprint() for the entire set
of the Unicode code points

Change-Id: I763f4b37cccd285eb01543d486f25bd7ea011241
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-17 18:44:13 +02:00
Mark Brand
b8d1abe65b fix QSqlQuery ODBC auto tests
The placeholder name must include the : prefix.

Several type tests for aggregate functions assumed sqlite behavior
which is actually exceptional due to sqlite's loose type system.

REAL is a synonymn for DOUBLE in sqlite but is also compatible with
at least MS SQL Server, PostgreSQL, Oracle, and MySQL.

Change-Id: I97f8c55d2e962b072cfab11a121fda685666e754
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-04-17 16:28:46 +02:00
Jason McDonald
e01ecc6d6f Remove insignification from QPluginLoader and QFactoryLoader tests.
Archived build logs on http://testresults.qt-project.org/ci/ show that
the QPluginLoader test has failed in CI only once in the last 1000
builds (in build 1786), and on that occasion the test was legitimately
blocking a regression.

The QFactoryLoader test was derived from the QPluginLoader test and has
not failed since its first run on March 29, 2012.

Task-number: QTBUG-22765
Change-Id: I866b4b8e30e393e0c7e7292119c072b27008ab43
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-17 16:28:46 +02:00
Jason McDonald
d43c931cf0 Remove insignfication from QGuiApplication test on Windows.
This test has two stable failures, one of which slipped through while
the test was disabled.  Mark the failures with QEXPECT_FAIL and
re-enable the test.

Task-number: QTBUG-24186
Change-Id: Ie24f86603a01634d6eec5a42baa77e966f9388c8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-17 16:28:46 +02:00
Stephen Kelly
7c3684dff7 Fix out of bounds use of QVector API.
This is a regression introduced by commit
22b7d21186.

Task-number: QTBUG-24965
Task-number: QTBUG-25140

Change-Id: I3f3bfe23af802444b078a29ee5565dd2bd24a34d
Reviewed-by: David Faure <faure@kde.org>
2012-04-17 16:28:46 +02:00
Lars Knoll
576a8e152e Merge "Merge remote-tracking branch 'origin/api_changes'" into refs/staging/master 2012-04-17 13:09:29 +02:00
Bradley T. Hughes
fb7f30d2ba Re-enable all of tst_QApplication::quitOnLastWindowClosed() on Mac OS X
Part of this test was skipped on Mac OS X, due to a bug in timer
handling. This bug has been fixed[1] and the test now passes again.

[1] https://codereview.qt-project.org/#change,21953

Task-number: QTBUG-24319
Change-Id: Iad0a315cfdfcfb007e8aa9243cfef4b2f2b33895
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-17 13:09:29 +02:00
Bradley T. Hughes
1a1c2b4075 Add tests/auto/gui/kernel/qguitimer
This test is like qguieventdispatcher, it duplicates a corelib test in
the gui test suite, since the QtGui library often gets a different event
dispatcher implementation from the platform plugin.

Change-Id: Ifd724066950bc3b98a804bc2e5d40ce7b0429af4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-04-17 13:09:29 +02:00
Jason McDonald
86104ac36a Remove insignification of QOpenGL test on Mac OS X.
The failure was fixed by commit e430ddfafc
and the test has not failed again in the >500 CI builds that have
occured since that commit was merged,

Task-number: QTBUG-23061
Change-Id: I41063f9dbc6b6d7d6b99f1a0c20708b0842353d5
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-17 13:09:29 +02:00
Lars Knoll
64255ef650 Merge remote-tracking branch 'origin/api_changes'
Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
2012-04-17 12:58:52 +02:00
Friedemann Kleint
7e0beba891 Skip tests toolbar-dialog/widget_window.
To enable merging the api_changes branch.

Task-number: QTBUG-25331
Change-Id: I90d32ca0bd96eed62bae5f01316d6360a3b435c8
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
2012-04-17 10:38:28 +02:00
Sergio Ahumada
16b53b2f0e Merge "Merge remote-tracking branch 'origin/master' into api_changes" into refs/staging/api_changes 2012-04-17 10:38:24 +02:00
Bradley T. Hughes
93055e81c8 Move XFAIL in tst_QGraphicsProxyWidget on Mac OS X
The number of paint events is correct now, but the first expected region
is still incorrect. Move the XFAIL to the region comparison.

Change-Id: I3e706cf703b20a0e98b644b3082172fc3142b44f
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-17 10:15:44 +02:00
Jason McDonald
1bbd9d8ee5 Make failures in QTimeLine autotest more stable.
QTimeLine appears to have very poor timing characteristics. Historical
CI logs show roughly one failure in every twenty-five test runs on
Windows, and less frequent failures on Mac and Linux.

The root of the problem seems to be that QTimeLine's currentTime
counter appears to run at a variable speed and the only guarantee is
that it is slower than wall time.  The frameChanged() test
function waited for double the expected duration of the timeline and
still found that the timeline had failed to finish in about one in every
thirty test runs.  The interpolation() test function also failed for the
same reason, though less often.

This commit makes the frameChanged test more strict so that the poor
timing will be demonstrated more often, waiting only 1.5 times the
duration instead of double the duration.  It also makes the test fail
gracefully so that this known issue won't disrupt CI when the test is
made significant in a later commit.

Task-number: QTBUG-24796
Change-Id: If469d43abb662e24445a9da619052eea9cf7c581
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-17 10:15:44 +02:00
Jason McDonald
5192b06ccb Fix bug in tst_QTimeLine::duration().
QTimeLine::currentTime() is an integer in the range [0..duration], not a
float in the range [0.0..1.0].  The aim of the test appears to be to
verify that currentTime() is at least 90% of the way to duration() when
the timeline is almost due to finish, so verify that and give the
corresponding 10% tolerance on reaching the end state.

Change-Id: I38646947c3b9189a4e8e91a450c6071430ddc66a
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-17 08:06:47 +02:00
Rohan McGovern
4e282e3ea2 Marked tst_QProcess as insignificant on Windows.
This test hangs ~2.6% of the time in CI.

Task-number: QTBUG-25342
Change-Id: I2c3531140e15edfe2dc2524e101b84e3206a4e61
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
2012-04-17 07:36:35 +02:00
Jędrzej Nowacki
9b06be8646 Fix tst_qtracebench benchmark.
Default QDataStream version was changed in Qt5, but the test tried to
load an old dumped file.

Change-Id: I49c06c232ec8a27f33c9da345bae4e03cd0c56fb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-17 06:19:42 +02:00
Bradley T. Hughes
5a57ddebf5 Fix tst_QDialog::deleteInExec() crash on Mac OS X
When destroying a window immediately after showing it, we can sometimes
provoke a crash in Cocoa after the show-window-animation has finished
(which appears to assume that the window's view will always be valid).
Prevent the crash by not removing the view from the window. When
recreating a window, we explicitly release the old window, but we do not
release the view, so we can freely add it to the new window (i.e. this
does not introduce new bugs related to recreating the platform window).

Task-number: QTBUG-24977
Change-Id: I466ce75b04785401032a0a2d4a2c494910cd1672
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-17 03:28:29 +02:00
Stephen Kelly
da7880b0f0 Update parent indexes first with changePersistentIndex.
Otherwise, the order of updating of the indexes will cause
inconsistent results because it will rely on ordering within a
QHash (which is indeterminate).

Task-number: QTBUG-25325

Change-Id: I7d99578c8ee2954b8562dc5aff7dc32e74d41fb5
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-17 00:47:49 +02:00
Jason McDonald
cdfdc0b4a6 Remove insignification from QLocale test for Mac OS X.
This test has not failed in the last 500 Continuous Integration runs.

Task-number: QTBUG-22769
Change-Id: Ib2e95bb2291757941baa0ea46d568816eef20b09
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-16 21:50:18 +02:00
Jason McDonald
c25fa94f8f Add bug numbers to insignificant_test markers.
Change-Id: I4033ef0bd50a1be484503886b6bfda456da26675
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-16 21:49:36 +02:00
Lars Knoll
9bd0323551 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	configure
	src/corelib/io/qurl.cpp
	src/gui/kernel/qwindow.cpp
	src/tools/moc/generator.cpp
	src/widgets/kernel/qwidget_qpa.cpp
	src/widgets/styles/qstyle.h
	src/widgets/widgets/qtabbar.cpp
	tests/auto/corelib/codecs/utf8/tst_utf8.cpp

Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
2012-04-16 12:04:34 +02:00
Stephen Kelly
77fd8fd997 Show the type and address of QObjects in debug output.
Change-Id: I9f44ab80a6fb763adc9cbaf47de8e1b97212332d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-04-16 11:35:44 +02:00
Jason McDonald
73db181e83 Put bug numbers on same line as insignificant_test markers.
This makes it easier to find insignificant tests that have no associated
bug report.

Change-Id: Ia71d59da062818d3860b0365d063e044705267fd
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-16 03:10:22 +02:00
Olivier Goffart
d2090e19a9 moc: Fix parsing of the empty preprocessor command
When encountering a null preprocessing directive (which is supposed to
be ignored), the moc preprocessor will leave a PP_NEWLINE token in the
token stream. That will confuse the parser.
The PP_NEWLINE token need to be ignored in the preprocessing phase.

Task-number: QTBUG-22717
Change-Id: I1e502a7e5bc6fa8ce2f82109ba7199b95747ff0a
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-16 00:54:19 +02:00
Thiago Macieira
e02a144a3c Finish cleaning up com.trolltech -> org.qtproject in QtDBus
Lots of uses of the annotations and error names, plus a bunch of local
unit test names (including one file that had to be renamed).

The meta object generator is updated to support both the old and new
names. That means some references to com.trolltech *must* remain in the
source code.

Task-number: QTBUG-23274
Change-Id: Icc38ae040232f07c437e7546ee744a4703f41726
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
2012-04-16 00:07:39 +02:00
Thiago Macieira
65e75acd05 Update the error codes in QtDBus
Change the old com.trolltech ones to org.qtproject and introduce Use
the alternate domain name for the Qt Project because the dash
character is not valid in interface and error names.

Task-number: QTBUG-23274
Change-Id: Iac1699e70525d67f983c10560932acff6b2ecde6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-16 00:07:25 +02:00
Giuseppe D'Angelo
51fecf80b7 Mark tst_qabstractitemmodel as insignificant after QHash randomization
The testChildrenLayoutsChanged fails randomly. This happens rarely,
f.i. wasn't spotted by CI when QHash randomization itself was merged;
but is indeed reproducible by running the test a few times in a row.

This is now blocking api_merges integration, and I have no idea
how to fix it.

This patch marks the test as insignificant for now (the bug
tracking this test failure is QTBUG-25325), and switches the failing
tests from QVERIFY(a == b) to a proper QCOMPARE (so that the
expected values do show up in the build logs).

Change-Id: I16f0e28bcbb06dbac2e7169f4676a19ccf626a92
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-15 21:00:52 +02:00
Konstantin Ritt
73b24486ed UCD-5.0: apply Corrigendum #6
http://unicode.org/versions/corrigendum6.html:
> in Unicode 5.0, the list of characters with the Bidi_Mirrored property
> was made consistent for brackets and quotation marks, in preparation for
> new constraints on bidi mirroring. However, after publication of
> Unicode 5.0.0 it was discovered that this change adversely affected
> several quotation mark characters in deployed data.

Task-number: QTBUG-25169
Change-Id: Id49caf401af2d5a1e6dbcc32b2f350aa20b7f901
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-15 03:53:07 +02:00
Girish Ramakrishnan
70cb9598af Fix tst_QMdiSubWindow::emittingOfSignals CI failures
The test fails consistently on the CI (but never fails on any
of the developer machines). This is possibly a timing issue.

Change-Id: Ie40d9c38c3128a93898b0e50bfde5a754bd2b7fb
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-14 23:27:20 +02:00
Giuseppe D'Angelo
5e24d22af0 QHash: fix key() test
The key returned by QHash::key is an arbitrary one that maps to the
given value. The test instead relied on it being a specific one.

Change-Id: I090351797e8b52036d78160fd810518a11e8107d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-14 13:51:49 +02:00
Frederik Gladhorn
eb52d31ddf Update accessibility selections in QTextControl.
Forwardport from Qt 4.

Change-Id: Iae0c2792b64b8ec2736a9ff621cf7c313a394093
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit d5649547d641b9c5af3c3f814caf8e1ab5bf9f47)
2012-04-14 13:40:03 +02:00
Mark Brand
cf52540dfb QTBUG-1363: fix QSqlField.length() for ODBC
Applied Bill King's suggestion in QTBUG-1363. Columns of
hStmt must be accessed in order.

Verified using ODBC driver on SQL Server 2005 on Windows 7.

Added test for length of text field for MS SQL Server over ODBC.

Task-Id: QTBUG-1363
Change-Id: I6673dafe75e3ef394d41e439adb45096c1421068
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-04-13 21:26:07 +02:00
Friedemann Kleint
cdc221ae00 Fix warnings in manual tests.
- Constructor order.
- Unused variables.
- size_t -> int conversions.

Change-Id: Ic5b016f41d01a4d8153ae0900b607bf946523c1d
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-13 18:15:26 +02:00
Giuseppe D'Angelo
8427ff09ab QSharedPointer: hash autotest fix
The hash autotest is wrong: it assumed that the iterator on the hash
would reach the end after iterating on two elements with identical key.
But three elements were added to that hash, and the third one
can appear after the other two.

That code path is left for the map test only.

Change-Id: I51de7987e2b132b6caff7bb4bac6a57fb7fcb530
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-13 17:05:11 +02:00
Shane Kearns
bfcfbc592c re-enable qabstractnetworkcache autotest
I have run the test 250 times in each of these configs with no
crashes observed, so assuming the instability has been fixed
by another change.
ubuntu 11.10 64 bit
ubuntu 10.04 32 bit
windows 7 msvc2010 64 bit (debug)
windows 7 msvc2010 32 bit (release)

Task-number: QTBUG-20686
Change-Id: I02bab165c263cf79684c7723eae1e278839b1e37
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-13 15:28:29 +02:00
Giuseppe D'Angelo
80c28fe3bd QRegularExpression: add more test data
Change-Id: I44d19f976ced7b073f66d0ea943fafea37940c48
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-13 15:25:19 +02:00
Shane Kearns
1424702918 Add unit test for BackgroundRequestAttribute
Change-Id: I807953cac3d23825461f9ae860badbd148835330
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-13 12:44:45 +02:00
Sergio Ahumada
87548de2ef test: Don't mark tst_qscrollbar as insignificant on Mac OS X
Just XFAIL the failing test instead of ignoring the whole test.

Task-number: QTBUG-25272
Change-Id: Iedca9913032f13c6610b049a0313c9e4336216e0
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-13 10:46:34 +02:00
Konstantin Ritt
9fd2edb6da replace hardcoded values with a surrogate handling methods
Change-Id: Ib41e08d835f2e8ca2e32b4025c6f5a99840f2e27
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-13 10:44:28 +02:00
Thorbjørn Lund Martsum
03dbba9a62 QLayoutItem - make controlTypes a virtual function.
Just implementing the ### Qt5 suggestion about making
controlTypes a virtual function.

Change-Id: Ic1db47fe488f089de965438e456e9b48e0b96f32
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-13 10:17:44 +02:00
Sergio Ahumada
58ac4658c1 test: Re-enabling tst_QScrollBar::task_209492() on Mac
This test has been XPASS'ing since a long time now.

Change-Id: Ibfcd1b5078e0b8efed9ed0740a4238d24ef8ca33
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-13 08:33:43 +02:00
Olivier Goffart
d1329e43cb moc: fix compilation of signals returning pointers.
That was a regression introduced in 1c5db1aff

Example:
  signals: int *someSignal();
would produce this code:
   int* _t0 = int*();
which does not compile

So have special handling for pointer to change it to '= 0'

Change-Id: Ie695e15e309d15c3cfd5c5a69ac8bf6d61ae9915
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-13 08:33:34 +02:00
Rohan McGovern
b7486591cd test: marked tst_qlocale as insignificant on Windows
This test hangs 2-3% of the time.

Task-number: QTBUG-25284
Change-Id: I32e01696262be2de7e015b8f811d1666551426cc
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-04-13 07:18:24 +02:00
Thiago Macieira
4d79312f1c Ensure proper handling of empty-but-present URL components
The new QUrl is able to distinguish a URL component that is empty from
one that is absent. The previous one already had that capability for
the port, fragment and query, and the new one extends that to the username,
password and path. The path did not need this handling because its
delimiter from the authority it part of the path.

For example, a URL with no username is one where it's set to QString()
(null). A URL like "http://:kde@kde.org" is understood as an
empty-but-present username, for which toString(RemovePassword) will
return "http://@kde.org", keeping the empty-but-present username.

Change-Id: I2d97a7656f3f1099e3cf400b199e68e4c480d924
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-12 23:01:37 +02:00
Bradley T. Hughes
a387fd8ee3 Do not ignore tests/auto/corelib/io/qtextstream on Mac OS X
This test no longer fails, so we can remove CONFIG+=insignificant_test

Task-number: QTBUG-22767
Change-Id: If3ca194fc982ad8fdc3e9a7f62fc346190ff01ea
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-12 21:26:42 +02:00
Bradley T. Hughes
20a36364eb Do not ignore tests/auto/corelib/io/qiodevice on Mac OS X
This test no longer fails, so we can remove CONFIG+=insignificant_test

Task-number: QTBUG-22766
Change-Id: I379873d5c483157e414201e5f8a13c3f4407f9fd
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-12 21:26:42 +02:00
Bradley T. Hughes
4b668da750 Do not ignore tests/auto/corelib/io/qfile on Mac OS X
This does not fail anymore, remove CONFIG+=insignificant_test

Change-Id: I4f98cfad563adfa460910976317c91e852db6872
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-12 21:26:42 +02:00
Friedemann Kleint
28675642f3 Build manual tests.
Add a toplevel manual.pro and other .pro-files to build them and
fix the build.

Change-Id: Ibc98a27b39dd1304edfa8a6894d62e77ce7ef387
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-12 14:50:39 +02:00
Konstantin Ritt
1035c93245 make QStringList::sort() to take a Qt::CaseSensitivity param
Task-number: QTBUG-12892

Change-Id: I402e6fb12ff24ac26c5a8103bf81547946f9cc58
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 10:39:22 +02:00
Andreas Aardal Hanssen
a9cda51517 Fixes a regression; missing cursor blink when input mask is set.
I can't say for sure why q*linecontrol passes an empty rect to
the updateNeeded() signal when an input mask is set; presumably
the empty rect at some point has meant "full update", but there
are a few problems with this. Surely a full update is wrong,
even if the semantics have been lost in translation somewhere
(likely the qlinecontrol refactoring). This fix ensures
that empty rects from updateNeeded() are interpreted as a request
to update the whole widget. A further improvement would be to
ensure the line control doesn't request a full update when an
input mask is set. The cursor is usually wider when a mask is
set but because of QLineEdit::paintEvent()'s implementation,
there is currently a mismatch between the cursor width as seen
by q*linecontrol and what is actually drawn, which causes
rendering artifacts if updateNeeded() sends the cursorRect().

Since QLineEdit and Q*LineControl aren't actively developed, it's
best to keep this fix minimal, although the performance cost of
updating the whole line edit when an input mask is set is
unfortunate.

Task-number: QTBUG-7174
Change-Id: Ie51e015d760915e07b0220b770f04fc958d93a12
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-12 04:35:22 +02:00
João Abecasis
a0a1595185 Prefer QCOMPARE to QVERIFY, as it gives better output
Done-by: Jędrzej Nowacki
Change-Id: Ic1c8fd5b8acede52b45e5ea16b14fb5bae78f171
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-12 01:56:57 +02:00
Thiago Macieira
bb03f8e812 Readd a bunch of tests that had got removed in the QUrl porting
Most of the tests were removed while QUrl::toEncoded or fromEncoded
were deprecated in the development process. Since they aren't
deprecated in the end, bring them back.

Change-Id: Ibdb6cd3c4b83869150724a8e327a03a2cd22580d
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:32 +02:00
Thiago Macieira
1b7e9dba75 Change the component formatting enum values so the default is zero
By having the default value equal to zero, we follow the principle of
least surprise. For example, if we had
      url.path()
and we refactored to
      url.path(QUrl::DecodeSpaces)

Then instead of ensuring spaces are decoded, we make spaces the only
thing encoded (unicode, delimiters and reserved characters are
encoded).

Besides, modifying the default can only be used to encode something
that wasn't encoded previously, so having the enums as Encode makes
more sense.

As a side-effect, toEncoded() does not support any extra encoding
options.

Change-Id: I2624ec446e65c2d979e9ca2f81bd3db22b00bb13
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:26 +02:00
Thiago Macieira
997ac954ab Allow {} to remain decoded in URLs in the path and query
This allows things like http://example.com/{1234-5678}?id={abcd-ef01}.
But do not allow it in other parts of the URL. I could allow it in the
fragment, but in the username and password it would be too ugly.

In order to do that, make DecodeReserved use two bits and have
PrettyDecoded set only one of them. That way, toString(PrettyDecoded)
can be distinguished from toString(PrettyDecoded | DecodeReserved),
just as path(PrettyDecoded) can be distinguished from
path(PrettyDecoded & ~DecodeDelimiters).

Also, take the opportunity to avoid decoding the reserved characters
in the query. Keep them encoded as they should be.

Change-Id: I1604a0c8015c6b03dc2fbf49ea9d1dbed96fc186
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:18 +02:00
Thiago Macieira
a01c662d37 Introduce QUrl::DecodeReserved and reorder the enums
DecodeReserved applies to all characters between 0x21 and 0x7E that
aren't unreserved, a delimiter, or the percent sign itself.

Change-Id: Ie64bddb6b814dfa3bb8380e3aa24de1bb3645a65
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:04 +02:00
Thiago Macieira
0441b2d4c3 Merge QUrl::DecodeAllDelimiters and QUrl::DecodeUnambiguousDelimiters
There's little value in having the DecodeUnambiguousDelimiters option
since neither QUrl nor QUrlQuery can return values that are ambiguous
in that particular context, ever.

This option could be used to encode a character if, when placed
in a URL, it would need to be encoded. Such cases are hash (#) or
question marks (?) in the path component, or slashes (/) and at signs
(@) in the userinfo.

However, we don't need two enums for that, since there are no
other characters that can appear in either form. Still, leave two bits
for this enum. In the future, if we want to split the gen-delims from
the sub-delims, we are able to.

Change-Id: If5416b524680eb67dd4abbe7d072ca0ef7218506
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:59 +02:00
Thiago Macieira
9af551f7ab Add a big test for QUrl encoding principles
This tests how QUrl encodes and decodes certain characters and leaves
some other ones alone. It also tests that the output of toString() (in
whichever encoding was being tested) is also parsed again to be
exactly the same as the previously decoded form.

Change-Id: Ie358d001f8b903409db61db48bde1ea679241a60
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:52 +02:00
Thiago Macieira
ef288340da Fix the handling of ambiguous delimiters in the query part of a URL
This is the same fix as the previous commit did for the other
components of the URL. But we're also changing how we handle the "[]"
characters in a query: previously the handling was like for other
sub-delims; now, they're always decoded, assuming that the RFC had a
mistake and they were meant to be decoded.

Change-Id: If4b1c3df8f341cb114f2cc4860de22f8bf0be743
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:46 +02:00
Thiago Macieira
8d3cb11261 Make QUrl handle ambiguous delimiters correctly
Refactor the way that QUrl stores and returns the components of the
URL so that ambiguous delimiters (gen-delims that could change the
meaning of the parsing) are interpreted correctly. Previously, QUrl
called "unambiguous" the form found in a full URL, even though each
item in isolation could have more characters decoded.

Now, instead, store only the fully decoded form. To recreate the
compound forms (the full URL, as well as the user info and the
authority), we need to do more processing.

This commit applies to the user name, password, path and fragment
only. The scheme, host and port do not need this work because they are
special; the query is handled separately.

Change-Id: I5907ba9b8fe048fff23c128be95668c22820663a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:41 +02:00
Shane Kearns
680f35ec1e Add unit test for usagePolicies
Change-Id: I749268d81521d84ffc709014963a0f34fbf6d74c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 22:20:03 +02:00
Friedemann Kleint
638fc652f5 Fix tst_qtextedit and remove insignification.
- The crash on XCB can no longer be reproduced.
- Use QFINDTESTDATA instead of SRCDIR defines.
- Remove Windows CE specific profile section.

Task-number: QTBUG-20756
Change-Id: I6077b3a0daacb15ab440a90c7bda247aa3756fa5
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-11 19:14:43 +02:00
Konstantin Ritt
9327bc87c3 fix QUtf8 codec to disallow codes in range [U+fdd0..U+fdef]
0xfdef-0xfdd0 is definitely 31 and not 15 :)
also fix all copy-pastes of this code (greping for '0xfdd0' helps ;)

Change-Id: I8f3bd4fd9d85f9de066f0f5df378b9188c12bd48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2012-04-11 19:14:43 +02:00
Friedemann Kleint
e2f2bfb8cc Remove insignification from tst_qgraphicsgridlayout.
Crash on XCB can no longer be reproduced.

Task-number: QTBUG-20756
Change-Id: I057231a397573f2a28a1325c6d6f728735ebbee6
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-04-11 19:14:43 +02:00
Bradley T. Hughes
a266c22bb8 Add tst_QGuiApplication::modalWindow()
This tests that modalWindow() returns the expected value and that
QEvent::WindowBlocked and QEvent::WindowUnblocked are sent correctly
when modal windows are hidden and shown.

Change-Id: I872f35e0240c928566ab35fa5764fad6cfda6db6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 16:18:07 +02:00
Lars Knoll
eff344ab8a Don't crash when comparing values containing empty arrays/objects
Task-number: QTBUG-25164

Change-Id: I1fa00e359ef3583b9a7136bb888cdf5e1c3e75ac
Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com>
2012-04-11 16:09:06 +02:00
Robin Burchell
7be255156f Deprecate qMemCopy/qMemSet in favour of their stdlib equivilents.
Just like qMalloc/qRealloc/qFree, there is absolutely no reason to wrap these
functions just to avoid an include, except to pay for it with worse runtime
performance.

On OS X, on byte sizes from 50 up to 1000, calling memset directly is 28-15%
faster(!) than adding an additional call to qMemSet. The advantage on sizes
above that is unmeasurable.

For qMemCopy, the benefits are a little more modest: 16-7%.

Change-Id: I98aa92bb765aea0448e3f20af42a039b369af0b3
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: John Brooks <john.brooks@dereferenced.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 10:46:19 +02:00
Thorbjørn Lund Martsum
699f2424eb QHeaderView - rename many spans classes and variables
In (SHA) b800d8b94a the span model
was replaced with a plain section model. The code however still has
variables and classes called someting with spans which would be
confusing for possible new readers of the code.

This patch cleans up most of it. It only renames classes,functions
and variables (and not any semantics or the public API).

Change-Id: I6ceb068c7317223f0d8e37f8032197f518d0174c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-11 01:42:12 +02:00
Konstantin Ritt
50fefebc84 replace hardcoded values with a surrogate handling methods
Change-Id: Iba079953c46a29404232d2dacbe0c90170097d51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 01:42:12 +02:00
Konstantin Ritt
8e74b5cfe4 fix digitValue() returned 0 instead of -1 for invalid ucs4 characters
Task-number: QTBUG-20318

Change-Id: I96c4c2b042bad478b7c704669e7ea0d574d3b22f
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 01:42:12 +02:00
Thiago Macieira
d4f3052a1b Adjust a double leading slash in the path for FTP to /%2F
Some FTP implementations (currently not including QNAM) strip the first
slash off the path in an FTP URL so that the path in the URL is relative
to the login path (the user's home directory). To reach the root
directory, another slash is necessary, hence the double slash.

In anticipation of future URL normalisation, which Qt 4 could do, "//"
could be rendered to "/", so this extra slash should be "%2F".

This operation is done only in QUrl::fromUserInput.

Change-Id: If9619ef6b546a3f4026cb26b74a7a5a865123609
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-10 22:54:37 +02:00
Jason McDonald
880cbf6027 Bump some Qt 5 to-do's to Qt 6.
Source-incompatible changes are no longer desirable for Qt 5, so these
items must wait until at least Qt 6.

Task-number: QTBUG-23524
Change-Id: I0b9ae5f6f3a792e0169a4b0d3aefbdcb744acd2f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-10 22:47:37 +02:00
Oswald Buddenhagen
143c4d3e13 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	configure
	src/widgets/styles/qwindowsxpstyle.cpp
	tests/auto/gui/kernel/qwindow/qwindow.pro
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
2012-04-10 15:31:45 +02:00
Pierre Rossi
a159ca80d7 Don't hardcode the default families in qfont_qpa.cpp
Since different platforms come with different fonts, we should
probably leave it up to the platform to decide which family to use.

Change-Id: I18bb81c0ce87cc7e9ac7f3abaeae1b41c0ce8410
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-04-10 12:49:34 +02:00
Rafael Roquetto
00f3299e8b Blackberry OS implementation of QStandardPaths
Change-Id: I31427b896ca691de7071da17af4863d16348df7b
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-10 10:38:10 +02:00
Giuseppe D'Angelo
4893a5422e New qHash algorithm for uchar/ushort arrays (QString, QByteArray, etc.)
Port of Robin's work from I0a53aa4581e25b351b9cb5033415b5163d05fe71
on top of the new qHash patches (the original commit just introduced
lots of conflicts, so I redid it from scratch).

This is based on the work done in the QHash benchmark over the past
few months experimenting with the performance of the string hashing
algorithm used by Java.

The Java algorithm, in turn, appears to have been based off a
variant of djb's work at http://cr.yp.to/cdb/cdb.txt.

This commit provides a performance boost of ~12-33% on the
QHash benchmark.

Unfortunately, the rcc test depends on QHash ordering.
Randomizing QHash or changing qHash will cause the test to fail
(see QTBUG-25078), so for now the testdata is changed as well.

Done-with: Robin Burchell
Change-Id: Ie05d8e21588d1b2d4bd555ef254e1eb101864b75
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-09 10:16:09 +02:00
Giuseppe D'Angelo
ea17c21fd8 QHostAddress: improve qHash implementation
Avoid the conversion to a temporary QString -- just hash the address
as a byte array.

Change-Id: Ic35cdbbc3ee66c32a28d911bd27de0092395979f
Done-with: Shane Kearns
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-08 18:25:10 +02:00
Giuseppe D'Angelo
e6e4456de0 QFileSystemModel: fix sorting
When sorting a model recursively, the children of a QFileSystemNode
are extracted from their parent in a QHash order; then filtered,
then sorted (using a stable sort) depending on the sorting column.

This means that the order of the children comparing to equal for
the chosen sort are shown in the order they were picked from the
iteration on the QHash, which isn't reliable at all.

Moreover, the criteria used in QFileSystemModelSorter for sorting
are too loose: when sorting by any column but the name, if the result
is "equality", then the file names should be used to determine
the sort order.

This patch removes the stable sort in favour of a full sort,
and fixes the criteria of soring inside QFileSystemModelSorter.

Change-Id: Idd9aece22f2ebbe77ec40d372b43cde4c200ff38
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-07 19:45:39 +02:00