summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
Commit message (Collapse)AuthorAgeFilesLines
* QTimeZone - Change Olsen ID to IANA IDJohn Layt2013-11-211-18/+18
| | | | | | | | | | | | | | | The name Olson was misspelled as Olsen in the public api of QTimeZone which is needed to be fixed before first public release in 5.2 would freeze the api and prevent it being fixed. It has been decided that renaming as IANA ID would be more future-proof. Fixes to the private code will be done separately to keep this patch against release branch to the minimum required. Task-number: QTBUG-34735 Change-Id: I8ee90644862c907f6d1937b8536f0c02583ae736 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* tst_QAlgorithms: fix compilation with C++11 enabledMarc Mutz2013-11-171-1/+1
| | | | | | | | | | GCC refuses to use a merely static const uint array in a constexpr function. Fix by making the array constexpr if supported by the compiler. Change-Id: Idd59d3f74f8f4e98aad82bc892f4a6469932df9f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCollator: enable move semanticsMarc Mutz2013-11-173-0/+100
| | | | | | | | | | | | | | | This necessitates adding d==0 checks in QCollator. By documenting that moved-from instances can only be assigned to or destroyed, we can limit the functions in which to check for d==0 to the assignment operator and the destructor. Doing otherwise would destroy all advantages of move semantics by introducing a heap allocation to re-populate other.d. Add a test for this (QCollator didn't have any before). Change-Id: Ic6ff202072822bebfd5e48259c3d0fa345a63118 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change platform selectors to match qmake selectorsAlan Alpert2013-11-1518-7/+45
| | | | | | | | | | Previously matched Qt.platform.os, however that can only provide one string. Multiple selectors can be present at once, so we can provide both unix and linux instead of having to pick the most specialized one. Task-number: QTBUG-34796 Change-Id: I219517d740fa7385e923a9e09cb7e241378fbaee Reviewed-by: David Faure <david.faure@kdab.com>
* qcompilerdetection.h: add Q_COMPILER_UNIFORM_INITMarc Mutz2013-11-151-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to now, the feature classe Uniform Initialization was subsumed by the Q_COMPILER_INITIALIZER_LISTS flag together with support for std::initializer_list. This caused at least two problems: 1. On QNX, the standard libray does not ship <initializer_list>, even though the compiler (a GCC 4.6, IIRC) supports it. But since there was only one Q_COMPILER flag for both, support for the compiler-only part of the feature had to be disabled, too. 2. MSVC 2013 supports initializer lists, but has a bug that renders full uniform initialization support, as required for QUuid, useless. By splitting the feature into two, we can separate them better, and do so in QUuid, which is the only class that currently takes advantage of uniform initialization (to provide constexpr constructors). Since Q_COMPILER_INITIALIZER_LISTS worked as a flag for uniform initialization so far, with the two known exceptions above, UNIFORM_INIT is defined whenever INITIALIZER_LIST is, except that I don't revert UNIFORM_INIT on QNX as I do for INITIALIZER_LISTS and that I expect the MSVC 2013 features to set INITIALIZER_LIST, but not UNIFORM_INIT. Task-number: QTBUG-34705 Change-Id: I81916e950a0f3aab3de7977e0326d2de3d31b14c Reviewed-by: Yuchen Deng <loaden@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QVariant: Convert automatically from enum types to integral types.Olivier Goffart2013-11-081-0/+84
| | | | | | | | | [ChangeLog][QtCore][QVariant] Variant containing enum types can now be converted to integer Change-Id: Ibbbc9ae29ab45d67c582fa2d406afc19c5dc41ce Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix QVariant::canConvert with longlongOlivier Goffart2013-11-081-3/+26
| | | | | | | | | | | Add few cases where conversion to or from LongLong was missing We need to make it work if we want to use variant.canConvert<qint64> [ChangeLog][QtCore][QVariant] Fixed QVariant::canConvert with longlong Change-Id: I0f65073802b62d99250601dd90a8cd2e4d934b60 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Revert "Add tracing to logging framework"Kai Koehne2013-11-071-1/+0
| | | | | | | | | | | | | | | | | | | The tracing API still misses some real-world exposure. Let's re-do this in dev to have more time. This reverts parts of following commits: 466e0dff4bb686e51d0ab3f905631fcb7dd8bfef 7a47aebe9ed41d6cd9c9bcd45758d4d553668e99 a652bab6a7ebf78b029fea95c2801deb6f4f524a 8f0654ceb878b6c8a08c7f5b790027c26e007c13 4162522edd9d31bd2798ab37f083adff818d886e 32f27b4367c4e042a3f0cda671579494e31c1d69 9ff81bdc1ab4e3d14914192cd63ae625a507fe90 Change-Id: If97340c37b8b3363f597683336a8390d5ff386f1 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* tst_QFlags: make constExpr() check compile on clang trunkMarc Mutz2013-11-071-1/+1
| | | | | | | | | | | | | | | | | The problem is the verifyConstExpr<>() line involving the ~ operator. The result as an integer is a value that can no longer be represented in an int. This is known at compile time and thus template deduction, which only has an int to match against, fails. To fix, use an unsigned int as the first template argument of verifyConstExpr<>(). Clang's error message for this is really sub-optimal, cf. http://llvm.org/bugs/show_bug.cgi?id=17834 Change-Id: I3a77dc54d2bee12b016d75724ac1bd7801f4cf2d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QIntegerForSize: add testMarc Mutz2013-11-061-0/+15
| | | | | | | | | Make sure that the size of QIntegerForSize<N>::{Signed,Unsigned} is actually N. Change-Id: I221304f7c420e80758ef7b115bafb7cf1f8c8829 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QStandardPaths: add GenericConfigLocationDavid Faure2013-11-051-2/+8
| | | | | | | | | | | | | | | | This is what ConfigLocation was meant to be. A directory shared by all applications. Unfortunately when I wrote the fallback on Windows, I picked DataLocation (which is app-specific) instead of GenericDataLocation (which is shared between apps). This makes it impossible to have config files shared between apps, e.g. for libraries. It also makes ConfigLocation quite inconsistent (on Windows one cannot use it to load another app's config file, while it works everywhere else). All this is fixed by GenericConfigLocation, which is shared between apps. Change-Id: I23a755131061d4fea01e13dd1038fbd8ef333a5d Reviewed-by: Alex Richardson <arichardson.kde@googlemail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qurl: add test for matches() with empty vs null caseDavid Faure2013-11-051-0/+8
| | | | | Change-Id: I0f31eed9af0a7f1aed9ce5118b49ddbbff4f5f39 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Test that QMetaObject::invokeMethod is exception safeOlivier Goffart2013-11-051-0/+38
| | | | | | | Change-Id: Ie4662b7e475dc3d1ce9f36e8219361d9507622b4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Test exceptions in signals and slotsOlivier Goffart2013-11-051-0/+97
| | | | | | | | Only DirectConnection is tested Change-Id: I525c6a65428489c34e58d1d9600b4e5ebda733b9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* remove qt_windows.h include from qwineventnotifier.hJoerg Bornemann2013-10-292-1/+2
| | | | | | | | | | | We must not include qt_windows.h in public headers, otherwise we're cluttering the environment with a colorful bouquet of Windows API preprocessor macros and typedefs. Task-number: QTBUG-34058 Change-Id: I415717ea2a47f39e7f4b7ce1c1df9d49afc99278 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QLocale: Add auto tests for Poruguese(Brazil) and Greek localesEl Mehdi Fekari2013-10-291-0/+9
| | | | | Change-Id: Ib1b553efb39a150710ceb609d2cb099f19f73e35 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* tests: Replace Q_OS_MACX -> Q_OS_OSXSergio Ahumada2013-10-211-5/+5
| | | | | | | | Use the correct identifier for the OS X operating system. Change-Id: I7158a6b77e5e7418bc6b0a565f003500820a346d Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* exclude gui-needing tests from -no-gui buildOswald Buddenhagen2013-10-183-1/+10
| | | | | Change-Id: I91f7211efe44cbb41aa3058f85869a6babf121f3 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QDateTime - Fix RFC 2822 Date FormattingJohn Layt2013-10-171-0/+4
| | | | | | | | | The RFC 2822 date format should always use en_US locale for month and day names instead of whatever the system locale is. Also remove some duplicate code. Change-Id: Ia2f7ee405b4e0e2f04980301783b9488628da73f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow non-character codes in utf8 stringsKurt Pattyn2013-10-175-47/+62
| | | | | | | | | | | | | | | | | | | | | | | | Changed the processing of non-character code handling in the UTF8 codec. Non-character codes are now accepted in QStrings, QUrls and QJson strings. Unit tests were adapted accordingly. For more info about non-character codes, see: http://www.unicode.org/versions/corrigendum9.html [ChangeLog][QtCore][QUtf8] UTF-8 now accepts non-character unicode points; these are not replaced by the replacement character anymore [ChangeLog][QtCore][QUrl] QUrl now fully accepts non-character unicode points; they are encoded as percent characters; they can also be pretty decoded [ChangeLog][QtCore][QJson] The Writer and the Parser now fully accept non-character unicode points. Change-Id: I77cf4f0e6210741eac8082912a0b6118eced4f77 Task-number: QTBUG-33229 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime - Fix toTimeSpec() for invalid datetimesJohn Layt2013-10-161-0/+21
| | | | | | | | | | Check if the datetime is valid before converting it to a different time spec. If it is invalid then just change the spec to keep behavior consistent with 5.1. Task-number: QTBUG-34020 Change-Id: I6630ec1d50f810a2178ab3222bd32af018085f81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Print non-default categories in default message handlerKai Koehne2013-10-162-7/+14
| | | | | | | | | | | | | | | | | | | Change the default output of the logging framework to prefix messages with a 'category: ' in case the category is not "default", so that e.g. QLoggingCategory cat("qt.core.codes.windows"); qCWarning(cat) << "MultiByteToWideChar: Cannot convert multibyte text"; will print qt.core.codes.windows: MultiByteToWideChar: Cannot convert multibyte text while output from qWarning etc will show unaltered output. This should help users to discover categories, and to group output together. Change-Id: Iac2e1514f7dc5671966c36a440a119c857564cfc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* don't test Qt::codecForHtml() - build with -no-guiOswald Buddenhagen2013-10-162-3/+2
| | | | | | | | the function is a trivial wrapper for the QTextCodec one, so there is little point in explicitly testing it. Change-Id: I0c4950e5a54b7ffff9ba73a001cedb517497a596 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* don't erroneously claim that gui support is neededOswald Buddenhagen2013-10-1612-9/+12
| | | | | Change-Id: Ia7b1f02cab9fa0fc9e487ca49d75e85ed0cfee9d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add missing operators QMargins -=,+= (int).Friedemann Kleint2013-10-151-0/+6
| | | | | | | Task-number: QTBUG-34079 Change-Id: If61cc01ba70345b01f13072769d3a38f23e8cefc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* rewrite qtMetaObjectInheritance() without guiOswald Buddenhagen2013-10-112-9/+9
| | | | | Change-Id: Ie024a3ee755cfe4996ed442686cd73ce13a2d5ff Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Let QLoggingCategory::defaultCategory return a pointerhjk2013-10-111-16/+16
| | | | | | | | The pointer can be null. Going trough the reference invokes undefined behavior here. Change-Id: Ia84e4e732cdcbbaee0f5f0679765d18069ea8b2d Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Allow to use short names for Windows Registry root keysSebastian Schuberth2013-10-071-0/+13
| | | | | | Change-Id: I58b7681bb49e93b7577bc559d754c81d3c6f007b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Replace QLoggingCategory::isEnabled by non-template functionshjk2013-10-061-18/+20
| | | | | | | | | This yields the same results as previously and is more in line with existing interfaces. Change-Id: I0bf0372bf18f3bfde579385cddbe594bf71e3c52 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix potential crash: adding int to stringFrederik Gladhorn2013-10-041-1/+1
| | | | | | | | | | | | | qtbase/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp:652:36: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] f.write(QByteArray("i am " + i)); ~~~~~~~~^~~ qtbase/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp:652:36: note: use array indexing to silence this warning f.write(QByteArray("i am " + i)); ^ & [ ] Change-Id: Icc966559be3c2cde3416193b8a1ddab7e0323ade Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QStandardPath test on some linuxesFrederik Gladhorn2013-10-021-5/+8
| | | | | | | | On one suse box I have both /usr/bin/sh and /bin/sh which means that the test should prefer the one first in the path instead of random order. Change-Id: Ie94bf8404479fa42a36a8ee45e09986114693871 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Base tst_QGuiApplication on tst_QCoreApplication to increase GUI ED coverageTor Arne Vestbø2013-10-013-45/+111
| | | | | | | | | | The QCoreApplication test has quite a few test cases that we would like to exercise using the GUI event-dispatcher. Instead of duplicating the tests for the GUI dispatcher, we inherit tst_QCoreApplication, which also lets us add extra tests that are specific to tst_QGuiApplication. Change-Id: Ib411457131b8d3fed871f682c1c0568577f6127d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix temporary directory leak in tst_qsavefile.Friedemann Kleint2013-10-011-45/+24
| | | | | | | Task-number: QTBUG-33769 Change-Id: I5177f09df22fd2b9b0d9eca4301c383c600d5ab8 Reviewed-by: David Faure <david.faure@kdab.com>
* tst_qsavefile: Check temporary dir and output open errors.Friedemann Kleint2013-09-301-12/+27
| | | | | Change-Id: Id28306ad414050a37b7779525f36edc3e15281b5 Reviewed-by: David Faure <david.faure@kdab.com>
* QDateTime - Fix round-trip of second occurrence timesJohn Layt2013-09-271-24/+6
| | | | | | | | | | | | | | | | | | | | | | | At the Daylight Tme to Standard Time transition, the local time repeats itself, i.e. 2am occurs twice. Qt's behavior when setting this using the local time is ambiguous, as it depends on the system implementation of mktime, which behaves differently on different platforms. Currently this behavior remains undefined. When setting using an msecs or time_t value however we can determine the correct instance to use and cache it to ensure that any conversion back from local time to msecs is performed consistantly on all platforms. Note that caching this value will result in any calculations being wrong should the system time zone change, or its rules change. This will be fixed in Qt 5.3 when the system time zone change signal is implemented and QDateTime switches to using QTimeZone instead of mktime to provide consistnt behavior across platforms. The QTimeZone spec does not require this fix as it already caches the correct offset in setMSecsFromEpoch(). Change-Id: I799588db474e744a6d81e80f6a0442920569ebd3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLocale - Fix Mac date format code translationJohn Layt2013-09-261-4/+1
| | | | | | | | | | | | | | | | | | | | Mac uses the CLDR format codes which need to be translated into their Qt equivalent. The existing code mistranslates the year code, is outdated for a number of new codes introduced in recent versions of CLDR, and by default accepted any codes it didn't recognize. This change updates support to the latest version of CLDR, fixes the treatment of years, and defaults to ignoring any new format codes added in the future. Note that this change cannot have auto tests written as the system locale formats change between versions of OSX. Testing must be done manually by changing system locale and formats. Task-number: QTBUG-25057 Change-Id: I69dda25b4a0b38d3971995644546306876922d57 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QString::reserve fix to avoid truncationMarko Pellikka2013-09-261-0/+12
| | | | | | | | | | In case of implicit memory sharing, QString::reserve caused data truncation if given size was smaller than size of data. Task-number: QTBUG-29664 Change-Id: If2da5ad051385635ebb829c18b5ebaa349f08e8a Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Expose QTest::currentAppName() and remove hard-coded argv[0] in testsTor Arne Vestbø2013-09-264-20/+28
| | | | | | | | Except where we're actually testing QCoreApplication::applicationName() and friends. Change-Id: I25514884c11f43a4f82b1f818f822dc3d79f69a3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* tst_QReadWriteLock: replace a volatile bool with an atomic intMarc Mutz2013-09-231-6/+6
| | | | | | | | Fixes the obvious race between the test of 'release' in the thread and the setting of 'release' in the test function. Change-Id: I92df52d7b18e8154f17229a3dbd4a0e58f4a3b5b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* tst_QMutex: fix a raceMarc Mutz2013-09-231-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code uses a QSignalSpy to check whether the thread started, but the signal emission (and subsequent appending to the spy) and the check for spy.count() before the final thr.wait() are not synchronized: The signal emission happens-after the thr.start() and -before the final thr.wait(). Likewise, the spy.count() happens-after thr.start() and -before thr.wait(), but neither one happens-before the other. Thus, there is a data race. The wait(200) between thr.start() and mutex.unlock() doesn't help, either, because we check only that it doesn't return true, iow, we check that it timed out. But it will happily do that if the thread has not yet started executing, so there's no happens-before relation to be had via that avenue, either. I first fixed by moving the spy.count() check to after thr.wait(). In that case: signal emission happens-before thread finishing happens-before thr.wait() returning happens-before spy.count() so no race. Arguably, that makes the check rather useless, so I decided to remove it completely. Change-Id: I6bb47c4114961ee6e9251cfebeb4b7794ba674a9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QDateTime - Add QTimeZone supportJohn Layt2013-09-232-0/+212
| | | | | | | | | | | Add support to QDateTime for time zones using the new QTimeZone class. [ChangeLog][QtCore][QDateTime] Add support for a new Qt::TimeZone spec to be used with QTimeZone to define times in a specific time zone. Change-Id: I21bfa52a8ba8989b55bb74e025d1f2b2b623b2a7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTimeZone - Add Windows backendJohn Layt2013-09-231-25/+84
| | | | | | | Add backend implementation for Windows times zones. Change-Id: I30946f6672488c3f1d1d05754e9479aa62cce46f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTimeZone - Add Mac backendJohn Layt2013-09-231-0/+50
| | | | | | | Add Mac backend support Change-Id: Iafa2dbd925e18431f571e3eac62983015f8bc977 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTimeZone - Add TZ File BackendJohn Layt2013-09-221-0/+138
| | | | | | | | | | Add a backend for TZ Files. If available uses ICU for the display names and translations, otherwise the abbreviation is used. Change-Id: I58c777462810b1a76ea7bd95886836b70b8a3db5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTimeZone - Add ICU supportJohn Layt2013-09-221-0/+141
| | | | | | | Add ICU backend for QTimeZone Change-Id: I92e53a848477e366591102064b093e936f0b49d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTimeZone - Define new class and apiJohn Layt2013-09-223-0/+509
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the new QTimeZone class based on the Olsen Time Zone ID's. This is the base implementation and does not include the Platform backends which are implemented separately. This change does include a default UTC backed to be used if no Platform backend is available, i.e. if QT_NO_SYSTEMLOCALE is set and ICU is not configured. This backend also provides a default set of time zones in the standard "UTC+00:00" offset format that are guaranteed to always exist regardless of the Platform backend. This change includes conversion functions between the Olsen ID's and Windows ID's using a conversion table based on Unicode CLDR data. This is implemented for all platforms for scenarios such as a Linux program needing to communicate with a Windows Exchange Server using the Windows ID. The CLDR conversion table is included under the UNICODE license, see http://unicode.org/copyright.html for details. [ChangeLog][QtCore][QTimeZone] Added new QTimeZone class to support time tone calculations using the host platform time zone database and the Olsen time zone ID's. Change-Id: Ibb417d08cf2663a0979d2be855d2c6ad6ad01509 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Q_STATIC_ASSERT: use __COUNTER__ instead of __LINE__ if the compiler supports itMarc Mutz2013-09-221-0/+5
| | | | | | | | | | | When using __LINE__ to construct unique names, use of Q_STATIC_ASSERT is limited to one instance per line of code. On compilers that support __COUNTER__ (GCC and MSVC, probably others), we can get around that limitation by using that one to always get a new unique number, so use it. Change-Id: I89bcfaa32376b7a665f03e4275e89b13fa3e650d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-211-0/+81
|\ | | | | | | Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
| * Fix QFileSystemWatcher inotifyRiccardo Ferrazzo2013-09-191-0/+81
| | | | | | | | | | | | | | | | | | | | | | On linux using QFileSystemWatcher with inotify backend when a watched file is moved and added again to the watched files its path is not replaced with the new one. This behavior prevents the emission of the fileChanged signal with the wrong file path. Task-number: QTBUG-33211 Change-Id: Ib45d8efdf5afbf8b8f6b4b26e43f3d6ee740aca6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add Mac type conversion functions to QtCoreMorten Johan Sørvig2013-09-216-0/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New API: static QString QString::fromCFString(CFStringRef string); CFStringRef QString::toCFString() const; static QString QString::fromNSString(const NSString *string); NSString *QString::toNSString() const; static QUrl QUrl::fromCFURL(CFURLRef url); CFURLRef QUrl::toCFURL() const; static QUrl QUrl::fromNSURL(const NSURL *url); NSURL * QUrl::toNSURL() const; Add Q_OS_MAC-protected function declarations to header files, add implementation to _mm files. CF and NS types are forward-declared in the header files to avoid including the CoreFoundation and Foundation headers. This prevents accidental use of native types in application code. Add helper macros for forward- declaration to qglobal.h Add cf_returns_retained/ns_returns_autoreleased attributes to toCFString() and toNSURL(). These attributes assists the clang static analyzer. Add Q_DECL_ helper macros to qcompilerdetection.h. Add test functions (in _mac.mm files) to the QString and QUrl tests. Split out the test class declarations into a separate headers files. Change-Id: I60fd5e93f042316196284c3db0595835fe8c4ad4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>