summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-021-0/+11
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/corelib/tools/qstring.h src/gui/image/qimagereader.cpp src/network/access/qnetworkaccessmanager.cpp src/tools/qdoc/doc/examples/examples.qdoc src/widgets/accessible/qaccessiblewidgetfactory_p.h src/widgets/doc/qtwidgets.qdocconf Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
| | | * Doc: Added enums in qnamespace.qdocNico Vertriest2015-09-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: Ib756382833fabecaae2526a413d046646f3e443e Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | | Doc: replace \target with \keyword if at start of pageNico Vertriest2015-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A \target whose purpose is to link to the top of a page (and not to a section within a page) works better as a \keyword, because \target generates a new html anchor which, in this case, is not tied to any title element on the page. A \keyword links to the page itself, as expected. Task-number: QTBUG-48482 Change-Id: I957551edd0eb7e665358d04b37dab41e2686b851 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | | Doc: Update obsolete URLs to external documentationTopi Reinio2015-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I199de83971701c14e903e712fcdcd29aaff95c6d Task-number: QTBUG-48420 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
| * | | Doc: Use correct image in Qt::BusyCursor documentationTopi Reinio2015-10-021-1/+1
| |/ / | | | | | | | | | | | | | | | Change-Id: I54e832808a37d46f5520c57ceb2a270685ed3f94 Task-number: QTBUG-48445 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | Remove QT_WARNING_DISABLE_GCC for ClangThiago Macieira2015-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | There's QT_WARNING_DISABLE_CLANG for when a warning applies to a Clang build. Change-Id: I42e7ef1a481840699a8dffff1406ac36b6a6eac3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-09-258-104/+395
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/io.pri src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/network/socket/qabstractsocket.cpp src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/widgets/styles/qgtkstyle.cpp tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro tests/auto/dbus/qdbusconnection/qdbusconnection.pro tests/auto/dbus/qdbuspendingcall/tst_qdbuspendingcall.cpp tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp Change-Id: I347549a024eb5bfa986699e0a11f96cc55c797a7
| * | Add code to perform overflow-checking additions and multiplicationThiago Macieira2015-09-232-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most processors have carry flags which they set on addition overflow, so it's a good idea to access them whenever possible. Most of them also have widening multiply instructions that can be used to detect overflow of the non-widening version. Tested to compile on: Architecture Compiler x86 GCC 4.9, GCC 5*, Clang 3.6*, ICC 16 beta x86-64 GCC 4.9, GCC 5*, Clang 3.6*, ICC 16 beta x86-64 ILP32 GCC 4.9, GCC 5*, Clang 3.6* IA-64 LP64 GCC 4.8 ARMv7-A GCC 4.9, Clang 3.6* AArch64 Clang 3.6* MIPS GCC 4.9, Clang 3.6* MIPS64 GCC 4.9, Clang 3.6* PowerPC GCC 4.9, Clang 3.6* PowerPC 64 GCC 4.9, Clang 3.6* SPARC Clang 3.6* SPARCv9 Clang 3.6* [*] supports the intrinsics If the compiler does not offer a way to detect an overflow, we do it by hand. For unsigned additions, that's easy, since the C++ language specifies the behavior of the overflow. That's also the reason why this code is implemented only for unsigned integers. For the multiplication, if the compiler does not support widening multiplications, we do it with a division instead. This is necessary for GCC < 4.5 and compilers not compatible with GCC or MSVC. Change-Id: I049a653beeb5454c9539ffff13e637de0f1338c1 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Clean up some Apple-related includes and declarations.Jake Petroules2015-09-221-23/+0
| | | | | | | | | | | | | | | Change-Id: I92db9691c2243ae72ecd4e11dd4640afaf4bf822 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | Fix QtCore compilation with clangThiago Macieira2015-09-212-6/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The .altmacro is not supported with Clang's integrated assembly. The worst part is that I had this fixed, but apparently I never pushed the update to Gerrit and then we staged the old version. This commit brings back the fixes. Incidentally, it also makes things work with freebsd-clang. Change-Id: Id2a5d90d07d7ee470fcb9ad9696a9a0f9ced7ea7 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Use the proper macro to detect the compiler as part of the NDKAleix Pol2015-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The correct macros can be easily checked by running: .../arm-linux-androideabi-gcc -E -dM - < /dev/null | grep -i ANDR Otherwise we're just relying on the user to set up explicitly the toolchain to target Android Change-Id: I7b68521f43031c13da99b07626360d0702bff4ca Reviewed-by: BogDan Vatra <bogdan@kde.org>
| * | Add a qt_version_tag symbol to QtCore that uses ELF versionsThiago Macieira2015-09-132-1/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This symbol will exist with different ELF versions, allowing us to know which version of Qt a given library or application was linked against. When this symbol gets used, automatic packaging tools will extract the dependency. The trick here is that the application uses qt_version_tag without knowing which version is current, but the linker resolves it to the current version and records that. For example, if this were used with Qt 5.5, RPM's find-requires on an application using QtCore would print: libQt5Core.so.5()(64bit) libQt5Core.so.5(Qt_5.5)(64bit) libQt5Core.so.5(Qt_5)(64bit) Whereas find-provides on QtCore would print: libQt5Core.so.5()(64bit) libQt5Core.so.5(libQt5Core.so.5)(64bit) libQt5Core.so.5(Qt_5.0)(64bit) libQt5Core.so.5(Qt_5.1)(64bit) libQt5Core.so.5(Qt_5.2)(64bit) libQt5Core.so.5(Qt_5.3)(64bit) libQt5Core.so.5(Qt_5.4)(64bit) libQt5Core.so.5(Qt_5.5)(64bit) libQt5Core.so.5(Qt_5)(64bit) Therefore, automatic dependency resolution would have the information it needs to conclude that the application requires Qt >= 5.5. Change-Id: I049a653beeb5454c9539ffff13e3fec9aeb50197 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Fix QSysInfo::windowsVersion() for good.Jake Petroules2015-09-061-83/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-38439 Task-number: QTBUG-43444 Change-Id: I9870200806f2ca378b0977dee0674d89e2c6836c Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Simon Hausmann2015-08-271-0/+1
| |\ \
| | * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-261-0/+1
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| | | * Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Oswald Buddenhagen2015-08-121-0/+1
| | | |\
| | | | * Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-07-171-0/+1
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/manifest-meta.qdocconf src/corelib/global/qnamespace.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qtools_p.h src/sql/drivers/psql/qsql_psql.cpp Change-Id: I23a15ac84e03ad61d865e3df872b013eb0752949
| | | | | * Improve documentation for Qt::ItemNeverHasChildren.Florian Bruhin2015-06-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ied817314d6e72f08a81138bd817c8570d586fa30 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | | | | Fix some qdoc-warnings.Friedemann Kleint2015-08-271-2/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/widgets/kernel/qaction.cpp:1257: warning: Can't link to 'QApplication::setAttribute()' qtbase/src/widgets/kernel/qapplication.cpp:519: warning: Can't link to 'arguments()' qtbase/src/widgets/kernel/qapplication.cpp:1939: warning: Can't link to 'quit()' qtbase/src/widgets/kernel/qapplication.cpp:2946: warning: Can't link to 'quit()' qtbase/src/widgets/kernel/qapplication.cpp:2946: warning: Can't link to 'exit()' qtbase/src/widgets/kernel/qapplication.cpp:2946: warning: Can't link to 'processEvents()' qtbase/src/widgets/widgets/qmenu.cpp:1354: warning: Can't link to 'Recent Files Example' qtbase/examples/widgets/doc/src/tetrix.qdoc:28: warning: Can't link to 'QApplication::quit()' qtbase/src/testlib/qtestcase.cpp:268: warning: Undocumented parameter 'timeout' in QTRY_VERIFY2_WITH_TIMEOUT() qtbase/src/corelib/global/qnamespace.qdoc:2427: warning: Can't link to 'QApplication::setLayoutDirection()' qtbase/src/corelib/global/qnamespace.qdoc:751: warning: Can't link to 'QApplication::setDesktopSettingsAware()' Change-Id: Ic8170a40fb1cd84e3fb4dd75d9429f4b485f8bd9 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | | | Merge dev into 5.6Oswald Buddenhagen2015-08-171-0/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Change-Id: I061f2513ef58f696e75b11928d89aaaf059659a3
| * | | | | Merge the multiple implementations of getting the local hostnameThiago Macieira2015-08-132-0/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves the functionality from QtNetwork's QHostInfo to QtCore. Note that due to Windows ws2_32.dll's quirky behavior of requiring WSAStartup before calling gethostname, this change required moving the initialization to QtCore too. On Linux systems, gethostname() gets the name from uname(), so we bypass the middle man and save one memcpy. Change-Id: I27eaacb532114dd188c4ffff13d32655a6301346 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | | | Introduce Q_OS macros for watchOS and tvOS.Jake Petroules2015-09-152-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a useful side effect, watchOS and tvOS won't be detected as iOS, leading to another confusing Q_OS_MAC situation. Change-Id: I00fc0c7088dbc091c4638b6937a7b378d7569cec Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* | | | | | Deprecate Q_OS_MAC.Jake Petroules2015-09-152-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Justification: intuition indicates that Q_OS_MAC refers to OS X. Reality indicates it refers to OS X, iOS, watchOS, and tvOS. Technical correctness requires that it match reality. Backwards compatibility dictates it can't be changed anyways. Conclusion: an extremely confusing macro that no one knows how to use properly. When Q_OS_MACX was repurposed for OS X (and later, Q_OS_OSX introduced), Q_OS_MAC was kept around to allow differentation between Q_OS_DARWIN (the grandfather OS of everything - OS X, iOS, watchOS, tvOS, and theoretically "open source Darwin derivative"). However, given that every attempt at a non-Apple Darwin based operating system has failed and sees virtually no interest at scale, this distinction is not useful in Qt for the confusion it causes in return, especially considering that there are several cases in Qt where Q_OS_MAC should be Q_OS_DARWIN or vice versa, and sometimes the correct macro is not even entirely clear. Therefore, Q_OS_MAC can be deprecated. In the extremely unlikely case that differentiation between Darwin core, and commercial Darwin-based operating systems from Apple is required, I suggest introducing Q_OS_APPLE (a superset of Q_OS_DARWIN, and subset of Q_OS_OSX, Q_OS_IOS, Q_OS_WATCHOS, and Q_OS_TVOS). Until it is needed, Darwin, OS X, iOS, watchOS, and tvOS defines should be perfectly sufficient for every real-world use case. Change-Id: Id6df8c1102010b61cfe001ed41a76809bc166863 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | | | | | Bump versionFriedemann Kleint2015-09-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I35df4cbd3ef8bd9aeb0bcb853c3a10e88c062713 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | | | | Add attribute to enable font and palette propagation in QSS.Aaron Kennedy2015-09-102-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default when using Qt Style Sheets, a widget does not inherit its font and palette from its parent widget. With the Qt::AA_UseStyleSheetPropagationInWidgetStyles application attribute set, propagation when using Qt Style Sheets behaves like it does with regular QWidget::setPalette() and QWidget::setFont() calls. [ChangeLog][QtWidgets] Added the Qt::AA_UseStyleSheetPropagationInWidgetStyles attribute which enables font and palette propagation for Qt Style Sheets. Task-number: QTBUG-37580 Change-Id: I3038c13d61e32625a1a05291c5394eaefd376a68 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | | | | Add a qtHookData field for Qt Creator's data displayhjk2015-09-032-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Creator needs to be able to determine structure sizes and data member offsets for certain private types even in the absence of debug information. It is sufficient to keep and test the actual data sets on the Qt Creator side, as long library provides a hint which data set is needed. So far, HookDataVersion was meant to be used for that purpose. To make it more explicit, this patch introduce a TypeInformationVersion field in qtHookData. Change-Id: Ia1c3c6f62f314d63c4df289ef456f047c5e84cf4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | | | Introduce Qt::AA_PluginApplication replacing Qt::AA_MacPluginApplication.Friedemann Kleint2015-09-012-5/+14
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reuse the enumeration value for a generic Qt::AA_PluginApplication attribute since there are also initializations in platform ports other than OS X that need to be suppressed in the plugin case. Task-number: QTBUG-47556 Task-number: QTBUG-45762 Change-Id: I885f75030a251ccf66597aae3580499d012934e7 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | | | | Move Q_ALWAYS_INLINE next to Q_NEVER_INLINE in qglobal.h.Erik Verbruggen2015-08-111-0/+3
|/ / / / | | | | | | | | | | | | | | | | Change-Id: I7e3b7ecca6b5f142fa6cb5db2e9521ed3212afe8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | | Make Qt::Initialization a C++11 class enumThiago Macieira2015-08-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And declare Qt::Uninitialized to be the same value because we're not interested in the scoping rules of C++11 class enums. We're only interested in avoiding the cast from Qt::Uninitialized to an integer. That is to avoid the mistaken: QVector<Custom> vector(5, Qt::Uninitialized); which is actually implicitly: QVector<Custom> vector(5, Custom(Qt::Uninitialized)); and likely not what the developer wanted. Change-Id: I27eaacb532114dd188c4ffff13d374eb698bfbab Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Add QTypeInfo::isRelocatableThiago Macieira2015-08-101-12/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's the same as movable (i.e., the opposite of QTypeInfo::isStatic), except that it won't trigger the QList change in memory layout. For Qt 6, we should merge the two. Change-Id: Ib306f8f647014b399b87ffff13f1ece29e4b6e5c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | | Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/devTimur Pocheptsov2015-08-092-5/+6
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-062-5/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| | * | | do not warn about "untested" Windows versionsJoerg Bornemann2015-08-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the qWarning that was printed when running a Qt application on desktop Windows versions that Qt doesn't know about. This warning isn't helpful, it's only visible for command line applications and it can only be turned off by rebuilding the application with a newer Qt version. Removing the warning is also consistent with all other platforms - even non-Desktop Windows. Change-Id: If1cac92ce99974335319d0b9a74f1006069abd7a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
| | * | | Disable #pragma diagnostic [push|pop] for gcc 4.5Kai Koehne2015-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings like qalgorithms.h:40:16: warning: expected [error|warning|ignored] after `#pragma GCC diagnostic` As the comment below also indicates, #pragma GCC diagnostic [push|pop] is only supported from gcc 4.6 upwards. See also the GCC 4.6 changelog: https://gcc.gnu.org/gcc-4.6/changes.html [ChangeLog][Compiler specific Changes] GCC: Fixed a regression introduced Qt 5.5.0 that generated lots of compiler warnings in Qt public headers when using the (deprecated) version 4.5 of GCC. Change-Id: I425388b61cd5fbf464a0f7dd46ce403d35c532a4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Doc: update the Q_OS_MAC documentation to be less misleadingThiago Macieira2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "open source" version it's talking about is that of Darwin, not of Qt. Change-Id: Ib306f8f647014b399b87ffff13f27bc651d78707 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Dirk Hohndel <dirk@hohndel.org>
| | * | | qglobal: Clarify that Q_OS_WINRT also implies Q_OS_WINSebastian Schuberth2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the docs match the code from qsystemdetection.h. Change-Id: Iec75e24d13e21f1800777bac5fa98b47b47e6001 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * | | Also disable constexpr support in ICC with MSVC before MSVC2015Thiago Macieira2015-07-181-0/+3
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the MS standard library headers won't have the necessary constexpr markings, some types that should be literal (like std::atomic) aren't and some functions that should be constexpr (like std::numeric_limits:max()) aren't. Change-Id: Ib306f8f647014b399b87ffff13f1c74093b11af1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | | Support logging direct to syslog, if enabled.Tasuku Suzuki2015-08-092-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][Logging] Systems with syslog may now pass -syslog to configure to send logging output to syslog. Change-Id: I80d58ee6e70d8deb2409fc666e7e7f2d7f52b8e1 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | | | Document AA_* that must be set before app constructionLaszlo Agocs2015-08-081-5/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After seeing multiple apps falling into the trap of setting AA_ShareOpenGLContexts after constructing the q(gui)app, it is time to add some more docs regarding this. Task-number: QTBUG-47637 Change-Id: I01b5be0980d038efc56fd649d4a1fee26c33aef8 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | Introduce cross platform high-dpi scalingMorten Johan Sørvig2015-07-302-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a coordinate scaling layer to QtGui, which supports 'devicePixelRatio' type high-dpi on all platforms, in production and also for development and testing purposes. High-DPI scaling is opt-in, by setting environment variables: QT_SCALE_FACTOR - sets a global scale factor QT_AUTO_SCREEN_SCALE_FACTOR - sets per-screen scale factors, where the scale factors are provided by the platform plugin. This QtGui scaling can be used instead of or in addition to scaling done by the window system. This distinction is not visible to applications [when they use Qt API], which will see a change in the value returned by the devicePixelRatio() accessors as usual. Introduce a new (private to Qt) coordinate system: native pixels. The coordinate system stack now looks like: device-independent pixels (app, upper parts of Qt) native pixels (lower parts of Qt Gui, platform plugins) device pixels (backing stores and OpenGL) Add private QHighDpi namespace with scaling functions that convert between device-independent pixels and native pixels: T toNativePixels(T, QWindow *); T fromNativePixels(T, QWindow *); Add scaling calls the QWindow (and friends) cross-platform implementation, around the calls to QPlatformWindow functions. QPlatformWindow now uses native coordinates - platform code remains largely unchanged since native coordinates are window system coordinates. QWindow now uses (possibly) scaled coordinates. This means that platform plugins no longer can rely on QWindow::geometry() and related functions. QPlatformWindow::windowGeometry() and other convenience functions have been added for use when the platform plugin needs to convert scaled geometry to native geometry. Add Qt::AA_NoHighDpiScaling, which can be use to disable any scaling in QtGui, effectively ignoring the environment variables. (Note that this does not disable any scaling done by the window system.) Contributions from Friedemann and Paul. Task-number: QTBUG-46615 Change-Id: I673bbd69c130e73b13cce83be11bfb28f580bf60 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Introduce Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6Marc Mutz2015-07-181-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... with classical semantics, meaning movable-come-Qt6, and complex-until-then. Whether or not we want a new flag for movable-except- in-QList is an orthogonal question, and should not hold back the slew of commits that introduce use of this macro. Change-Id: I3a6be08c314fcd7f3315af138625c38196debda5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-07-175-10/+23
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
| * | Set Q_CC_INTEL to the ICC version when in MSVC compat modeThiago Macieira2015-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Commit ffcad3244ff6e2429da1bf985d6d1116c251c2ec did that for the GCC- compat mode, but I forgot the MSVC one. Change-Id: Ib1d49f003062638b4e27e5ead4554e25f539c373 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | Improve ICC compatibility with older MSVC versions (up to 2010)Thiago Macieira2015-07-161-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like on OS X and Linux, ICC uses the native compiler's standard library headers, so the C++11 features that depend on headers need special attention. * <initializer_list> is missing with MSVC 2012. It is present on 2010 for some reason and it appears to work * ICC disables Unicode string support prior to MSVC 2015, probably because MSVC Standard Library headers have a typedef for char16_t std::nullptr and std::move should have come with MSVC 2010, but I'm not keeping compatibility with MSVC 2008. It's been deprecated since ICC 14.0 (Composer XE 2013 SP1, released in 2013) and support was removed in 15.0 (Composer XE 2015, released in 2014). ICC hasn't supported MSVC 2005 since ICC 13.0 (Composer XE 2013). Task-number: QTBUG-47119 Change-Id: Ib306f8f647014b399b87ffff13f139174aeeafff Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * | Disable thread-safe statics for MSVC 2015: they're brokenThiago Macieira2015-07-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An object that throws in its constructor cannot be reentered. This violates both C++11 and C++98. It's also a regression from MSVC 2013. The unit test is renamed to indicate what it really does, as opposed to a misleading name that was probably a "thinko" on my part. Task-number: QTBUG-47224 Change-Id: Ib306f8f647014b399b87ffff13f132436d0578ef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | Fix the printing of the ms-since-boot in %{time boot}Thiago Macieira2015-07-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 5d366f7e was not correct. The time displayed would always be the same (the start time of the application). [ChangeLog][QtCore][Logging framework] Fixed a bug that would cause a "%{time boot}" field in the logging framework's pattern to always display the same value, instead of the time since boot. Change-Id: I255870833a024a36adf6ffff13ecb1dca4a688ed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * | Fix change-of-sign warning with ICCThiago Macieira2015-07-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strlen returns size_t, but -1 is obviously negative. qglobal.cpp(2261): warning #68: integer conversion resulted in a change of sign Change-Id: I255870833a024a36adf6ffff13eb05ce5b2b2595 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | fix running libQtCore.so failureTasuku Suzuki2015-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | It fails when "program interpreter:" is translated. ./lib/libQt5Core.so: cannot execute binary file: Exec format error Change-Id: I5154decb0401eeb1ba38b286b660b830c6136c22 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | QNX: Fix namespace Qt buildSérgio Martins2015-07-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Declare __progname outside the namespace Task-number: QTBUG-43569 Change-Id: I000c6fea2e24d9b1a3514ec5de93649baa3e33a8 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * | remove Build date from qt_core_boilerplate()Tasuku Suzuki2015-07-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | db631a88a030d4d1263d7ae009086f3dd8637982 deprecated that. Change-Id: Id54dc1049004bdaed26925883250038516a6bcbf Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>