summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* QSharedPointer/QWeakPointer/QScopedPointer: add comparison against nullptrGiuseppe D'Angelo2016-06-085-0/+206
| | | | | | | | Some constructors were added, but the comparison operators were missing. The STL has them, so we ought have them too. Change-Id: I030c14a3b355988f509716b4b1b1a835b3ab9481 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use built-ins for qPopulationCount on MSVC and recent Clang versions.Erik Verbruggen2016-06-081-23/+52
| | | | | Change-Id: Ib7e5f1129dda664d81f8a59bfa851ae70ef04542 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSharedPointer/QWeakPointer/QScopedPointer: plaster API with Q_DECL_NOTHROWGiuseppe D'Angelo2016-06-072-34/+33
| | | | | | | Some methods were already marked, this adds noexcept to even more methods. Change-Id: I420bb1cc985058c7976ce3a1f251fadbba7ddceb Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Make QCryptographicHash a Q_GADGET.Richard J. Moore2016-06-071-0/+3
| | | | | | | This makes the hash algorithm play nicely with qDebug. Change-Id: I6db651cd5c73e8be65442dd68d6b865dcb975f4c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Simplify Foundation conversion function documentationTor Arne Vestbø2016-06-061-25/+22
| | | | | | | | The \fn command to specify the function signature is not needed when the documentation precedes the function itself. Change-Id: I9de0d1ae73af443f0beded77538d62cea85b5e72 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Remove obsolete a.out code after QT_AOUT_UNDERSCORE is goneRalf Nolden2016-06-061-12/+1
| | | | | | | | | | Old versions of OpenBSD and NetBSD mkspecs had the QT_AOUT_UNDERSCORE define declared in their qplatformdefs.h to support systems still using a.out format. As those systems are long obsolete and the defines are removed, remove the obsolete code, too. Change-Id: Ia9e2f2d6de81fb182ef4c995b29062afe570b8b9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove all code paths related to unsupported Apple platforms.Jake Petroules2016-06-044-38/+2
| | | | | | | | | Now that the minimum deployment target (and thus SDK) is 10.9 for OS X and 7.0 for iOS, all code paths affecting platform versions lower than the aforementioned are removed. Change-Id: Id985c7259c4ac069319d88f2c29c9559ae9e8641 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* QObject::connect: reduce generated code size for statics and functorsThiago Macieira2016-06-031-9/+7
| | | | | | | | | | | Instead of placing the assignment of false in the impl() function, move it to the inline QSlotObjectBase::compare() function. That means it's assigned in one place (two, actually, inside qobject.cpp), instead of for every static member, non-member or functor we connect or disconnect. Change-Id: I87e17314d8b24ae983b1fffd1453623ad4c4dcb2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Windows: stop using _beginthreadex on regular buildsThiago Macieira2016-06-021-2/+13
| | | | | | | | | | | | | | | | | | | | | | | This commit also reverts fecaa6aae83a3ffa8f1fd41c5aa8275a1bfa7c9b. The Microsoft documentation says _beginthreadex and _endthreadex are used to initialize the C/C++ runtime and are necessary when linking to libcmt(d).lib (that is, when using the -MT or -MTd options). For regular builds linking against the .dll runtime, there should be no impact. Inspection of the CRT source code which gets installed with Visual Studio or Windows SDK proves that. It's preferable to use CreateThread directly as _endthreadex will try to call FreeLibraryAndExitThread, which can cause a deadlock if we try to wait for the thread to exit from a global destructor. For -MT builds, since there can be no DLLs, it's not a problem to continue to use _beginthreadex and follow Microsoft's recommendation. Task-number: QTBUG-53031 Change-Id: Id5480807d25e49e78b79ffff144af62c3c59dfe0 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove reliance on QSysInfo::[Mac|Windows]Version in QSysInfo itself.Jake Petroules2016-06-021-51/+103
| | | | | | | | Those enumerations and their associates are being deprecated, and so the backing of their replacements cannot rely on it. Change-Id: Id544aa757313065f435b5e66cd0475975cd5b825 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Simplify constructor code of QTemporaryFile.Friedemann Kleint2016-06-022-19/+13
| | | | | | | | Pass the name as parameter to the constructor of QTemporaryFilePrivate and use delegation in the convenience constructors. Change-Id: I4087600b804fe22910b4985a59a02547f54a6acd Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Remove Windows CE vestigesJoerg Bornemann2016-06-024-11/+2
| | | | | | | | Remove every usage of the _WIN32_WCE macro outside of 3rd party source code directories. Change-Id: Ia7e859bd6dcaef10c66674612c8e440f9a2dee56 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Properly forward-declare the Apple types with Q_QDOCOlivier Goffart2016-05-315-9/+9
| | | | | | | | | They are needed for the header to be parsed properly with clang based qdoc. While we are at it, change the condition from Q_OS_MAC to Q_OS_DARWIN Change-Id: I2a2f9c1159f47795d9811023d67c86fec1866846 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Remove _bit_scan_{forward,reverse}Erik Verbruggen2016-05-315-94/+144
| | | | | | | | | | Use qCountTrailingZeroBits and qCountLeadingZeroBits from qalgorithms.h instead. Also extended these versions for MSVC. The _bit_scan_* versions stem from a time before the glorious days of qalgorithms.h. A big advantage is that these functions can be used on all platforms. Change-Id: I5a1b886371520310a7fe16e617635ea335046beb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix unimplemented Mach-O parsing for ARM64 platforms in QPluginLoader.Jake Petroules2016-05-301-0/+3
| | | | | Change-Id: I4853b5ce1691bd84578ebe46af9f73270598387a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clang: remove the QT_NO_RTTI macro declarationThiago Macieira2016-05-291-3/+0
| | | | | | | It's not used anywhere in Qt and this was the only definition. Change-Id: Id69569111e7d4e619e22ffff144daa82a1259cbd Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Remove the Clang __has_feature(cxx_exceptions) checkThiago Macieira2016-05-291-5/+0
| | | | | | | | The check in qglobal.h for __EXCEPTIONS is enough. This check here was causing moc to define QT_NO_EXCEPTIONS Change-Id: Id69569111e7d4e619e22ffff144daa661df4181d Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Expose QFileSelectorPrivate::selectionHelper()J-P Nurmi2016-05-272-5/+8
| | | | | | | | Let QQuickStyleSelector in Qt Quick Controls 2 re-use the same selection helper implementation. Change-Id: I34cbba0aa178e342bb4004313e7ff56811e6be19 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Add QLineF::center() returning the point in the center of the lineLorenz Haas2016-05-272-0/+37
| | | | | | | [ChangeLog][QtCore][QLine/QLineF] Added center(). Change-Id: I6dcfa9e839190c0a4caf36fb6ecd01b37d65d274 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Squeeze more vectorized rounds out of JSON Latin1String conversion.Erik Verbruggen2016-05-261-2/+2
| | | | | | | | E.g. for a string of length 16, with i == 0, this loop can still run. Same for the case where length is 8. Change-Id: Ie95832b50ddeba2e0dfb0e3308e4c7a5376bb969 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/devLiang Qi2016-05-2436-185/+246
|\
| * Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-05-2336-185/+246
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/wince80colibri-armv7-msvc2012/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/corelib/global/qnamespace.h src/corelib/global/qnamespace.qdoc src/corelib/io/qfsfileengine_win.cpp src/corelib/tools/tools.pri src/network/ssl/qsslconfiguration_p.h src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/plugins/platforms/windows/windows.pri src/src.pro src/tools/bootstrap/bootstrap.pro src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/dialogs/qfilesystemmodel.cpp tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt Change-Id: I4d2ac78f0dcc97f008186bbbc769c6fe588ab0e5
| | * Avoid failing on 64-bit ARMLaszlo Agocs2016-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Affects systems like the NVIDIA DRIVE CX. This did not show up so far because there was no error when Q_PROCESSOR_ARM was not set. Task-number: QTBUG-53493 Change-Id: I107155b6dc1a881eca6f57374ad8db4458875243 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-1923-58/+101
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp src/network/access/qnetworkaccessmanager.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h src/widgets/widgets/qlineedit_p.cpp src/widgets/widgets/qlineedit_p.h src/winmain/winmain.pro tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp tools/configure/configureapp.cpp Change-Id: Ib9997b0d0f91946e4081d36c0c6b696c5c983b2a
| | | * Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-193-3/+4
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_winrt.cpp Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
| | | | * Doc: Remove references to obsolete reset() functionLeena Miettinen2016-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...from the docs of the signals it emits. Task-number: QTBUG-53228 Change-Id: Ifdd91404cae9dd6480ae29b31f2a48fa024df442 Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com>
| | | | * Doc: Remove repository name from examplesinstallpathTopi Reinio2016-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples in binary packages now directly match the install path. Change-Id: Ic1487bc766cfd3b0a0a340cc4ae4ba49d953eaa6 Task-number: QTBUG-52953 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | | | * Merge 5.6 into 5.6.1Oswald Buddenhagen2016-05-1214-47/+64
| | | | |\ | | | | | | | | | | | | | | | | | | Change-Id: I22003b840f1a7ac685a1ec3353d7e7dbd84c3953
| | | | * | make zlib_dependency auto-add QtCore as a private depOswald Buddenhagen2016-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | our zlib header includes qglobal.h, so we need the qtcore include dirs, and qtcore is also where the actual code is compiled into. Change-Id: I09f530a1b4e6160438215a6d7223c0771ce94f05 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | | * | | Compile fix: remove _POSIX_C_SOURCE usageRalf Nolden2016-05-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove _POSIX_C_SOURCE usage as the reason why it was added is not clear anymore and it causes compile errors on BSD systems if not circumvented by adding further defines to re-enable function calls hidden by the _POSIX_C_SOURCE define. (__BSD_VISIBLE on FreeBSD/OpenBSD and _NETBSD_SOURCE on NetBSD) Change-Id: Ic6b49ddcd6c481b0f2acd598cea5470604e00507 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | | Fix QVariant conversion to an enum type.Olivier Goffart2016-05-161-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QVariant::canConvert<Enum> was returning true for everything can can be converted to integer, but not for integer itself. That's because in QVariant::canConvert we set the targetType to Int of it's an enum, but the Int->Int case was not on the conversion matrix. So this commits adds it to the conversion matrix and now QVariant::canConvert<Enum> returns consistently true for int itself. But even tough canConvert returned true, it did not actualy do any conversion to the enum type itself. Fix that by handling the case properlt in 'convert' [ChangeLog][QtCore][QVariant] Fixed QVariant::canConvert and conversion from integer types to enumeration types. Task-number: QTBUG-53384 Change-Id: I6ac066f3900e31bfcea7af77836ddfc7730bd60b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | | Move q{Set,}GlobalQHashSeed() to the correct header fileMarc Mutz2016-05-132-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The <QHash> only contains the container these days, while <QHashFunctions> contains the qHash() function overloads and related functions. This is where these two functions belong, too. This change is BC and SC, since qhash.h includes qhashfunctions.h. Change-Id: I2e7febb0ffca209af67fb9f2cd363596867a44e1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | | Fix build with GCC <= 4.2 (FreeBSD 9.x)Thiago Macieira2016-05-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 15b42af11123f9d1eb4bbd79870185585103ea8d changed the qt_cpu_features variable to be an array and never fixed this #if branch of the code. Change-Id: Id69569111e7d4e619e22ffff144cf930f86f478e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | | * | | Windows: Suppress error dialogs when querying logical drives.Friedemann Kleint2016-05-122-0/+4
| | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the error mode flag SEM_NOOPENFILEERRORBOX when calling Win32 API GetLogicalDrives() to prevent it from prompting to insert media as does QStorageInfoPrivate::mountedVolumes(). Task-number: QTBUG-18729 Task-number: QTBUG-32457 Change-Id: I5c76afbb5bf2ec5ec84194650c316fe531578d5b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * | QStorageInfo: allow getting the info of pseudo filesystems tooThiago Macieira2016-05-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They won't be listed in QStorageInfo::mountedVolumes, but we can now obtain their info if you know their mountpoint. For example, on Linux: $ ./qstorageinfo /dev /proc /sys Filesystem (Type) Size Available BSize Label Mounted on devtmpfs (devtmpfs) RW 4029772 4029764 4096 /dev proc (proc) RW 0 0 4096 /proc sysfs (sysfs) RW 0 0 4096 /sys Change-Id: I3e15a26e0e424169ac2bffff1417ba2429d6d9f4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | QStorageInfo: get the label properly if the mounted device is a symlinkThiago Macieira2016-05-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happens for me with LVM: $ ls -l /dev/mapper/system-root /dev/system/root /dev/disk/by-label/* lrwxrwxrwx 1 root root 10 Nov 17 22:45 /dev/disk/by-label/system -> ../../dm-1 lrwxrwxrwx 1 root root 7 Nov 17 22:45 /dev/mapper/system-root -> ../dm-1 lrwxrwxrwx 1 root root 7 Nov 17 22:45 /dev/system/root -> ../dm-1 The mounted device according to /etc/mtab (/proc/self/mounts) is /dev/mapper/system-root. Change-Id: I3e15a26e0e424169ac2bffff1417b96779d84246 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | QStorageInfo: update the detection of pseudo filesystemsThiago Macieira2016-05-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow tmpfs filesystems to be reported, as they're often usable by the user, mounted in /tmp and in /run (the fs for $XDG_RUNTIME_DIR). But disallow anything whose device is not a pathname. This catches most of everything else that wasn't specifically tested for before, like virtual fuse filesystems, like GVFS. Change-Id: I3e15a26e0e424169ac2bffff1417b7cee0f8ec97 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | QStorageInfo: fix matching of mountpoints to sibling directoriesThiago Macieira2016-05-091-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The path "/usrfoo" starts with "/usr", so if you tried to get QStorageInfo("/usrfoo") when "/usr" is a mount point, you'd get the wrong filesystem. [ChangeLog][QtCore][QStorageInfo] Fixed a bug that caused QStorageInfo to report information for the wrong filesystem if there is a mounted filesystem at a path that is a prefix of the requested path (e.g., it would report "/usr" filesystem for "/usrfoo"). Task-number: QTBUG-49498 Change-Id: I3e15a26e0e424169ac2bffff1417b7a27cd0132d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | * | Fix QBasicAtomicPointer::{load,store} to actually be relaxedThiago Macieira2016-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using direct loading and operator=, which for everything except std::atomic was very relaxed. But std::atomic<T *> defines the direct access to actually be the least relaxed possible, under the idea that if you didn't know any better to use a member function, you probably need the most protection. So use Ops::load and Ops::store. Change-Id: Id5480807d25e49e78b79ffff144a06a2e6398576 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | | * | Fix Clang -Wexpansion-to-defined warning by deprecating QT_SUPPORTSThiago Macieira2016-05-0812-19/+22
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The C and C++ standards say it's undefined whether the preprocessor supports macros that expand to defined() will operate as an ifdef. Clang 3.9 started complaining about that fact. One solution was to change QT_SUPPORTS to check for zero or one, which means we need to change the #defines QT_NO_xxx to #define QT_NO_xxx 1. The C standard says we don't need to #define to 0, as an unknown token is interpreted as zero. However, that might produce a warning (GCC with -Wundef), so changing the macro this way is not recommended. Instead, we deprecate the macro and replace the uses with #ifdef/ndef. Change-Id: Id75834dab9ed466e94c7ffff1444874d5680b96a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | add AA_CompressHighFrequencyEvents to control compression on xcbShawn Rutledge2016-05-152-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7edd10e6c added this compression feature, but some applications may need to disable it. [ChangeLog][X11] It's now possible to unset AA_CompressHighFrequencyEvents to disable the new X event compression feature that was added in 5.6.0. This is a replacement for the WA_NoX11EventCompression flag in Qt 4. Task-number: QTBUG-44964 Change-Id: I37a9c8a4831f1c02eda0f03b54125f3255d25500 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * | Move out the code to extract the backtrace to another functionThiago Macieira2016-05-131-55/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make it easier to use create backtraces in other contexts. Change-Id: I56b838ab04d9810108fcdb7f8c2fd91255864850 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * | QDateTimeParser: use QStringRef moreAnton Kudryavtsev2016-05-131-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid unnecessary allocations. Change-Id: I217ba3fe20293f5cdeeaac2dfae15f837cda51e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QSharedPointer: move QDebug stream operators into qdebug.hGiuseppe D'Angelo2016-05-125-24/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to avoid pulling in QDebug when including QSharedPointer. Change-Id: I14b86d1f100ed44a68258c91bbda394b655bac83 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QMutex: make FUTEX_PRIVATE_FLAG a mandatory featureThiago Macieira2016-05-111-35/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flag was introduced in kernel 2.6.22, but we're already depending on features added on 2.6.23 in qcore_unix_p.h (pipe2, dup3, O_CLOEXEC) and 2.6.27 in qnet_unix_p.h (accept4 and SOCK_CLOEXEC). Change-Id: Id5480807d25e49e78b79ffff144a093c9e30cd96 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QtCore/QtDBus/QtSql: port the last remaining Q_FOREACH loop and add ↵Marc Mutz2016-05-112-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_NO_FOREACH Port the last remaining Q_FOREACH user in QtCore to C++11 range-for and mark QtCore, QtSql and QtDBus as Q_FOREACH-free, using QT_NO_FOREACH. Change-Id: Ia6f99139cb1ca4a8bbe9e445421592242e048b0a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Add QT_NO_FOREACH to disable foreach and Q_FOREACHMarc Mutz2016-05-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been known for a long time that Q_FOREACH produces inferior code to other looping constructs, and the use of it in Qt library code was informally frowned upon since forever (pun intended). Yet, to this day, several thousand foreach/Q_FOREACH loops have been added to Qt libraries, and while many were ported to range-for in Qt 5.7, there are still new ones added every day, which is a nuisance, to say the least. This patch introduces a technical way to prevent new foreach use to creep into Qt libraries after they have been cleaned, by simply not defining either Q_FOREACH or foreach when the QT_NO_FOREACH macro is defined. This way, one library at a time can be ported away, and, once ported, is guaranteed to actually stay ported. Change-Id: Ie042e84d6c7d766bd16095f9bc1118a8e0ce0c7a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Deprecate QLibraryInfo::licensee()/licensedProducts()Lars Knoll2016-05-232-12/+14
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | This info wasn't really very helpful, and would anyway always contain either Preview, OpenSource or an empty string for commercial users. Change-Id: I311b991834fa83cf1a183083acd5112cda3d2e41 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | winrt: Remove explicit exit callMaurice Kalinowski2016-05-191-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8c3ae221 introduced a mean to actually close an application. Otherwise the application was in an undefined state and did not exit. Since 5.6 we switched to Xaml and the explicit call to Exit() is not required anymore. This also allows using multiple application objects sequentially as the unit tests do in some cases. Change-Id: I9030afec72a4534e818c77c373dc3a81b922a480 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Collate conversion functions for Core Foundation/Foundation typesTor Arne Vestbø2016-05-1910-602/+423
| | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it easier to apply similar changes across all related functions, and to implement functions for new types by having the previous approaches available in one place. Change-Id: I3f0590d67d0e6deb1c6c856ab1de96b55b6af058 Reviewed-by: Jake Petroules <jake.petroules@qt.io>