summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * Update PCRE to SVN r1622 (8.38 + patches)Giuseppe D'Angelo2016-01-049-157/+284
| | | | | | | | | | | | | | | | | | | | In preparation for the 5.6 release. Upstream changelog: http://vcs.pcre.org/pcre/code/trunk/ChangeLog?revision=1622&view=markup&pathrev=1622 Upstream changes: http://vcs.pcre.org/pcre/code/trunk/?pathrev=1622 Change-Id: I97fb23f6b42f4871f05daa726c2edfc691a16d8e Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * QNativeSocketEngine: fix undefined variable on FreeBSDDmitry Shachnev2016-01-021-1/+1
| | | | | | | | | | Change-Id: I192e20eef4db27fc19ec9a6e517ae5c8cb88897c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Suspend processing of some messages in the default busses by defaultThiago Macieira2016-01-025-7/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To retain a bit compatibility with applications developed in the last 9 years that expect that QDBusConnections won't process their events until the event loop runs, we now suspend the handling of incoming messages in the two default buses (and only in them) and resume when the event loop starts. This is required because the new threaded QtDBus would otherwise process incoming messages that the application didn't expect it to. For example, if the application first acquires names on the bus and only after that registers objects with QtDBus, there's a small window in which the name is acquired and visible to other applications, but no objects are registered yet. Calls to those objects may be received, would then be processed in the QDBusConnectionManager thread and fail. The work around is to disable the actual handling of method calls and signals in QDBusConnectionPrivate::handleMessage. Instead, those messages are queued until later. Due to the way that libdbus-1 works, outgoing method calls that are waiting for replies are not affected, since their processing does not happen in handleMessage(). [ChangeLog][Important Behavior Changes] QtDBus now uses threads to implement processing of incoming and outgoing messages. This solves a number of thread safety issues and fixes an architectural problem that would cause all processing to stop if a particular thread (usually the main thread) were blocked in any operation. On the flip side, application developers need to know that modifications to a QDBusConnection may be visible immediately on the connection, so they should be done in an order that won't allow for incomplete states to be observed (for example, first register all objects, then acquire service names). Change-Id: I39cc61d0d59846ab8c23ffff1423c6d555f6ee0a Reviewed-by: David Faure <david.faure@kdab.com>
| * Add a default argument to QDBusPendingCallWatcher::finished signalThiago Macieira2016-01-021-1/+1
| | | | | | | | | | | | | | | | So we can do connect(&watcher, SIGNAL(finished()), receiver, SLOT(foo())); Change-Id: I39cc61d0d59846ab8c23ffff14241d33fecf2d53 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
| * Remove unused member variable QDBusConnectionPrivate::timeoutsPendingAddThiago Macieira2016-01-021-2/+0
| | | | | | | | | | | | | | | | They're never pending, since we add them immediately since commit 186d8814407ccb3e221537d9797172c37127bc51. Change-Id: I39cc61d0d59846ab8c23ffff14241be6785ad5a0 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
| * QSocks5SocketEngine: Always try to connect in connectToHost unless already ↵Robin Burchell2015-12-301-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | connecting. Otherwise, connectInternal becomes a no-op after an initial connection attempt has been made (making the socket effectively useless if that connection attempt fails). A workaround is to close() the socket, which worked by virtue of QAbstractSocket's close() disconnecting (which ultimately calls resetSocketLayer, and destroys the socket engine instance) - meaning that the next connection attempt would have a fresh socks instance to try out the connection with. Reported-by: Gabe Edwards <gabe.edwards@me.com> Change-Id: Iab1e84af6d4248fd75a6dfe5e79a3c73129aae0b Reviewed-by: Richard J. Moore <rich@kde.org>
| * Fix incorrect screen number reported by QDesktopWidgetBłażej Szczygieł2015-12-302-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Screens connected to separate graphics cards are detected as separate screens which don't have offset. This patch fixes obtaining the screen number by QWidget: it uses the screen assigned to the root widget. The patch also assigns a proper QScreen to each QDesktopWidget screen(). It also fixes closing a popup menu by clicking on another screen. Task-number: QTBUG-48545 Change-Id: I3d76261c0c067293d39949c4428b2d8dfd085dc7 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Cleanup memory owned by QTestTablePrivateFrank Meerkoetter2015-12-301-0/+5
| | | | | | | | | | | | | | | | | | | | Since 7a42c8c15c59ef5fe84e6f293f2c97d38b85599c QTestTablePrivate no longer cleans up the memory it holds in dataList. This will make tools such as valgrind/address-sanitizer generate a lot of noise about directly or indirectly leaked memory. Change-Id: Ic0900ecdd7b76cda9f5366f3950bccde2f1b244c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * Change a QList of pointers to QVectorThiago Macieira2015-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | QList of pointers is optimum, but QVector should provide the same performance (we aren't using the beginning-of-list feature that QList has and QVector doesn't). But since we're using QVector elsewhere, this should be better. Change-Id: I39cc61d0d59846ab8c23ffff14241c6715e2eb00 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * QMimeDatabase: follow symlinks when checking for FIFO etc.David Faure2015-12-291-1/+2
| | | | | | | | | | | | | | | | | | This was documented, but not what the code did. Task-number: QTBUG-48529 Change-Id: I4849778c61dcae13be27c62b24717693c0c07d78 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * CMake: Add -fPIC to CXX flags only where necessaryKevin Funk2015-12-281-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, Qt5Core_EXECUTABLE_COMPILE_FLAGS was populated with -fPIC unconditionally. This causes warnings on MSVC, since the compiler does not understand this flag. In fact, -fPIC is only required in case an older release of CMake is being used and the compiler is GCC 5.x (according to documentation), so let's really add it just in this case. Task-number: QTBUG-47942 Change-Id: I9d09b8b257a0647235d6d781ee5c023af34f8f88 Reviewed-by: Stephen Kelly <steveire@gmail.com>
| * Default to OpenGLES when building with -opengl es2Allan Sandfeld Jensen2015-12-251-0/+4
| | | | | | | | | | | | | | | | | | | | Fixes the xcb_glx plugin to follow the -opengl configure option for default surface types. This makes it match closer to xcb_egl behavior and makes the default match QOpenGLContext::openGLModuleType. Change-Id: Iea3f8069fffefa46a32945eeeea1312566df129f Task-number: QTBUG-50015 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * xcb: Add Xinerama 3rd party source code for static buildBłażej Szczygieł2015-12-224-3/+1468
| | | | | | | | | | Change-Id: I421d0bcf3fd6362ad6e95db5cfcdefd1a9ec096f Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * xcb: Add Xinerama supportBłażej Szczygieł2015-12-226-19/+75
| | | | | | | | | | | | | | | | | | This patch makes possible to use Xinerama screens in XCB platform plugin. Task-number: QTBUG-48615 Change-Id: Ib4dbfcdfadc46d2875a2fc09e8b852181edfbed2 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Fix QJsonValue::fromVariant() if the variant contains a json objectLars Knoll2015-12-221-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | If the variant contains a known json type (value, array, object or document), simply unwrap those. In the case of the json document wrap the contained object/array into a QJsonValue. This should be the expected behavior, and makes more sense than returning a null QJsonValue. Task-number: QTBUG-41234 Change-Id: Id084fc11220d51aaf78b7694fd0ebef1411f5c51 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QUrl: revert path-normalization in setPath().David Faure2015-12-221-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Path normalization should happen only when NormalizePathSegments is set. Use a less intrusive fix for the setPath("//path") issue that commit aba336c2b4ad8 was about. This allows fromLocalFile("/tmp/.") to keep the "/." at the end, which is useful for appending to the path later on (e.g. to get "/tmp/.hidden") Change-Id: Ibc3d4d3276c1d3aaee1774e21e24d01af38fa880 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QStandardPaths: warn if $XDG_RUNTIME_DIR doesn't existDavid Faure2015-12-221-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | If the environment variable is set, but points to a non-existing directory, the user would get a warning about chmod failing. Better be clear and warn about the fact that the directory itself doesn't exist. Also warn if $XDG_RUNTIME_DIR points to a file rather than a directory. Task-number: QTBUG-48771 Change-Id: If84e72d768528ea4b80260afbbc18709b7b738a8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Docu: fix documentation of QHostAddress() default constructor.David Faure2015-12-221-1/+1
| | | | | | | | | | | | | | | | | | In Qt3 this would indeed be equivalent to QHostAddress("0.0.0.0"). But since Qt4, it creates an address of type Null, and QHostAddress()==QHostAddress("0.0.0.0") is no longer true. Change-Id: I28025421e77c861783c612c2225be345dad5615a Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
| * QHeaderView: Reset cached section sizes on font and style changeGabriel de Dietrich2015-12-211-3/+5
| | | | | | | | | | | | | | | | Change-Id: I7ce88b7e43249499343a9aae6acb806dd9c41f31 Task-number: QTBUG-33855 Task-number: QTBUG-37153 Task-number: QTBUG-50010 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QHeaderView and others: Fix font lookup nameGabriel de Dietrich2015-12-212-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It should the the actual class name, without any suffix. This also allows us to use the painter font when rendering CE_HeaderLabel and, as a consequence, change QHeaderView's font through the usual methods. Change-Id: I0b13ee349f5fa505be66a9c884c26885f5fc468f Task-number: QTBUG-33855 Task-number: QTBUG-37153 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Add DEPENDS option to qt5_wrap_cpp()Daniel Levin2015-12-211-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the moc rule does not support dependency scanning, so after successful moc file generation it will ignore implicit dependencies in the header file. Although this works in most typical scenarios, at least in one case incremental builds become broken: when using Q_PLUGIN_METADATA() with the FILE argument. If FILE refers to a JSON file and latter was updated, then the expected behavior is to regenerate the moc file. Since CMake add_custom_command() does not support late dependency setup, all dependencies should be explicitly listed in a DEPENDS section. This patch adds the DEPENDS multiarg option to qt5_wrap_cpp(), allowing to specify additional dependencies to the moc rule. Task-number: QTBUG-44009 Change-Id: I2052ce23d3cb0c87c6bd99fcb7e8a71a7be9a330 Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Daniel Levin <dendy.ua@gmail.com>
| * qprocessordetection.h: Fix detection of 32-bit ARMv8Thiago Macieira2015-12-211-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more future-proof. It fixes the detection of 32-bit on ARMv8-A processors since it uses the __ARM_ARCH macro that GCC and Clang define. For MSVC, we use _M_ARM, which also contains the architecture version. MSVC does not currently support ARMv8 code, but when it does, this commit should make the support automatic. I don't know which compiler defines __TARGET_ARM_ARCH, but support it too. Change-Id: I8de47ed6c7be4847b99bffff141c8ede54a849eb Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
| * Fix visibility of bundled zlib symbols with mingwJohn Brooks2015-12-211-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | When QT_VISIBILITY_AVAILABLE is defined, the zlib header would use visibility("default") instead of Q_DECL_EXPORT, but Windows needs dllexport for these symbols to be available to QtGui/QtNetwork. In practice, Q_CORE_EXPORT always has the correct behavior for the zlib symbols. Change-Id: I7ab8080528e437260f822ac33e9e4334e2a0fdc8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Remove superfluous ReleaseSemaphore/WFSO callsJoerg Bornemann2015-12-212-13/+16
| | | | | | | | | | | | | | | | | | Factor out the dispatching of IO results into a separate function. Do not increment the semaphore count in waitForAnyNotified just to decrement it again in _q_notified. Change-Id: I7d4a04b679bb152ab3a5025513f885aee276d086 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Fix broken permission to mode mappingFrank Meerkoetter2015-12-191-3/+3
| | | | | | | | | | | | | | Fixes coverity CID154258. Change-Id: Ia958d24c533c4f0077abd363ee4c041cc2cdb6f0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Make template instantiation in QFactoryLoader explicitUlf Hermann2016-01-061-1/+1
| | | | | | | | | | | | | | gcc 4.9.2 does not understand it otherwise. Change-Id: I131a14c526c1213665fdbbeb75032e41eac6cd63 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | CMake: Enable C++11 support on Qt5 targetsKevin Funk2016-01-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Implicitly add the minimum required `-std=...` to Qt5 module targets. Use the newly introduced INTERFACE_COMPILE_FEATURES property for this, which is available starting from CMake version 3.1. This also fixes the Qt5 CMake tests, which previously try-compiled projects using Qt 5.7 headers in non-C++11 mode, thus failed. Change-Id: I54fc0e07403b646b5d6ac3ab6b8b47119b4feef6 Reviewed-by: Stephen Kelly <steveire@gmail.com>
* | Optimize QListViewPrivate::draggablePaintPairs()Marc Mutz2016-01-061-2/+3
| | | | | | | | | | | | | | | | | | Instead of converting a QVector to a QList to a QSet just to be able to look up some indexes, take the original QVector, sort it, and use std::binary_search(). Change-Id: If56e9371972b9aaebb033a8a499be306163266e2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | xcb: use qLoadPlugin()Marc Mutz2016-01-052-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | ... instead of rolling your own. qLoadPlugin() expects the create() method of the Plugin class to take at least the QString key. Since this plugin create() method doesn't take one, supply a wrapper. Change-Id: I690fecd3390cc706a45f40ba06dda2b952ff0d85 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | eglfs: use qLoadPlugin()Marc Mutz2016-01-052-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | ... instead of rolling your own. qLoadPlugin() expects the create() method of the Plugin class to take at least the QString key. Since this plugin create() method doesn't take one, supply a wrapper. Change-Id: I5b90b4b87e83f2e8a2e8942b792bb39b87d5f2de Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QAbstractSocket: remove unused 'connectTimeElapsed' memberAlex Trotsenko2016-01-052-7/+0
| | | | | | | | | | | | Change-Id: If73198fb034b6a52b5081379a2bc69052d307454 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QLocale: Accept trailing junk in qstrtod()Ulf Hermann2016-01-052-8/+18
| | | | | | | | | | | | | | | | | | | | | | qstrtod() used to accept trailing junk until libdouble-conversion was introduced and we need this behavior in order to implement EcmaScript's parseFloat() correctly. The QString and QByteArray methods should not accept trailing junk, though. Task-number: QTBUG-50131 Change-Id: Ide922da0d65b2576be2c9f47f6053057eff77994 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QFactoryLoader: generalize qLoadPlugin()Marc Mutz2016-01-055-24/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use perfect forwarding for the additional argument. - Provide a variadic template version - Deprecate qLoadPlugin1() — there's no reason for a different name — and fix all callers in qtbase. - Provide non-variadic overloads for up to three additional args (QPlatformIntegration rolled its own function because it needs three args). Change-Id: I72fb2dd9a021de704cbf5e4b6ea31c80447fb3b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QStateMachine: replace a QPair with a small structMarc Mutz2016-01-052-19/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of QPair made the return type of initializeAnimation() so complicated, that the original author opted to declare the pair on one line, then assign to it in the next, to keep below the line length limit. She also copied a member of the pair just so as to give it a descriptive name. Fix both by introducing a small result struct. It has a nicer name, compared to the pair, but still port callers to use 'auto'. The member names are descriptive enough now. Saves more than 0.5KiB in text size on optimized GCC 4.9 Linux AMD64 builds, too. Change-Id: I7ed007ffa0fb16e182e38cd405cfd54da4e363fb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | [docs] Gently steer people away from QPairMarc Mutz2016-01-052-0/+21
| | | | | | | | | | | | Change-Id: Ib0fb69f856606612d516426732f619422630c93f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QtCore: eradicate all Q_FOREACH loops [tools]Marc Mutz2016-01-046-25/+24
| | | | | | | | | | | | | | | | Saves just under 5.5KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I6d868a7d2e469cf0564127b0e66cd7b272a0c9cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QMimeDatabase: replace a QStack<QString> with std::stack<QString, QStringList>Marc Mutz2016-01-041-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A QStringList is almost as efficient as a QVector<QString>. More importantly, the QStringList case can share code with the myriad of other QStringList users, in particular because std::stack is but the thinnest of wrappers around its underlying container. Saves 1400b in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: If37ed55802aa8a529ca772df465990ded0aaba7f Reviewed-by: David Faure <david.faure@kdab.com>
* | QMimeAllGlobPatterns: optimize string handling in matchingGlobs()Marc Mutz2016-01-041-1/+2
| | | | | | | | | | | | | | ... by not re-creating the same string in every loop iteration. Change-Id: If17c5980bec8276b531267b309578dac8901c93e Reviewed-by: David Faure <david.faure@kdab.com>
* | Make ephemeral server key availableSebastian Lösch2016-01-045-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When using cipher algorithms with forward secrecy an ephemeral key is used to generate the symmetric session key. Beside the SSL certificate's key, this ephemeral key is of cryptographic interest. The ephemeral key is chosen by the server side - currently statically in the Qt implementation - so it is only of interest on the client side to check it. Therefore the ephemeral key is the null key if the connection is set up in server mode or a cipher without forward secrecy is used. Change-Id: If241247dbb8490a91233ae47f2b38952c6591bf4 Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* | Remove Windows-specific handling of the write notifiers on socketsAlex Trotsenko2016-01-041-14/+2
| | | | | | | | | | | | | | | | | | | | There is no need in special OS dependent code now, because the socket notifiers got the identical behavior on all platforms. Change-Id: I53ee51cd5eeff328e0b73f7325d2c9e883c5b213 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Print correct OS name if it is a server versionAndré Klitzing2016-01-041-7/+11
| | | | | | | | | | | | | | https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833%28v=vs.85%29.aspx Change-Id: I7ee4c78959696ee2b662899a6a1408cfd1ebcacd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Print out "Service Pack" version of underlying WindowsAndré Klitzing2016-01-041-7/+27
| | | | | | | | | | | | Change-Id: I1f7dbf8f1244e8b7bf2f459fdce381838d776dbe Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QtCore: eradicate all Q_FOREACH loops [io]Marc Mutz2016-01-049-20/+19
| | | | | | | | | | | | | | | | Saves more than 1KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I1a974e903bc8352af800fa26edae0194c1e51705 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QWindowsFileSystemWatcher: increase concurrency when canceling threadsMarc Mutz2016-01-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code asked each thread to stop, and then waited for that one thread to finish before deleting it and turning to the next thread in line. Split the three actions, ie. first ask all threads to stop, then wait for all threads to finish, and only then delete all of them. Apart from being more icache-friendly, this enables more concurrency, as stopped threads' cleanup work can overlap with other's, thus reducing the wait() time per thread to potentially zero. Did not replicate the inefficient foreach loop, but went with C++11 range-fors directly. Change-Id: I53e598e31999a772c0f81ff5885490216e13d492 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtCore: eradicate all Q_FOREACH loops [itemmodels]Marc Mutz2016-01-045-9/+10
| | | | | | | | | | | | | | | | Saves more than 4KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: Ice3fe915622a399d1ed10e0ce364cf54b4b835fe Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QtCore: eradicate all Q_FOREACH loops [statemachine]Marc Mutz2016-01-041-22/+25
| | | | | | | | | | | | | | | | Saves a bit over 2.5KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I18a635d65a3c20c4bf5ec2cbfa4ed81a8153cab3 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QtCore: eradicate all Q_FOREACH loops [threads, plugins]Marc Mutz2016-01-045-7/+8
| | | | | | | | | | | | | | | | | | Saves just shy of 4KiB in text size on optimized GCC 4.9 Linux AMD64 builds, iow: ~0.07% of the total QtCore library size. Change-Id: I87fdcc8ee25c6bb5dabddb9a694ab4496b1538fa Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtCore: eradicate all Q_FOREACH loops [mimetypes]Marc Mutz2016-01-045-25/+24
| | | | | | | | | | | | | | | | | | Saves just shy of 6KiB in text size on optimized GCC 4.9 Linux AMD64 builds, iow: ~0.1% of the total QtCore library size. Change-Id: I087e1e34a64944affb1211e16371e314012c4b2c Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QtOpenGL: eradicate all remaining Q_FOREACH loopsMarc Mutz2016-01-041-3/+3
| | | | | | | | | | | | | | | | | | Not many left. Still 344b saved in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I51ba49fe065854f84e26d25d7da5e26427ea2c0b Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QLineEdit: de-inline effective*TextMargin()Marc Mutz2016-01-042-21/+22
| | | | | | | | | | | | | | | | Saves 327b in text size, but done mainly because such functions shouldn't be inline in the first place. Change-Id: Ieea97f13620e4411dc01cb0d390bd668c13cfa7a Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>