summaryrefslogtreecommitdiff
path: root/src/corelib/io
Commit message (Collapse)AuthorAgeFilesLines
* QNAM: Fix upload corruptions when server closes connectionMarkus Goetz2015-04-282-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes several upload corruptions if the server closes the connection while/before we send data into it. They happen inside multiple places in the HTTP layer and are explained in the comments. Corruptions are: * The upload byte device has an in-flight signal with pending upload data, if it gets reset (because server closes the connection) then the re-send of the request was sometimes taking this stale in-flight pending upload data. * Because some signals were DirectConnection and some were QueuedConnection, there was a chance that a direct signal overtakes a queued signal. The state machine then sent data down the socket which was buffered there (and sent later) although it did not match the current state of the state machine when it was actually sent. * A socket was seen as being able to have requests sent even though it was not encrypted yet. This relates to the previous corruption where data is stored inside the socket's buffer and then sent later. The included auto test produces all fixed corruptions, I detected no regressions via the other tests. This code also adds a bit of sanity checking to protect from possible further problems. [ChangeLog][QtNetwork] Fix HTTP(s) upload corruption when server closes connection (cherry picked from commit qtbase/cff39fba10ffc10ee4dcfdc66ff6528eb26462d3) Change-Id: I9793297be6cf3edfb75b65ba03b65f7a133ef194 Reviewed-by: Richard J. Moore <rich@kde.org>
* Update copyright headersAkseli Salovaara2015-03-3188-1146/+1145
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I7e3e96183e073877b46bc8071b2ccae19e69426b Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Remove use of 'register' from Qt.Kevin Funk2014-08-111-1/+1
| | | | | | | | | | | | | | | It is deprecated and clang is warning about it [-Wdeprecated-register]. Original patch from Stephen Kelly, see commit d9fb6e6dbb2b322556d581265da2442e3b91a6a3 in qt5/qtbase This is a backport of this commit + additional manual replacements in header files. There are still some 'register' uses inside implementation files left, but headers are all 'register'-free now. Change-Id: I7225381df1f093073583d62fa86f7bd7cca869c7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Properly escape bytearray data outside the ascii range when using a codecLars Knoll2014-06-121-2/+5
| | | | | | | | | | | Some codecs can't handle the range outside ascii properly and would then fail to read the data back in correctly. Backport of change 7df8b1ada4b23acedda5724b492c26a8e322648b from Qt 5. Task-number: QTBUG-15543 Change-Id: I4c02921e787a939eeec0c7a11603b5896d756aef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Refactor OS X bundle detection for QFileInfoSamuel Gaist2014-05-021-13/+65
| | | | | | | | | | | | | | | | | | | | | CFBundleGetPackageInfoInDirectory originally used tests for the presence of information that are not mandatory in a bundle. Following Apple's documentation, the new approach is to use Uniform Type Identifier which queries the OS directly to check whether the extension conforms to kUTTypeBundle. That includes e.g. applications, frameworks etc. Then it tries to determine if the bundle can be opened with an application that is not Finder. Last thing, it checks whether the package bit is set. (cherry picked from qtbase/72d60ea08c14037250459a5424ffee7a36b909b1) (cherry picked from qtbase/bcfc68f9cd00982decd7ceb312966caf6b1ca05e) (cherry picked from qtbase/afacf694d5a6f34b88989e76971d70d700ce4949) Task-number: QTBUG-31884 Change-Id: I4ce3d8b90d116960b2044d3fafe3f745f6141416 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: Fix QDir::entryInfoList()Bernd Weimer2014-04-223-11/+12
| | | | | | | | | | | | | | If D_FLAG_FILTER is set, duplicate name entries are filtered out, so this flag has to be set along with D_FLAG_STAT in the call to dircntl. Also releaved dependencies between defines__EXT_QNX__READDIR_R, __EXT_QNX__READDIR64_R and _POSIX_THREAD_SAFE_FUNCTIONS Back-ported from qtbase: aee59f06e0017e225363d4207d3d96c2b30698e1 Change-Id: Ifa2148cc49544076fcfe8fb88e2a0dfe2404959e Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Updated year in copyright headerKai Koehne2014-03-2688-88/+88
| | | | | | | | | | | | | | | | | | find . -path '*/3rdparty/*' -prune -o -type f -print | xargs -L1 sed -i -E 's/Copyright(.*) 2013 Digia/Copyright\1 2014 Digia/g' Manually patched files: demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp src/3rdparty/s60/eiksoftkeyimage.h tools/qdoc3/test/qt-project.qdocconf tests/auto/qsharedpointer/nontracked.h tests/auto/qsharedpointer/nontracked.cpp Change-Id: I3f9074923b4d6bd4666258ab04f01476cc6e901c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add AArch64 support to qfilesystemwatcher_inotify.cppLisandro Damián Nicanor Pérez Meyer2014-03-241-0/+9
| | | | | | | | | | | | Based on a patch by Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>, licensed under CC0 (aka Public Domain) or BSD license. Backported from qtbase, commit d5dcd6d16647e4ecac239fa26ade5963f0e3f933 Change-Id: I0d01a129c039250ac33dc5f984baec9595786211 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* BlackBerry: Improve platform specific documentationBernd Weimer2014-03-181-2/+11
| | | | | | | | | | Updated BlackBerry specific documentation around QSettings to make the differences more obvious for developers. Back-ported from qtbase: 563342d7ef7e490239cba6d335849ebb91983b9a Change-Id: I603053cecff97f3222257cbba8d72d2ec2666d6f Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* do not use fileno calls in forked childJoerg Bornemann2014-03-131-4/+4
| | | | | | | | | | | | | | | | | | | | | This fixes an issue that causes QProcess::start to silently fail on OS X 10.9. Apparently, fileno(stdout) locks the handle on OS X 10.9. It may happen that the parent process fflush()s stdout while the child has just been forked. The stdout lock of the parent is never released in the child and fileno(stdout) therefore locks forever. According to the fork documentation on opengroup.org one may only call async-signal-safe functions between fork and exec in the child. The fileno() function does not appear in the list of async-signal-safe functions. Also, fileno(stdout) and friends can be easily replaced by the standard constants STDOUT_FILENO etc. Done-with: Fawzi Mohamed <fawzi.mohamed@digia.com> Task-number: QTBUG-37306 Change-Id: I2b1f5f47cc48a1ad020fb0493a955d2bc27aeb47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from qtbase/b2216bbe06b8be2bef6d8bc2ffff1337f6d23358)
* Qt 3 Support: Prevent double deletion of QObjectPrivate::threadData in ↵Friedemann Kleint2014-02-251-0/+1
| | | | | | | | | QSettings. Task-number: QTBUG-36908 Change-Id: I8f9f86f20bd8bb479c2637f6c276e4e2593ecef9 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QNX: Make use of _readdir64_rBernd Weimer2013-11-281-2/+2
| | | | | | | | | | | | Latest QNX versions support _readdir64_r. It will be used by QFileSystemIterator now, when available to support large file systems. Backport from qtbase/5d8c05baf478d8eb8cb7ce827caa2c1103f5fa3f Change-Id: I264cc39a0cae6e84ed0db2e10df5ea22c8ae3df4 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Fix sigchld-HandlerH. Rittich2013-10-181-9/+32
| | | | | | | | | | | | | | | | Changed the sigchld-Handler such that the SA_SIGINFO flag is handeled correctly. Furthermore the signal mask is preserved such that the original signal handler is not interrupted when not allowed. Backport of the patch that was added to qtbase (Qt5) in 97279d05822a70da1fb3dab083d823a5f5a008fe also contains the fix from f83fa3c95e9ac6badc393c198c8bc08bc45bea96 . Task-number: QTBUG-32979 Change-Id: Iec7663e7289ea5d95155f52cf8788ebf646cfabd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix crash in QProcess::waitForStarted() on Unix.Christian Strømme2013-08-291-3/+3
| | | | | | | | | | | | Invoking waitForStarted() on a QProcess before or after an unsuccessful call to start() (e.g., with an empty command), would execute FD_SET with an invalid file descriptor and cause the process to abort. The bug can be reliably reproduced on OSX. (cherry-picked from qtbase commit c8d9b17367cfdcb034d11f8a168ca4ae3993e7c3) Task-number: QTBUG-32958 Change-Id: Id25b7781168489281645e21571361ca1a71d43e3 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* restore QProcessEnvironment shared data thread safety on unixOswald Buddenhagen2013-08-123-8/+74
| | | | | | | | | | | | | | | | | | implicit sharing together with 'mutable' is a time bomb. we need to protect the nameMap, because concurrent "reads" may try to insert into the hash, which would go boom. we need to protect the key/value of Hash objects, because while the refcounting is atomic, the d pointer assignments are not, which would also go boom. we can simply use a QMutex to protect the whole environment, because it is very cheap in the uncontended case. Task-number: QTBUG-30779 Change-Id: Iaad5720041ca06691d75eb9c6c0e1c120d4a7b46 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qtbase/85e61297f7b02297641826332dbdbc845a88c34b)
* qfilesystemengine_mac.cpp is empty => purgeSamuel Gaist2013-07-052-49/+0
| | | | | | | | | | | All mac related qfilesystemengine operations are done in qfilesystemengine_unix. Purging it like commit bd7ca33889139782f3f0063f93ca9c1f39501a17 in qtbase Change-Id: I16ba494b699d731c3cd688cbd34b81cc67851b47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QUrl stringprep: fix handling of U+0080: it's prohibitedThiago Macieira2013-06-211-1/+1
| | | | | | | | | Edge case: a > that should have been >=. Without it, we never ran the rest of the IDN nameprepping. (cherry-picked from qtbase commit 4d93393a6de2d6631979df2bc6d12aa43781dc6f) Change-Id: I2276d660de3a70d0c561bb18816820d9a0f47e77 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: avoid recalculating the surrogates we already knowThiago Macieira2013-06-211-2/+2
| | | | | | (cherry-picked from qtbase commit 53388cd8e0451ea375ed250b59f9e89319fb3e1c) Change-Id: Icac4e81fff6f7f7fa4f46ec2a08105f8d3d2b403 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: fix handling of prohibited charactersThiago Macieira2013-06-211-11/+14
| | | | | | | | | | | | | | | | | | | | | RFC 3454 says about prohibited characters (section 2, "Preparation Overview"): 3) Prohibit -- Check for any characters that are not allowed in the output. If any are found, return an error. This is described in section 5. In other words, we mustn't simply strip the output of prohibited characters. We must generate an error if they are present. We do that by clearing the data. We already had tests for prohibited output, but they were indistinguishable from being stripped. So instead add some extra characters so that we can tell whether the label was cleared. (cherry-picked from qtbase commit 736a052d93d9c75e51e8f3da733bc8e4a50c39ce) Change-Id: I2d95217c27be5e2d54deed0036cb009e3b7f4886 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: fix case folding from non-BMP to BMPThiago Macieira2013-06-211-1/+1
| | | | | | | | | | | | | When uc > 0xffff (non-BMP character) and l == 1 (replacement is in the BMP), we must use QString::replace so the correct number of characters is replaced. There's one case testing this in tst_qurl, but it is being obscured by another bug (false positive). (cherry-picked from qtbase commit 86312275197c3fde948035a59c0358162701f9f2) Change-Id: I32388dd5bef32d4d6804aeeec4904bd5f563e9b9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: recalculate the current position if the size changesThiago Macieira2013-06-211-1/+2
| | | | | | | | | | | | | | If the case folding operation results in either expansion or reduction of the string, we need to adapt. Reduction happens most often when a non-BMP character is case-folded to a character in the BMP (example: mathematical signs at U+1D400-1D7FF). Expansion happens in the rare case of symbols containing words, like U+2121 ℡ (this is part of the unit test), and one common case: the German sharp S (ß) is expanded to "ss". (cherry-picked from qtbase commit 2ccf4c32cc593f568581dd237e1e27d39fd965a2) Change-Id: I1bdbdc908b958a89bf30e4bb648d65dfdd9097f8 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QNonContiguousByteDevice: reset() instead of seek() if possiblePeter Hartmann2013-04-271-2/+2
| | | | | | | | | | ... because e.g. QHttpMultiPartIODevice does not implement seek at all (QTBUG-30295), which would make resetting such a device fail. (cherry picked from commit 804a067846cd90e3ca31f985d539c8d75d654d82) Change-Id: I8ba1ef76cc6e7f5ebf0b39c9a75e3aea26980b82 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* QNonContiguousByteDevice: roll back complete internal state in reset()Peter Hartmann2013-03-261-0/+6
| | | | | | | | | ... otherwise we would not start reading from the beginning when the device was reset. Change-Id: I897adbad6e1f240fa871758ec7e3d6b499cb5944 (cherry-picked from commit ffe45f1896adfff93258b917f6a566dcc06a6597) Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix CreateFileMapping() error handlingPeter Kümmel2013-03-012-4/+5
| | | | | | | | | | | CreateFileMapping() returns NULL in case of an error. The patch corrects the wrong testing on INVALID_HANDLE_VALUE, and sets NULL for invalid handles. Change-Id: Iaab4945ed88ee92bbf9a0871e95a5820dd1a56ed (cherry-picked from qtbase/1a8f67938c4146614fec3788c7868dc1a314cc84) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix QTBUG-18934 by checking return value of qt_safe_pipeSimeon Bird2013-02-281-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | When QProcess->start() is called, Qt creates a pipe to the process to get its exit value and output. It does this with qt_create_pipe, which calls qt_safe_pipe. qt_safe_pipe, on failure, returns 1. qt_create_pipe then sets errno and returns void. The calling function, QProcessPrivate::startProcess, does not check errno, and thus continues to fork the process, assuming the pipe has been created successfully. The child process then has no way to pass its exit value to the calling process, since the communication pipes it would normally use do not exist, and thus when it exits it becomes a zombie. As a bonus, if waitForFinished is called on a broken process, a crash results because it is trying to wait on a pipe which does not exist. The fix makes qt_create_pipe return an integer, and QProcess::startProcess check the return value, set processError and not create the child process. Task-Number: QTBUG-18934 Cherry-picked from qtbase f575dc214630b3e3ebd66477a623c78405724468 Change-Id: I2e1effdd0617be5b8c5492bcbcf5f2b1584b2241 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed checking HOME variable return value using isEmpty()Pasi Petäjäjärvi2013-02-131-1/+1
| | | | | | | | | | | | Return value of the QFile::decodeName(qgetenv("HOME")); is never null if HOME environment variable is not set. So need to check the return value using isEmpty() instead. Task-number: QTBUG-28912 Change-Id: I7875520965bf2c0c7311fb051c1f5177e9c3685b (cherry picked from qtbase/05b4000e01ff5785739617c3069fbe0b0d36a606) Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Strip prepending <hostname>: string from currentPath() for VxSimPasi Petäjäjärvi2013-02-131-1/+9
| | | | | | | | | | | VxWorks simulator (VxSim) maps SDK rootdir usable as normal directory. Mapped directory name is either host: or <hostname>: and can be used without prepending prefix containing colon. Strip prepending string and colon to get valid native path to host SDK rootdir running VxSim. Change-Id: I15f4bf4d9eb2cea87268bad9b1a95973962cb2c8 (cherry picked from qtbase/cd5a4279f38ac6cca8ff8da4d75c2577d9b0bbcd) Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QProcessEnvironment: Permit magic cmd variablesDaniel Teske2013-02-081-1/+2
| | | | | | | | | | The cmd shell inserts magic variables starting with a = into the environment. Task-number: QTCREATORBUG-8716 Change-Id: I2f140032aea4fb1d77633c6baf90d7b536e2812a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/e7a242b27b961c64613542c75c69954d1c7bd315)
* Make compile with QT_NO_FILESYSTEMITERATORThomas Zander2013-01-305-0/+10
| | | | | | | Change-Id: Ie79dda5a48288a1d9cd4b7e0a7934ee9db48c953 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Thomas Zander <zander@kde.org> Reviewed-by: João Abecasis <joao@abecasis.name>
* Use stub functions getpwuid and getgrgid for VxWorksPasi Petäjäjärvi2013-01-281-2/+2
| | | | | | | | | | VxWorks has no concepts of users and groups, therefore no such functions exists on VxWorks. Use stub functions from qfunctions_vxworks.h for those, so we don't need to make major source code changes. Change-Id: Iaad80ec18441e3d3e9c0f96e92ccc3766b27d976 (cherry picked from qtbase/ae229b91929955e7418da938bace6d0cc6a2cde5) Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix malloc errors from legacy realpath on Mac OSX.Jeremy Nicholl2013-01-161-2/+9
| | | | | | | | | | | | | | | Avoid using realpath(X,0) on Mac OSX at all, since even on versions of OSX where realpath(X,0) is supported, we still get the legacy version due to our compiler flags. If we were to change the -mmacosx-version-min to 10.5 or higher then this patch would be safe but unnecessary. Task-number: QTBUG-28282 (cherry picked from commit 67195dc394001ee1c9adc7db97fd6ff9d88e9b0c) Change-Id: I0e763321aed71b03e6bf256d112cf4b743411626 Signed-off-by: Peter Hartmann <phartmann@rim.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Limit the range of the QUrlPrivate::port to -1 to 65535Thiago Macieira2013-01-141-1/+1
| | | | | | | | | | | | | The internal parser can read values outside this range (and cannot report an error), but QUrl::port() must not return something outside that range. The correct solution would be to report an error, like in Qt 5, but that cannot easily be done. The rewritten parser in Qt 5 is not affected by this issue. Task-number: QTBUG-28985 Change-Id: I3cf595384f14272197dcfb85943213c8f8ddeba0 Reviewed-by: David Faure (KDE) <faure@kde.org>
* QUrl::fromUserInput: fix for urls without a host.David Faure2013-01-141-2/+1
| | | | | | | | | | QUrl::fromUserInput("http://") was invalid, which doesn't make sense since QUrl("http://") is valid. Same for "smb:" which is actually even more a valid URL from a user's point of view. Change-Id: I371ac393d61b49499edf5adbbc2a90b426fe9e5d (cherry-picked from qt5 commit 8b2728ec382565c5bd57148600e34740a3c3fe52) Reviewed-by: David Faure (KDE) <faure@kde.org>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1389-89/+89
| | | | | | Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Centralise handling & ignoring of SIGPIPE in qcore_unix_p.hThiago Macieira2013-01-051-19/+1
| | | | | | | | | | | | We had two instances of this function in the Qt source code, one clearly a copy of the other, so both had the same thread-safety issue. Instead, let's have one copy and have both write_nosignal() and sendto() call them. (cherry-picked from qtbase commit cb7d64170d62c9cda11ced7e5047070af678338b) Change-Id: I0f1354a8e9df8e6b10a02f86a940e3c6d1222087 Reviewed-by: Peter Hartmann <phartmann@rim.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix thread-safety of qt_ignore_sigpipeThiago Macieira2013-01-051-1/+5
| | | | | | | | | | | | | | The testAndSet operation would mean another thread could see the value of 1 and proceed to write(2)/sendto(2) before SIGPIPE had been ignored. If the pipe or socket were already closed by then, a SIGPIPE would be delivered to the application with its default action: terminate. (cherry-picked from qtbase commit 3f970c20f9afd5c9a1cc14d7f69882e13f6aaf1b) Change-Id: I62dc8f5fa14c1dd453d13e4053c642bd78fbc468 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Peter Hartmann <phartmann@rim.com>
* QUrl: make sure setAuthority is consistent with setHostPeter Hartmann2012-12-151-1/+4
| | | | | | | | | ... which is important for an empty but non-null authority. In Qt5 this is already working. Change-Id: I7d389037f71320c6f06897b220633311c3611eea Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: ensure toEncoded() matches toString() wrt. empty authorityPeter Hartmann2012-12-151-1/+1
| | | | | | | | | | | This was already fixed for toString() with commit 884f15e, this commit also fixes the toEncoded() implementation. In Qt5 this is already working. Task-number: QTBUG-8701 Change-Id: I0c81801e74d97de31632df45e52a25eb037b4710 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: fix QProcess fd inheritanceRafael Roquetto2012-11-281-3/+18
| | | | | | | | | | | Under QNX, QProcess was not inheriting the parent's file descriptors. This patch fills in the fd_map array, containing the file descriptors to be inherited, which is passed to spawn(), accordingly. cherry-picked from qt5 226f245c71df5673b5114615fbd9ad5c285b8d3a Change-Id: Id2957c6278bc21c89234a84b364763b601ae08a1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fixes problem with single precision floats in QDataStream (Windows).Christian Strømme2012-11-281-1/+5
| | | | | | | | | | | | | | When the floating-point behavior in MSVC is set to "precise" (default), assigning nan numbers to a float causes the bit pattern to be altered (only affects 32bit builds). We should therefore not assign the swapped value back to a float and use it. Backported from Qt 5 (3f936e9094f3a6e4d76791c1eff7ae92f91b61ae) Task-number: QTBUG-25950 Change-Id: I39725557ab89c978eb1c59a4c79df8a27ed70ecf Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Do not detect directories ending in ".lnk" as link files.Friedemann Kleint2012-11-281-1/+6
| | | | | | | | Task-number: QTBUG-21863 Change-Id: I70b661fa5fcaba1293a80c971c506798826f5b23 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/1022c3ce9d445fd482a62309b9a6c52495c04a92)
* BlackBerry: Changed QSettings file accessBernd Weimer2012-11-262-5/+28
| | | | | | | | | | | | | | On the BlackBerry platform, applications run in a sandbox. They are not allowed to read or write outside of this sandbox. Hence in QSettings there is no use for the system scope and differentiating between organization and application. This change will also improve performance. Backport from qtbase: 146f63bea487dbc4d6af34b56fa382f5a6a18e82 Change-Id: I0000d6910b56cdb75728422e1889cd5f0c646eb3 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alan Alpert <aalpert@rim.com>
* Fix regression introduced in QFileSystemEntry::path()Andy Shaw2012-11-181-1/+1
| | | | | | | | | | | | When fd2eb070128ab6ef6b5c9343a0921f6b5a0bc041 was backported it shouldn't have included the change to path() as this introduced a behaviour change. This reverts that part of the patch so it is back to Qt 4.8.2 behavior. Task-number: QTBUG-27356 Change-Id: I7c19dda473e7aa2c53baed961c3b0e0d322362fe Reviewed-by: João Abecasis <joao@abecasis.name>
* QNX: Fix build with QNX SDP 6.5.Sergio Martins2012-11-071-1/+1
| | | | | | | | | | | | | __EXT_LF64SRC isn't defined in this case. This also makes it consistent with mkspecs/common/posix/qplatformdefs.h which uses QT_USE_XOPEN_LFS_EXTENSIONS and QT_LARGEFILE_SUPPORT to decide which type of stat struct to declare. Backport of b8e7265a5055da754c8b4cb2fb97b9367e83791b Change-Id: I04e990a2402aee347870c3578bf6f76b837b8e1e Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNX: Remember information on whether a file is a linkThomas McGuire2012-10-311-0/+7
| | | | | | | | | | | | | This avoids an additional call to lstat() When using QDir::entryList() with the QDir::NoSymLinks flag. This is a backport of qtbase commit 03cd922e312428aca54892039da9ed79479cfa17 Change-Id: I5ef10c369ce6790c8d0de1346436f9ea7aaa4194 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* QNX: Use extra information in dirent to avoid stat() callsThomas McGuire2012-10-313-2/+69
| | | | | | | | | | | | | This improves iterating over /usr/bin with QDirIterator by more than half, from 36 to 13 milliseconds. This is a backport of qtbase commit 391d2e37f3b301097cd23fdaf99dc34ed6a114a5 Change-Id: I45e9159c82d1840f21dbab81fc39f140490549b7 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QNX: Use inotify on QNX systems that support itThomas McGuire2012-10-303-0/+17
| | | | | | | | This is a backport of qtbase commit fc0cbef59599174589a606838a9b55ba6a07ef06 Change-Id: I27ca7222ed0e622bdae405f0802ab29e22f4cbbf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix g++/MinGW compiler warnings.Friedemann Kleint2012-09-291-2/+0
| | | | | | | | | | - Assigned/Unused variables. - Unsigned comparison >= 0 is always true. - Constructor initialization order. - Signed/Unsigned comparisons. Change-Id: I1f9edab0506573420ed0bf3055252ba48625c8eb Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2989-2137/+2137
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Refactor coreservices -> ios & QT_NO_CORESERVICES -> Q_OS_IOSIan Dean2012-09-185-19/+19
| | | | | | | Similar work was done in Qt5 in Change Id3b02316 Change-Id: I392d2a5bfffb9a335f28d5dbc5ea27b800fc4487 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>