summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Flag QGraphicsView test as unstable on Mac.Toby Tomkins2012-02-221-1/+1
| | | | | | | Task-number: QTBUG-24296 Change-Id: I9f748c368fbc0cc2b272be9400da95d774d51bde Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Drop file-engine abstraction from public APIJoão Abecasis2012-02-2237-419/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This abstraction imposed serious performance penalties and is being dropped from the public API. In particular, by allowing file names to be arbitrarily hijacked by different file engines, and requiring engines to be instantiated in order to decide, it imposed unnecessary overhead on all file operations. Another flaw in the design with direct impact on performance is how engines have no way to provide (or retain) additional information obtained when querying the filesystem. In many places this has meant repeated operations on the file system, where useful information is immediately discarded to be queried again subsequently. For Qt 4.8 a major refactoring of the code base took place to allow bypassing the file-engine abstraction in select places, with considerable performance gains observed. In Qt 5 it is expected we'll be able to take this further, reaping even more benefits, but the abstraction has to go. [Dropping this now does not preclude that virtual file systems make an appearance in Qt at a later point in Qt 5's lifecycle. Hopefully with a new and improved abstraction.] Forward declarations for QFileExtension(Result) were dropped, as the classes were never used or defined. Tests using "internalized" classes will only fully run on developer builds. QFSFileEngine was removed altogether from exception safety test, as it isn't its intent to test internal API. Change-Id: Ie910e6c2628be202ea9e05366b091d6d529b246b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Correct pkg-config usage to respect sysrootDonald Carr2012-02-221-4/+4
| | | | | | | | | | | | | | | | | Direct use of pkg-config variables disregards the sysroot offset pkg-config factors into consideration with the dedicated variables: --cflags-only-I --libs-only-L these parameters exist exactly for this reason. Change-Id: Ieecf31ebe0640f64b272b84fba22701aacf8f966 Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix potential race condition in data structure of adopted thread watcherjian liang2012-02-221-1/+3
| | | | | | | | | | | | Fix potential race condition in data structure of adopted thread watcher in Windows. Since QVector is not thread safe, it is not safe to read and append data to qt_adopted_thread_handles or qt_adopted_qthread simultaneously in qthread_win.cpp. This patch fix this race condition. Change-Id: I2d0c7a4cdde5390d38d15c98343f0fc6ddd24aba Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Merge overloadsRichard Moore2012-02-222-83/+2
| | | | | | | Fixes ### Qt 5 Change-Id: I2846593616635440e17c8a9ce518780561992b84 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge overloads.Richard Moore2012-02-222-28/+1
| | | | | | | Fixes a Qt 5 TODO Change-Id: Ide3159a5b979bd8e8a1edefff7fccb98dbe9a78e Reviewed-by: Pierre Rossi <pierre.rossi@nokia.com>
* QElapsedTimer/Win: Fix 64-bit integer overflowJonathan Liu2012-02-221-1/+3
| | | | | | | | | | | | | The ticksToNanoseconds function in qelapsedtimer_win.cpp multiplies ticks from performance counter with 1000000000 which can sometimes result in 64-bit integer overflow. This can cause the elapsed time to reset or jump around. Task-number: QTBUG-23150 Change-Id: I464503e03cbe64e13906e773beafbf88e7dc256a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit f30a91ba9d98de1a0ebee5608ba289ac35871a8c)
* Fix the qlocalsocket testAndrew Stanley-Jones2012-02-211-1/+3
| | | | | | | | | | | | | | | | | This test is broken in a couple of ways. A few one line fixes combined into a single patch. 1. Linux is the only OS that does abstract unix domain sockets by prepending a null as the first character. Don't test this on non-Linux platforms and expect it to pass. 2. Change QVERIFY2 to QCOMPARE so we can see why this fails in CI but no on the local system. Use QCOMPARE where possible. Change-Id: Ic3d2cf9696730dc4d6589539fdfe8a48ccf28de5 Reviewed-by: Alex <alex.blasche@nokia.com>
* Enable qlocalsocket auto testAndrew Stanley-Jones2012-02-211-1/+1
| | | | | | | | Due to recent changes in the test it should now compile and run properly. This re-enables the test. Change-Id: I6c647d99fa1f1b1c53e006fef2865d6be08ec16c Reviewed-by: Alex <alex.blasche@nokia.com>
* Fix error in addrlen fieldAndrew Stanley-Jones2012-02-211-1/+1
| | | | | | | | addrlen must be initialize to the amount of space available in the buffer. Change-Id: I52945d780bba9d22aeaa7ac5a35a0e54dbea60dc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Give the compile flags an EXECUTABLE_ prefix.Stephen Kelly2012-02-219-2/+34
| | | | | | | | The fPIE flag should only be used with executables. Change-Id: If799ae4a7fe2492af3aac67651659a52d365024a Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add GL_BGR to the list of defined GL constants, right next to GL_BGRASimon Hausmann2012-02-211-0/+3
| | | | | | | | We use this one in WebKit's OpenGL texture mapper and it would be convenient to have it here if it's not defined by the platform. Change-Id: Idae33e49773e21c6290b164bccd4f209cf9820a2 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* make resolution of default spec less inefficientOswald Buddenhagen2012-02-212-35/+29
| | | | | | | resolve only once, in particular on unix. Change-Id: I090698fc6029322a3a16d179d461af3e8336f6ad Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* revamp reading of bootstrap variablesOswald Buddenhagen2012-02-211-57/+84
| | | | | | | | make the "evaluator" able to process simple variable expansions. cache the processed spec, so it is not re-read for every variable. Change-Id: I20e69ec7b65faa7d571e68dbfea6c21c79a62641 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* regenerate unicode tables after rittk's patchesOswald Buddenhagen2012-02-211-196/+196
| | | | | Change-Id: I60b416fc2dc2f0ccbcf13288a9ba2a42547269ec Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* optimize QString::toLower()/toUpper() for special cases, step 2Konstantin Ritt2012-02-212-6/+10
| | | | | | | | | | | from now, QUnicodeTables::specialCaseMap[] starts with a placeholder; so, if somethingCaseSpecial is true, then somethingCaseDiff is always greater than 0 Change-Id: Ibb1870512836eee71b1521564c0745096c05b2f9 Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* optimize QString::toLower()/toUpper() for special cases, step 1Konstantin Ritt2012-02-212-26/+39
| | | | | | | | | | | reorganize QUnicodeTables::specialCaseMap as follows: specialCaseMap contains sequence entries in form { length, a, b, .. } Change-Id: Iea1f80bc2f4dc1f505428dad981cde26daaa52c7 Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* optimize QString::toCaseFolded()Konstantin Ritt2012-02-211-16/+36
| | | | | | | | | | use the codepath similar to QString::toLower() Change-Id: Ica1948c5e9c82199307d9f823e07d42b50d59480 Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* optimize handling of surrogate pairs in toLower()/toUpper()Konstantin Ritt2012-02-211-33/+51
| | | | | | | | | | | | high surrogate part never changes on upper/lower casing (which tested explicitly in the qunicodetables generator), thus we can copy the high surrogate part in the loop Change-Id: I24642b35eea7596c6ad494f2a7bc670f10b759a8 Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* replace 'const QChar &' with 'QChar ' where appropriateKonstantin Ritt2012-02-2119-30/+30
| | | | | | | | | as QChar is actually an ushort and there is no point in taking its address. Merge-request: 69 Change-Id: Idcc9d621e5627514ade006aa12a789a88929d48b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Move QSysInfo out of qglobal.h and into a separate headerBradley T. Hughes2012-02-213-102/+157
| | | | | | | | | qsysinfo.h is still included by qglobal.h, but it may be possible to remove the include from qglobal.h and instead include qsysinfo.h only where needed (e.g. qendian.h, qdatastream.h). Change-Id: Ifa2c72e0dae206d88eaa192e15a906297673c048 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: implement copy assignment operator inlineMarc Mutz2012-02-212-15/+3
| | | | | | | | | | Implement the copy-assignment operator inline, using the copy-swap idiom. This makes assignment strongly exception safe, but also simplifies maintainence, because op= is formulated in terms of the copy constructor now. Change-Id: I803c9100a520d659b685992237cb76fd114222c8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Print out the try_compile output for tests expected to fail.Stephen Kelly2012-02-211-0/+2
| | | | | | | | This way, ctest -V shows that it fails for the expected reason. Change-Id: I97589d4e90d889ea0b10dbd6192526712dbfdd8e Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* remove bizarre late feeding of user_configs into base_varsOswald Buddenhagen2012-02-211-7/+0
| | | | | | | | there is no obvious reason why this should happen. if base_vars is used again, the user configs will be parsed again, too. Change-Id: Ib56e01a468cdb5e81d610bcaf0163bf730cbae05 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* qmimetype: Fix test failure when LC_ALL is set.David Faure2012-02-211-0/+1
| | | | | | | | | | | | This code sets LANG=en_US so that the method comment(), which returns a translated name, can be compared with an expected result in English. (QMimeType::comment uses QLocale::system().name() and QLocale::system().uiLanguages()) But LANG= has no effect if LC_ALL is set, so LC_ALL needs to be cleared (or set to en_US) for the test to work. Change-Id: Icb031057769be9bc8c0fcab65daa45e7bf1d5b18 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Test for QT_NO_SSL instead of QT_NO_OPENSSLShane Kearns2012-02-2135-144/+144
| | | | | | | | Change the ifdefs in our own code (except openssl backend) to use the new configure flag. Change-Id: I8774734771c66b22164b5fae8fdb27814ac3df7b Reviewed-by: Richard J. Moore <rich@kde.org>
* Make qget manual test compile without ssl supportShane Kearns2012-02-212-0/+6
| | | | | Change-Id: I35f92328b79df1cfcae52fa6ff8290f260183aea Reviewed-by: Richard J. Moore <rich@kde.org>
* Make https requests fail fast when configured without ssl supportShane Kearns2012-02-212-1/+8
| | | | | | | | | | | | Restored the Qt4 behaviour where attempting a https request using QNetworkAccessManager fails with ProtocolUnsupportedError instead of timing out or hanging. Covered by existing autotests. Task-number: QTBUG-17189 Change-Id: Iceb1ba6558c7d2b1af8ddf8d4ea9315a5b44d970 Reviewed-by: Richard J. Moore <rich@kde.org>
* QEasingCurve: simplify and fix copy constructorMarc Mutz2012-02-211-4/+6
| | | | | | | | | | | | | | | | | | | | | | The copy constructor used the default Private constructor, followed by the application of the compiler-generated copy assignment operator, and finally replaced the config member with a copy of itself. This is needlessly inefficient. Worse: it's incorrect: if config->copy() throws, then *d_ptr is leaked. Solution: implement the copy constructor for Private, and use it in the copy constructor of the public class. Effect: everything that can throw now prevents the new Private class from being created, and the compiler ends up cleaning up after us. Change-Id: I09ed18bb39ee7cd81aaa8ba01676fc202502a8e3 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QHash: more robust use of qDebug()Marc Mutz2012-02-211-1/+1
| | | | | | | | I'm sure 'line' can't contain anything resembling a format string, but better safe than sorry. Change-Id: I0aa0f4a5a03d97b18d6a866c27fa721fcbe0f77b Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QEasingCurve: implement move constructorMarc Mutz2012-02-212-0/+7
| | | | | | | | | | | | | | | | | | | | | The move constructor sets other.d_ptr to zero. This is safe, because after being moved from, the object is left in a state in which it can be safely destroyed (delete nullptr is a no-op). It cannot meaningfully be used anymore (most members will crash with a nullptr dereference), but in most cases, the moved-from object cannot be accessed anyway (not a named object), and if a named object is moved from, it must have been through explicit std::move(), as in the test case. The STL makes better guarantees (moved-from containers are .empty()), but I don't think it's worth introducing a null state into QEasingCurve just for supporting a use-case that should be considered a bug anyway. Change-Id: I4115b7386cdea6960507da6843a0d0196d8e4139 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: implement move-assignment operatorMarc Mutz2012-02-212-0/+23
| | | | | | | | Implemented as in QPen etc. Change-Id: I65b43c6ec7308ca4b44f614594c15c41ab2f89f9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: add member-swapMarc Mutz2012-02-213-0/+17
| | | | | | | | Implementated as in QPen etc. Change-Id: Ia08551bf7902b60e115d1b1d2353030597e34841 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: mark as Q_MOVABLE_TYPEMarc Mutz2012-02-211-0/+1
| | | | | | | | | The private data doesn't contain any back-links to the public class, afaics. So QEasingCurve qualifies for movable. Change-Id: Id8ab186fc0a25740458341256b53425dc40bce37 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Use requested window format to match rest of the patch in 38257651Tor Arne Vestbø2012-02-211-1/+1
| | | | | | | | | Otherwise we end up with an error at runtime: QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x4b5c58 Change-Id: I1e794f427243e40f0a8f572a936b9fb756e89f8a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Port badxml autotest to QMetaObjectBuilderKent Hansen2012-02-212-16/+16
| | | | | | | | | | | | | | The meta-object format is going to change for Qt5. Use QMOB to insulate the badxml test from such changes. (It just so happens that the QFAIL("a failure") statement is still on line 109 after the refactoring, so the expected_badxml.* files' location tags did not have to be changed.) Change-Id: I04421d13c4df71c8004fa71cafc4823a59079a41 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Rename Q_MUTEX_LINUX to QT_LINUX_FUTEXHarald Fernengel2012-02-212-6/+6
| | | | | | | As requested by Thiago Change-Id: Ie5b00cf4e530e19d360d0bc588f0f051e04b338f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* moc: Fix loading of plugins in release mode.Friedemann Kleint2012-02-211-26/+40
| | | | | | | | | | | | Generate the plugin meta data with "debug" set to false/true in two code sections #ifdefed QT_NO_DEBUG. Do not use the value of QT_NO_DEBUG set at moc compile time which does not work in release mode/Windows. Change-Id: I0252795ed063bebb2c3b3784f880e64845b5b7e7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Streamline QPalette initialization code.Friedemann Kleint2012-02-211-26/+32
| | | | | | | Share the brushes to reduce memory usage by QBrushData. Change-Id: I04044b4c54b1f6a35a73d8bb4d299661ec0136a5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use new plugin system for Input Context plugins.Friedemann Kleint2012-02-217-5/+21
| | | | | Change-Id: Ifd1f63499afba546a745815762263a58ebf66460 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QHeaderView - create a union to save some space.Thorbjørn Lund Martsum2012-02-211-3/+5
| | | | | | | | | Beside saving some space it also ensures a bit faster vector operations (remove and insert memcpy) - and lower the risk for a cache-miss. (Many operations seems to be about 5-10% faster in the benchmark). Change-Id: If8109e2146c25f642015906375dfbb449706ce8e Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QHeaderview - many sections removed performance boost.Thorbjørn Lund Martsum2012-02-212-2/+23
| | | | | | | | | | | | | | | | | | | When the QHeaderView model rowCount is decreased then the headerview needs to remove some sections. If e.g swapSections had occured then qheaderview before this patch did a very slow removal by removing one section at a time and for each section it restored visual and logical indexes. By temporarily storing the logical index on the section we can reduce the execution time of this a lot. The old code is only faster when we remove one index (and is kept for that situation) There is a complexity in difference (and many factors in our qheaderview benchmark (the trunc part)) Change-Id: If45eab17fbca3364d458b004980570b5d013e4bd Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove qMacVersion()Bradley T. Hughes2012-02-215-17/+15
| | | | | | | | Add QSysInfo::macVersion() instead, to match the windowsVersion() function. Change-Id: I783e59583ca21653d25586156cbb0cb1f301868b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix qlogging test.Friedemann Kleint2012-02-211-2/+3
| | | | | | | Build app sub-process first. Change-Id: I87a11f7fd5d8a82584e496722f79e236191b0fb3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Improve tst_QPrinterInfo::testForDefaultPrinter().Jason McDonald2012-02-211-1/+2
| | | | | | | Be explicit about skipping the test when no default printer is present. Change-Id: If69b275eb0f490411471ec42798d8aefcc57fd83 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Allow printer names to contain hyphens in QPrinterInfo test.Jason McDonald2012-02-211-1/+1
| | | | | Change-Id: I473627413d2f1cd5637704f2948eb07a264be49e Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix warning about unregistered metatype in QWindow autotest.Jason McDonald2012-02-211-0/+2
| | | | | Change-Id: If9d8d7e1cd52815ef7231294e4890dfafcd28ec8 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Flag two tests (Win+A, Simon+G) in parseString as expect fail on OSX.Toby Tomkins2012-02-212-2/+5
| | | | | | | | | | | Remove previously defined insignificant test flag as the number of tests failing has been reduced. Task-number: QTBUG-24406 Task-number: QTBUG-23058 Change-Id: I01b41f30469cf7a440e21195e105cb30a8db76e2 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Make the QApplication autotest work for shadow builds.Jason McDonald2012-02-211-3/+22
| | | | | | | Use QFINDTESTDATA to locate the helper applications. Change-Id: I604d10e37c9367f2e95225864edf5bf705f1d961 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* tst_qapplication: mark expected failure on macRohan McGovern2012-02-211-0/+11
| | | | | | | | | | The tab key behavior in Qt5 no longer respects the "Text boxes and lists only" tab navigation option in OSX, which is the default. This is a regression since Qt4. Task-number: QTBUG-24372 Change-Id: I54c1663f8fb259dd847083432102a0bfad7dd69c Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>