summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qglobal.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-051-4/+2
|\ | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| * Doc: Adjust description of the qreal typedefhjk2013-12-041-4/+2
| | | | | | | | | | | | Change-Id: I038df8034ee00868eeee18b1ed09f7a70e3dd77a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix compilation for embedded Androidaavit2013-12-051-4/+4
|/ | | | | Change-Id: If42fd83a68543d59b5a3a6b89e2c402aa452b251 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add QSysInfo::MacVersion enum values and parsing for iOSTor Arne Vestbø2013-11-211-8/+18
| | | | | | Change-Id: I82e425e3cd06e0f515aa6edfb25ef9895956a5c6 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Revert "Add tracing to logging framework"Kai Koehne2013-11-071-4/+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>
* QGlobal: static_assert that sizeof(int) == 4 and UCHAR_MAX == 255Marc Mutz2013-11-061-0/+8
| | | | | | | | | According to Thiago, Qt assumes this in a lot of places, so make it explicit. Change-Id: I3f4a55699379fd9fe4d792061c80b3b589c10c53 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Android: Avoid re-creating Random objects.Christian Strømme2013-11-011-14/+20
| | | | | | | | | We where re-creating a Java Random object each time the seed was set, this causes unnecessary overhead as the old objects becomes subject for garbage collection. Change-Id: I7aa48f5380f86d6c0d57eaeadc71b9b2b146034d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Introduce Windows version 8.1 and detect by checking the version.Friedemann Kleint2013-10-241-3/+37
| | | | | | | | Change-Id: I04012218c34f7a95a87fcf2dc7fc095f0e743e67 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
* Android: Use java.util.Random in qrand()Christian Strømme2013-10-171-0/+36
| | | | | | | | | | | Android does not provide rand_r(), so we would fall back to rand() and srand() which means we where not keeping the promise of qrand and qsrand being thread-safe. As a replacement we can use the Java api and have one Random object for each thread. Task-number: QTBUG-32814 Change-Id: Id46d195a0bb122bc7a5a8de43bdf088e11a9c42e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-4/+4
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Add tracing to logging frameworkhjk2013-09-251-0/+4
| | | | | | | | | Change-Id: I4d5b9a24a214785019ff1238c1790ead79205b15 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add Mac type conversion functions to QtCoreMorten Johan Sørvig2013-09-211-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* WinRT: Basic global supportAndrew Knight2013-09-201-1/+20
| | | | | | | | Various global changes, primarily preprocessor flow, to support the WinRT platform. Change-Id: I3fa9cf91d5fb24019362e88fcf205e31b4f810b5 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Fix unused static function randTLS() warningEskil Abrahamsen Blomfeldt2013-09-091-1/+1
| | | | | | | | | Match the preprocessor conditions for using the randTLS() function in the place where it's defined, otherwise we will get a warning for this. Change-Id: I0fa20f2671da618e31f30a4536f55bc680131e4d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-0/+7
|\ | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * Doc: Add Q_OS_ANDROID macroTakumi Asaki2013-08-231-0/+7
| | | | | | | | | | Change-Id: If428f0b7c1540e809f756f426a6d222acea5d310 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-141-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| * Enable qsrand() on builds without thread-safe posixEskil Abrahamsen Blomfeldt2013-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The #ifdef clause in qsrand() needs to be the same as in qrand(). Otherwise, we will store the seed in thread-local storage in qsrand(), never passing it into srand(), and then we'll use regular rand() because the rand_r() function is missing, thus always using a random seed of 1 in all applications. Task-number: QTBUG-32781 Change-Id: I00240a1954ae746b87b031f3a0470a6cbe747571 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge branch 'stable' into devSergio Ahumada2013-07-111-2/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * Deal with unused functions, as found by the Intel compilerThiago Macieira2013-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use Q_DECL_UNUSED for the one that is possibly unused (we have two overloads so that one gets selected): qglobal.cpp(2069): warning #177: function "<unnamed>::fromstrerror_helper(int, const QByteArray &)" was declared but never referenced Remove functions really not used: qbezier.cpp(153): warning #177: function "findInflections" was declared but never referenced qbezier.cpp(534): warning #177: function "splitBezierAt" was declared but never referenced qpathclipper.cpp(1039): warning #177: function "midPoint" was declared but never referenced qpainter.cpp(119): warning #177: function "check_gradient" was declared but never referenced qdockarealayout.cpp(2580): warning #177: function "qMin(int, int, int)" was declared but never referenced qmainwindowlayout.cpp(1019): warning #177: function "validateDockWidgetArea" was declared but never referenced qgraphicsanchorlayout_p.cpp(670): warning #177: function "checkAdd" was declared but never referenced qcups.cpp(481): warning #177: function "paperSize2String" was declared but never referenced complexwidgets.cpp(373): warning #177: function "removeInvisibleWidgetsFromList" was declared but never referenced Change-Id: I1e5558e206b04edea381442030dc69536198d966 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Add Q_OS_OSX and update the documentation to reflect usage intent.Jake Petroules2013-07-041-4/+6
|/ | | | | | Change-Id: I7f089109d7357995b65f6a012f705a6c3cac12ff Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-251-3/+5
|\ | | | | | | Change-Id: I4c0ae2ac1c10d4d50c03625c802d981b7850ed6f
| * Update for the newest Darwin-family operating systems.Jake Petroules2013-06-251-3/+5
| | | | | | | | | | Change-Id: Ib90296e35f8aa8d63692cf03ba9ffcb94a1a7687 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Further followup to Q_OS_MACX changes.Jake Petroules2013-06-241-1/+1
| | | | | | | | | | | | | | | | Flip !Q_OS_IOS conditions to Q_OS_MACX where it seems appropriate, remove a redundant condition in qtextcodec_p.h. Change-Id: I21c8c0c490f1eb4a9337a7f2f3e907c125489438 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Doc: there is no Q_OS_X11 (and has never been)Thiago Macieira2013-06-181-1/+1
|/ | | | | | | | Change the example to Q_OS_UNIX. Change-Id: I8aed12237408a0e526839a96867aceae33b993b9 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Update support status for older Mac OS X platforms.Jake Petroules2013-06-121-3/+3
| | | | | | Change-Id: Ifdf487fbae8acbffb32b6db5f8dd93e9eb213d77 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Make QFlags enum flags (C++11 strict enums) friendlyAlbert Astals Cid2013-05-091-0/+6
| | | | | Change-Id: I9ccb3e4d281a545ca1845db4f6aa7ac6c04e8621 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Utilize the new Q_OS_MACX define.Jake Petroules2013-05-091-3/+3
| | | | | | | | | | All occurrences of `#if defined(Q_OS_MAC) && !defined(Q_OS_IOS)` have been replaced with `#if defined(Q_OS_MACX)`. Change-Id: I5055d9bd1845136beb8ed1c79a8f0f2c0897751a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Repurpose the former Q_OS_MAC synonym "Q_OS_MACX" to mean "OS X".Jake Petroules2013-05-091-9/+23
| | | | | | | | | | | | | | The equivalent was done earlier for qmake, and this will enable developers writing OS X-specific code to use #ifdef Q_OS_MACX as opposed to overly verbose #if defined(Q_OS_MAC) && !defined(Q_OS_IOS). The sole usage of Q_OS_MACX within qtbase has been changed to the now appropriate value and documentation has been updated. Change-Id: I2c59eea02e94b691b705170b2f96a97940fdc756 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Publish qEnvironmentVariableIs{Set,Empty}()Marc Mutz2013-03-301-7/+5
| | | | | Change-Id: I81b960495c206024b4124cebf88b48b0c0d73619 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Document Q_OS_WIN* macrosTopi Reinio2013-03-291-1/+16
| | | | | | | | | | | Fix the documentation for Q_OS_WIN32 and document Q_OS_WIN64 and Q_OS_WIN. Task-number: QTBUG-23120 Change-Id: Ie040c8deb6aeba326b6fafab302fadf4d93fa49f Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-051-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| * Add snippet for QT_VERSION_CHECK.Mitch Curtis2013-02-271-0/+4
| | | | | | | | | | | | Change-Id: I048771f21ce694329a7e9acd4dbfbebfec964b05 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-201-2/+20
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/unix/separate_debug_info.prf src/gui/kernel/qwindow_p.h src/plugins/platforms/cocoa/qcocoacursor.mm tests/auto/tools/moc/tst_moc.cpp Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
| * Document the qintptr for public usageLaszlo Papp2013-02-201-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | The QAbstractSocket API has been already using this as a return type. Hence, this has already been exposed to the public API users, anyhow. http://qt-project.org/doc/qt-5.0/qtnetwork/qabstractsocket.html#socketDescriptor A minor mistake has also been fixed in this commit at the quintptr section. Change-Id: I8143b3050428548ff6baee2e3a0bce4058ea8701 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add qunsetenv(), next to qputenv() and friends.David Faure2013-02-071-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing tst_qgetputenv shows that qputenv with an empty value doesn't lead to the same result on Windows and on Unix, and there was no way to fully delete an env var on Unix (which is needed for some env vars where not-set and empty are different, such as TZ, see `man tzset`). This is also why qglobal has qEnvironmentVariableIsSet() vs qEnvironmentVariableIsEmpty(), on the getter side. Qt4's ifdefs around unsetenv in qapplication_x11.cpp show that this is needed within Qt too (although this particular startup notification code has to be re-imported into Qt5 still). Change-Id: I631c8cddbcf933d4b9008f11aefc59f5a3c7c866 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove left-overs of QT_{BEGIN,END}_HEADERSSergio Ahumada2013-01-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This macro is useless from Qt 5.1 on, so: - Remove comment about using QT_BEGIN_NAMESPACE after QT_BEGIN_HEADER - There is no need to blacklist these in qt-cpp-ignore.qdocconf Change-Id: I2c3ceb3d77d294a606b87f7486071a2350b3d42f Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-231-1/+1
|\| | | | | | | refs/staging/dev
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | VxWorks header only available in DKM mode and not in RTP mode.Pasi Petäjäjärvi2013-01-231-1/+1
|/ | | | | | | Check if _WRS_KERNEL is defined so we are compiling for DKM mode. Change-Id: I15801b0575d3fe6e543f81a177fd01d015d9085f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Protect Q_UNREACHABLE and Q_ASSUME by Q_ASSERT.Jędrzej Nowacki2013-01-101-0/+4
| | | | | | | | | Both Q_UNREACHABLE and Q_ASSUME with an invalid condition can produce really weird side effects and crashes. Change-Id: I4d808c705ae98388ef5853e6539b70bd5e5ad34b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* doc: Remove documentation for removed TRUE and FALSE macrosSergio Ahumada2012-12-061-20/+0
| | | | | | | These macros were removed by 158f39ec7870c54ff3a15f72fe151062d6daa172 Change-Id: I2aabef1dd2c9cb3949040c167a4e5cf1a9390ba6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use slogger2 for logging on Blackberry instead of writing to stderrFabian Bumberger2012-10-041-5/+7
| | | | | | | Change-Id: Id0137400f18c8dfe7be7ca44670c16615401d424 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Peter Hartmann <phartmann@rim.com>
* QFlags: use unsigned int when the enum's underlying is unsignedMarc Mutz2012-09-281-1/+12
| | | | | | | | | | | Replace storage and operator int() return types with unsigned int if the enum is unsigned. This fixes a number of exisiting warnings, in particular with Qt::MouseButton under GCC. Change-Id: Ia12d36212329aec3e9d62a5fbd38809a6c2b36d0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* [docs] QFlags: fix a whitespace errorMarc Mutz2012-09-261-1/+1
| | | | | Change-Id: I316ceb3d630d6697466a46fa14bdbd8379079875 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove duplicate words and punctuation from documentation.Mitch Curtis2012-09-261-1/+1
| | | | | Change-Id: I5550c62d412510bc2c5acceb2cae7d2f2ef6a8d3 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Fix build with QT_NO_EXCEPTIONSHarald Fernengel2012-09-121-0/+2
| | | | | | | | | qTerminate is declared within a #ifndef QT_NO_EXCEPTIONS block, so the implementation must use the same #ifdef Change-Id: I5d2d58a55fce5084c0538d18a9dd3998b12ed703 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Arvid Picciani <aep@exys.org>
* Use setenv in qputenv if possible, since it won't leakThiago Macieira2012-09-071-0/+3
| | | | | | | | | | | | | | | | | putenv(3) is evil: SUSv2 requires that the pointer passed to it be added to the environment and that modifying the contents of that pointer later will also cause the environment to change. That means we needed to strdup before calling it and that memory was never freed. This shows up all the time in valgrind's leak check. Instead, let's use the 4.3BSD & POSIX.1-2001 setenv(3) function, which does copy. That means there are either no leaks or, if there are, they're not our fault. Change-Id: I4576f91cc718b6b3cae790c4f2854c4976dded37 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QtGlobal: mark qVersion() and qSharedBuild() as nothrowMarc Mutz2012-09-071-2/+2
| | | | | Change-Id: Id9dcf71363754cf6aae94012b22d144455e213eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>