summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
Commit message (Collapse)AuthorAgeFilesLines
* MinGW: Fix warnings.Friedemann Kleint2012-02-042-4/+4
| | | | | | | | - Special #define to access HB seems no longer necessary (it was causing about mismatching DLL import attributes). Change-Id: I57cc7d57b12a67c1d549b053db81e1f198f87786 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Build with QT_NO_CAST_FROM_BYTEARRAYStephen Kelly2012-02-021-2/+2
| | | | | Change-Id: Ibb79e372a3adf90c9f982f50ab711066063eff4a Reviewed-by: David Faure <faure@kde.org>
* Fix QTextStream and QDebug operator<< for QLatin1StringKent Hansen2012-02-023-1/+17
| | | | | | | | | QLatin1String now has a constructor that takes explicit length, which makes it possible to create a QLatin1String that isn't null-terminated. Made the QTextStream and QDebug << operators work in that case. Change-Id: I94d051ce2ebfb2d2a403b96d25e040c80a54bf7c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use QBasicMutex instead of Q_GLOBAL_STATIC QMutexOlivier Goffart2012-02-012-17/+14
| | | | | | | | | | | | | | QBasicMutex is a POD and can be used as a static global object. in qpicture.cpp factoryLoader is used only once, and under the mutex, so there is no need for Q_GLOBAL_STATIC for it, it can be a function static in qhostinfo_unix.cpp the code seemed wrong while compiled with namespace and QT_NO_GETADDRINFO. I also could get rid of one include because it was included earlier. Change-Id: I3c700203c3e067266c20733f4bda8031446dbb86 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix parsingMode not used anymore, detected by compiler warningDavid Faure2012-02-011-2/+3
| | | | | | | | This came from replacing d->parsingMode with parsingMode when moving the method to the Private class. Change-Id: I5a025ea1128dacda97d265d401a329dbbbfb0ff7 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Windows: Fix inclusion of <windows.h>Friedemann Kleint2012-02-019-29/+26
| | | | | | | | | | | | | - Always use <qt_windows.h> as the last file to be included. - Remove it from some headers, use Qt::HANDLE instead of HANDLE. - Clean up #ifdef, use Q_OS_WIN for Windows/Windows CE. - Add NOMINMAX to qt_windows.h to avoid problems with the min/max macros. - Remove <windows.h> from qplatformdefs.h (VS2005) Change-Id: Ic44e2cb3eafce38e1ad645c3bf85745439398e50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* QtDebug: Include file, line, function informationKai Koehne2012-02-011-22/+5
| | | | | | | | | | | | | | Record the file, line, and function where a qDebug, qWarning, qCritical or qFatal call happens, and make this information available in a custom message handler. The patch uses the C preprocessor to replace qDebug, qWarning, ... with a line that also records the current file, line, and function. Custom message handlers can access this information via a new QMessageLogContext argument. Change-Id: I0a9b89c1d137e41775932d3b1a35da4ebf12d18d Reviewed-by: David Faure <faure@kde.org>
* QDir::NoDotAndDotDot is now QDir::NoDot|QDir::NoDotDot.Jonas M. Gastal2012-01-313-4/+1
| | | | | | Change-Id: I8ef7782258c2ec02ad2ec2a5d5cab90f53c62aa3 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Allow function types to be registered without workaroundsJoão Abecasis2012-01-311-6/+0
| | | | | | | | | | | | | | | | | Commit 4b8ceb41aed352f10d36db5284453f425dbc5f3f added the requirement that pointed-to types need to be registered when registering pointer types. Unfortunately, the implementation also affects function pointer types. This change whitelists 0, 1, 2 and 3 argument functions as not deriving from QObject, forgoing the need to workaround details of the type registration implementation when registering those function pointer types. Change-Id: I4d855e9d70a8179a6e31b84623ad5bf063e0d6d8 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* MinGW build fixes for QWindowsPipeReader and friendsJoerg Bornemann2012-01-313-3/+6
| | | | | Change-Id: Ie4d6017c6fb918e7796d1a5e8863e9368e4e1894 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* mkdtemp() support for QNX platformRafael Roquetto2012-01-311-0/+36
| | | | | | Change-Id: I30feebbbcdbe065e899a048da20ac887d4d48a4f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Update contact address in license headers.Jason McDonald2012-01-312-2/+2
| | | | | Change-Id: I35bf916087511f26bfeb49ceb3256d9a20fbc1c0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove Symbian specific code from QtCore.Xizhi Zhu2012-01-3022-742/+45
| | | | | Change-Id: I131303e28a12dccb96de3de4ca0073b389a9bbae Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Removing Qt5 note that would break SC.Jonas Gastal2012-01-301-2/+0
| | | | | | | | | | This would be a silent behaviour change and is not particularly needed. Change-Id: Iee1e48408e605d671dfe0402880df3c93a14a8c7 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3094-94/+94
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix BC break with QAbstractFileEngine "mount points"Shane Kearns2012-01-291-0/+5
| | | | | | | | | | | | | | | | | | File system cached metadata can't be trusted when custom file engines are in use, because the custom file engine may want to override the metadata. (e.g. present an archive file as a directory) Therefore, check if a file engine should be instantiated for each result in QDirIterator. This is a fast check if no custom file engines are registered. When pushing a directory (using QDirIterator::SubDirectories) the file engine needs to be instantiated also. Task-number: QTBUG-23688 Task-number: ou1cimx1#965023 Change-Id: I0114c8df6258535553783a2486131c4194926649 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> (cherry picked from 3864ad09d578210b52e5f58fca2ee8a1144f5be2)
* QUrl: deprecate setEncodedUrl() and fromEncoded(), add url().David Faure2012-01-282-30/+48
| | | | | | | | | setEncodedUrl() isn't necessary anymore now that setUrl can handle encoded (and partially encoded) urls. url() is added for symmetry with setUrl(). Change-Id: I4e671482a5635a86797421ca50882db9cd60d852 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: use partially-decoded data in toString and QUrl(QString)David Faure2012-01-281-9/+34
| | | | | | | | | | | | | This fixes round-trip bugs. People expect to be able to do QUrl u(...); QString s = u.toString(); QUrl u2(s); and have u==u2. This was not true for paths containing a '#', for instance, which would be parsed back as a fragment. The solution is to make toString output partially decoded data (more readable than toEncoded, but not decoded to the point of changing the meaning, if parsing it back later as a QUrl), and to make the QUrl constructor work with partially decoded data. Change-Id: I013c01e8947d538435f3c20fc4ec57cd9ccbba6c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QProcess/Win: use asynchronous I/O for reading stdout and stderrJoerg Bornemann2012-01-265-59/+116
| | | | | | | | This saves us from using the 100 ms polling timer to read process output. Task-number: QTBUG-23012 Change-Id: I3f9398d7a4d30826d2d89ac04bd2fd031500ff57 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QProcess/Win: use named pipes for redirecting standard I/OJoerg Bornemann2012-01-261-21/+51
| | | | | | | | Named pipes allow us to make use of overlapped I/O for redirected stdin, stdout and stderr. Change-Id: I50191b036bce696147139b200ddbc6c31c16112b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QStandardPaths: remove unused includes (leftovers from qdesktopservices)David Faure2012-01-262-6/+0
| | | | | Change-Id: I6fe23ecd04adc7dd68573dd0d6d01888c0cf71b6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* QUrl: Implement a number of ## Qt5 TODOs (merging overloads)David Faure2012-01-262-84/+22
| | | | | Change-Id: I629c20f10e3667937d488ea30f93bf86f980ee1a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cleanup mess in public type ids.Jędrzej Nowacki2012-01-252-2/+2
| | | | | | | | | | | | | | | | | | There is no reason to keep two separated core types sets. It couldn't be fixed before Qt5 because of binary compatibility promise. This patch merges QMetaType core types with ext core types. This "simple" operation consists of: - QDataStream version was incremented, because type ids are saved in QVariant's data stream. - QMetaType LastExtCoreType and FirstExtCoreType were replaced by LastCoreType, FirstCoreType and new QMetaType::HighestInternalId. - New tests checking QVariant data stream for Qt4 and for Qt5 versions were added. Change-Id: I02dd74d29317365c297a789a4eb7c9c5edc3b231 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fixed fileiterator issue for WEC7.Janne Anttila2012-01-251-0/+2
| | | | | | | | | | | | | | WEC7 does not support FIND_FIRST_EX_LARGE_FETCH with FindFirstFileEx, but windowsVersion for WEC7 is still resolved as WV_WINDOWS7. If the FIND_FIRST_EX_LARGE_FETCH flag is passed to FindFirstFileEx in WEC7, the method does never find any files from given directory. Changed FIND_FIRST_EX_LARGE_FETCH flag to apply only when Q_OS_WINCE is not defined. Task-number: QTBUG-22503 Change-Id: Ic38cf745cda7ee7b23da67dc390ac0e6d04158cd Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-2521-21/+0
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Store the is-a QObject fact with the metatype declaration.Stephen Kelly2012-01-241-0/+7
| | | | | | | | | | | | | | This is a source incompatible change for Q_DECLARE_METATYPE(T*), which now requires T to be fully defined. The consequences of this are: * Forward declared types can no longer be declared as a metatype. (though this is a very uncommon thing to do). There is a trivial workaround where necessary. Change-Id: Id74c40088b8c0b466fcd7c55abd616f69acc82c8 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make QUrl always lowercase the scheme().David Faure2012-01-241-3/+4
| | | | | | | | | | | | URL schemes can only contain alphanumeric characters and all protocols specify that they are case-insensitive. So instead of doing case-insensitive comparison everywhere and then get it wrong sometimes, better to lower-case it here. Change-Id: I61f51a3f4c85b90af1586ebcf69608987fbe2ec3 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* use QWinOverlappedIoNotifier in QWindowsPipeReaderJoerg Bornemann2012-01-242-91/+83
| | | | | Change-Id: I71d5feaa07e8febd6c562be1dc6d7790e3a1606c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QWinOverlappedIoNotifier introducedJoerg Bornemann2012-01-243-1/+334
| | | | | | | | | | | For asynchronous (overlapped) I/O notification on Windows one can now use the convenience class QWinOverlappedIoNotifier. It's using one global I/O completion port and a watching thread to get notified when a read or write operation completes. Change-Id: If6f904b364be0405580c7e50355529ab136ae3cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add missing documentation to QTemporaryDir constructorsDavid Faure2012-01-241-0/+20
| | | | | | Change-Id: Ic7dea331695fa4653e4b963fef8383f44c3b1fb8 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove uses of qMalloc/qFree from out of line code.Robin Burchell2012-01-231-4/+4
| | | | | | | | There is no need to use these, and we are trying to deprecate them. Change-Id: I70e6f27aca322fe74c31d8ad8496f230cd29e503 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qfilesystemengine_win.cpp: compile with namespaced QtJoerg Bornemann2012-01-231-7/+6
| | | | | | | | SidCleanup struct must not be in the INCLUDE_NAMESPACE. Change-Id: Ic51f1734af583c0ba7f715f7b27f314211e698c5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: hjk <qthjk@ovi.com>
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Id689fdb78727abafba033bed7b0402e2cf27aba1 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2392-92/+92
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix incorrect check for error when monitoring a path using inotify.Robin Burchell2012-01-211-1/+1
| | | | | | | | | | | Per the manpage, inotify_add_watch will return -1 in the case of error, 0 is a valid watch descriptor. Task-number: QTBUG-12564 Change-Id: I56a54de2f5cf18b40aaeddc6de51d18dacbf8daf Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove QBool and use bool instead.David Faure2012-01-204-19/+0
| | | | | | | | | | | | QBool was introduced with Qt-4.0, to detect Qt3-like code like if (c.contains(d) == 2) and break compilation on such constructs. This isn't necessary anymore, given that such code couldn't possibly compile in Qt4 times. And QBool was confusing developers, and creating compile errors (e.g. QVariant doesn't have support for it), so better remove it for Qt 5. Change-Id: I6642f43f5e12b872f98abb56600186179f072b09 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Q_CC_MWERKS.Robin Burchell2012-01-192-2/+2
| | | | | | | | This is no longer supported. Change-Id: I3914f5007595fd699fa1e9a565a0a3f59a0e135e Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Remove QDir::convertSeparators()Lars Knoll2012-01-192-15/+0
| | | | | | | | | This method has been deprecated since Qt 4.2. QDir::toNativeSeparators() replaces it since then. Change-Id: I49e6e1bfd50f26aa30134e599ee82067709549a7 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Revert "fix NTFS mount points"Joerg Bornemann2012-01-193-24/+11
| | | | | | | | | | We agreed on treating neither junctions nor mount points as symlinks. This will be handled in another commit. This reverts commit 1656c4780cc6c1d96f47522046f3f53b1eebb95a. Change-Id: I41a87b6df9f7fba333df4c967ee9f0c1f3940952 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* fix NTFS mount pointsJoerg Bornemann2012-01-173-11/+24
| | | | | | | | | | | | NTFS mount points are not treated as symlinks, because they might not have a link target. This is the case when a volume is mounted as a single mount point without a drive letter. This patch fixes building Qt in an NTFS mount point. Task-number: QTBUG-20431 Change-Id: Ie2e15212e1a7ca7fa0067b7ca8857e243e42c21a Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
* Fixed QFile::link behaviour for WinCE devices.Janne Anttila2012-01-131-0/+1
| | | | | | | | | | In WEC7 both arguments given for ScCreateShortcut needs to be given in Windows format. Apparently older WinCE devices has accepted also Unix format but this is not anymore true for WEC7. The Windows format works for older WinCE versions as well. Change-Id: Ic1f394e20bae8ad42acb46929d3ff4af92daf310 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Windows: Fix qt_ntfs_permission_lookupMiikka Heikkinen2012-01-131-11/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | Specifying qt_ntfs_permission_lookup++ in application code didn't make qfilesystemengine_win.cpp respect Windows ACL as it was supposed to. This was because GetTokenInformation for TokenUser failed always in resolveLibs() function, because the TOKEN_USER struct that was given to it wasn't large enough to contain both TOKEN_USER and SID structs that GetTokenInformation wants to return in this case. Fixed by calling GetTokenInformation twice, first to determine the required size, and then another time to get the actual token info. Additionally, the SID returned as part of the token info needs to be stored for the lifetime of the application, as the TRUSTEE_W struct has a pointer to it (currentUserTrusteeW). The worldTrusteeW initialization also required a change to properly store the SID. Note: The dynamic resolution of FreeSid and other SID manipulating functions doesn't appear to be necessary, as they are found on the same ifdef level (in winbase.h) as the GetTokenInformation, which already isn't dynamically resolved. Task-number: QTBUG-247 Change-Id: I0294c85ea903c86d03c2fcd3d801502b378dc0e5 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Build fix for WINCE to qfsfileengine_win.cppJanne Anttila2012-01-131-1/+1
| | | | | | | | | | | | | | | QFileSystemEngine::currentPath() returns QFileSystemEntry, but this method expects QString return value. -> Code does not compile for WinCE Switched code to use "QFileSystemEngine::currentPath().filePath()" correspondigly as Windows desktop does if filename does not contain drive letter. This is ok, since WinCE does not support drive letters. Task-number: QTBUG-22499 Change-Id: Ic4935357c40cda30efcd2e1c7d69bf2ef7b31dd0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* Make QFtp private.Jonas M. Gastal2012-01-122-7/+3
| | | | | | | | | All references to QFtp in documentation have been removed, QFtp's documentaiton was marked internal. The QFtp example was removed. Task-number: QTBUG-23199 Change-Id: Ifff83cac069fb350e8ebeae63e605850e65c0c30 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Make QFileSystemWatcherEngines children of QFileSystemWatcherBradley T. Hughes2012-01-129-36/+33
| | | | | | | | | | To support moving QFileSystemWatcher to another thread, the engines need to follow when the watcher is moved. The easiest way to do this is by parenting the engines to the watcher. Change-Id: Ie2bb701c0c148da9cc2302d4de23286b8ef42c4d Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Do not call moveToThread(this) in QWindowsFileSystemWatcherEngineThreadBradley T. Hughes2012-01-121-1/+0
| | | | | | | | | This is considered bad practice, and gives no benefit as the threads do not use an eventloop. Change-Id: I0de9eca97948571cf5091e2f1b19bb1faab3e2ac Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QFileSystemWatcher/Windows: Output paths if FindNext fails.Friedemann Kleint2012-01-121-3/+15
| | | | | Change-Id: I72bd28868c84d37e3dd4ea8ab892fa092d853d4a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove unnecessary QMutexes in QFileSystemWatcher implementationsBradley T. Hughes2012-01-127-90/+69
| | | | | | | | | | | | | The polling, inotify, and kqueue implementations are no longer threaded, and as such, do not need mutexes to protect their internal data (since QFileSystemWatcher itself is not documented as a thread-safe API). The Windows implementation is unchanged as it uses multiple threads explicitly. Change-Id: Ia82510397e576bf704ce3aed3d776b58b39f7ff3 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Avoid races when destroying QFileSystemWatcherBradley T. Hughes2012-01-122-0/+2
| | | | | | | | | | | | | | | On Mac OS X, socket notifiers need to be disabled/destroyed before closing their associated file descriptor, otherwise we cause races inside the CFSocket system. The documentation for CFSocketInvalidate() says that we close the file descriptor after calling this function when the kCFSocketCloseOnInvalidate flag is explicitly cleared (QCocoaEventDispatcher clears this flag). Do the same on the Linux inotify watcher as well, for symmetry. Change-Id: I5592cc4bb5be4b752e48d895a685d3c92826acc7 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Docs: Forward-ported typo and link fixes from Qt 4.8Janne Anttila2012-01-111-1/+1
| | | | | | | | | | | | | This commit brings already accepted doc fixes to Qt5. Task-number: QTBUG-9224 Task-number: QTBUG-13442 Task-number: QTBUG-19858 Task-number: QTBUG-21447 Change-Id: I2ebc7c3e74427545367bdcec51e9e710a4925747 Merge-request: 1402 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>