summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
Commit message (Collapse)AuthorAgeFilesLines
* Force -fPIE on ELF if Qt is built with reduced relocationsOlivier Goffart2012-02-101-0/+6
| | | | | | | | | | | | | | | | Put in qconfig.h whether qt is compiled with reduced relocations. When using -Bsymbolic-functions (enabled by default on Qt) but not -fPIE, the comparison of the function pointers fail because the addresses are different in Qt, and in the executable. Hence we now enable -fPIE by default on qmake, and force a compilation error when it is not enabled and built with reduced relocations. Done-with: Sune Vuorela <sune@vuorela.dk> Change-Id: Ib3fdba06fab6e8a93b75b4c6cf16cc973ab335db Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow customization of qDebug output at runtimeKai Koehne2012-02-092-9/+325
| | | | | | | | | | | | | Check the QT_OUTPUT_PATTERN environment variable in the default message handler to customize the output of messages. Following place holders are right now supported: %{message}, %{type}, %{file}, %{line}, %{function} The original cleanupFuncinfo was written by Thiago Macieira. Change-Id: I6ad25baaa0e6a1c9f886105d2a93ef3310e512a9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: David Faure <faure@kde.org>
* Various documentation fixes ported from 4.8Teemu Katajisto2012-02-091-1/+1
| | | | | | | | | | | | | | | | | | | Selected documentation fixes for qtbase from 4.8 commit 40fb4750910e23d3e7128ca8e0f1c5920b05bd5a Task-number: QTBUG-8625 Task-number: QTBUG-19808 Task-number: QTBUG-1231 Task-number: QTBUG-21073 Task-number: QTBUG-8939 Task-number: QTBUG-20399 Task-number: QTBUG-20944 Task-number: QTBUG-22095 Task-number: QTBUG-11278 Task-number: QTBUG-15653 Change-Id: Ia4f59fce7c85f04b6da953a3988f705d9d9a658a Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* fix msvc 2008 warning about downcasting to boolOswald Buddenhagen2012-02-081-1/+1
| | | | | | | | | | | | the compiler doesn't have static_assert yet, so we ran into the path which was not fixed by 10229ae. use !!() pattern instead of bool() cast, as the latter throws off macx (see 95d7abb). the other alternative - a c-style cast - would cause autotest failures (see 92464fa), and would be ugly anyway. Change-Id: Idbe9a3b60e17ae1f566f938d9b9be04f0c977492 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix compilation with -Werror -WshadowDavid Faure2012-02-081-2/+2
| | | | | Change-Id: I2ef8f288415820fa08e5bab8b99a00b1ad0f2988 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add qprocessordetection.hBradley T. Hughes2012-02-083-0/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This detects the target processor based on preprocessor #defines, setting Q_PROCESSOR_${FAMILY} accordingly. Optional Q_PROCESSOR_${FAMILY}_${REVISION/VARIANT} #defines are also provided, usually dependent on how the compiler is invoked. Currently detected families (and variants) include: ARM (v5, v6, and v7) X86 (i386 and x86_64, as X86_32 and X86_64 respectively) IA-64 MIPS (I, II, III, IV, 32, 64) Other families that currently are not detected, but Qt has (or had) support for include: Alpha AVR32 Blackfin PA-RISC PowerPC (optional 64-bit variant) S390 (and S390X 64-bit variant) SH (and SH-4A) SPARC (SPARC V9) Detection for these is currently commented out, and can be easily enabled later. Change-Id: I571f245c189b9d80c7c3a5369ac595a271f37c8b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add 'AllButtons' into Qt::MouseButton enum, for use by QMLRick Stockton2012-02-081-0/+1
| | | | | | | | | | | | This allows the QML programmer to set 'acceptedButtons', for a MouseArea, to accept all buttons with a single value. In comparison with OR'ing a long list of Qt::MouseButton values, this is shorter, easier, more clear, and less error-prone. Task-number: QTBUG-24106 Change-Id: I0259969223c0b44b6ce8ae84aed37d20cb77999b Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Use Q_OS_WINCE instead of Q_WS_WINCEAndreas Holzammer2012-02-071-1/+1
| | | | | | | | | Window system defines have been deprecated, so use Q_OS_WINCE instead. Change-Id: I52059d0f854fe783ac20610ab248800c3e1e827c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Make syncqt ignore qsystemdetection.h and qcompilerdetection.hBradley T. Hughes2012-02-072-28/+0
| | | | | | | | | | Remove the #if 0'd blocks and instead add these headers to sync.profile's @ignore_for_include_check, as documented at http://wiki.qt-project.org/Creating_a_new_module_or_tool_for_Qt#other_fields Change-Id: I3bd6e8cb21eca139fdca10fe970eeaf2e4e77c24 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Change #include "qlogging.h" to <QtCore/qlogging.h> in qglobal.hBradley T. Hughes2012-02-061-1/+1
| | | | | | | | | | This silences the warning from syncqt: QtCore: WARNING: qtbase/src/corelib/global/qglobal.h includes qlogging.h when it should include QtCore/qlogging.h Change-Id: I64bd92898190031eb0d3d1dfa5ba5bc56db01c00 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move compiler detection from qglobal.h to a separate headerBradley T. Hughes2012-02-063-492/+553
| | | | | | | | qcompilerdetection.h is included from qglobal.h, and does all Q_CC_* and compiler feature detection. Change-Id: Idd06054e172ef6fa73774e26fa38753996c4161b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move operating system detection from qglobal.h to a separate headerBradley T. Hughes2012-02-063-168/+225
| | | | | | | | | | | | | | qsystemdetection.h is included from qglobal.h, and does all Q_OS_* detection A side-effect of this change is that QT_BEGIN_HEADER and QT_END_HEADER started being defined on Mac OS X, which ends up breaking the build in some cases. Since QT_BEGIN_HEADER and QT_END_HEADER have been defined to nothing in the past, even on Mac OS X, change these 2 to be unconditionally defined to nothing. Change-Id: Ibc8a0aa2207664741c25627d7621e006c2ce80d3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move QtConcurrent into its own moduleLars Knoll2012-02-051-0/+8
| | | | | | | Task-number: QTBUG-20892 Change-Id: I614500aafb6428915509983608bbb0ade4e4f016 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation on MinGW.Friedemann Kleint2012-02-031-1/+3
| | | | | | | | | | | - Add missing constant. - Make FontKey a pair instead of a function-local type which cannot be used as template parameter for gcc. - Fix warnings about redefinition of NOMINMAX and enumeration. Change-Id: Ie3eb6e5b8dd9cd81210d6e10270ada0158aaf809 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Added WindowOverridesSystemGesturesHint to our window flags.Gunnar Sletta2012-02-012-0/+5
| | | | | Change-Id: I42c3d3e5ef71960d16f85969b66380999fb15922 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows: Fix inclusion of <windows.h>Friedemann Kleint2012-02-011-0/+1
| | | | | | | | | | | | | - Always use <qt_windows.h> as the last file to be included. - Remove it from some headers, use Qt::HANDLE instead of HANDLE. - Clean up #ifdef, use Q_OS_WIN for Windows/Windows CE. - Add NOMINMAX to qt_windows.h to avoid problems with the min/max macros. - Remove <windows.h> from qplatformdefs.h (VS2005) Change-Id: Ic44e2cb3eafce38e1ad645c3bf85745439398e50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* QtDebug: Include file, line, function informationKai Koehne2012-02-015-102/+408
| | | | | | | | | | | | | | Record the file, line, and function where a qDebug, qWarning, qCritical or qFatal call happens, and make this information available in a custom message handler. The patch uses the C preprocessor to replace qDebug, qWarning, ... with a line that also records the current file, line, and function. Custom message handlers can access this information via a new QMessageLogContext argument. Change-Id: I0a9b89c1d137e41775932d3b1a35da4ebf12d18d Reviewed-by: David Faure <faure@kde.org>
* Remove non existant features from qfeature.hLars Knoll2012-01-312-540/+54
| | | | | | | | | This doesn't clean it all up, but at least removes things that are clearly gone from Qt. We still have way too many individual feature switches. Change-Id: I7926ee8cf72567a86257f1e7b0d852f11ff5f4bb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove Symbian specific code from QtCore.Xizhi Zhu2012-01-302-23/+1
| | | | | Change-Id: I131303e28a12dccb96de3de4ca0073b389a9bbae Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3021-21/+21
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix compilation warnings on MSVC.Jędrzej Nowacki2012-01-291-2/+2
| | | | | | | | Q_STATIC_ASSERT as condition should accept anything cast-able to "bool". Change-Id: Id76992080f9bb84d3a16b80adffc656d52eca91d Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
* Introduce QTypeInfo::sizeOf.Jędrzej Nowacki2012-01-291-5/+10
| | | | | | | | In QMetaType "void" is a regular type, lack of c++ sizeof operator force us to write a template specialization for the type. Change-Id: I9a56e135223b416b8031836d29ef33ef3fb750e4 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Mark the single argument containers as movable.Stephen Kelly2012-01-261-0/+25
| | | | | | Change-Id: I1557b9f3c2d3ad805e1ab7bf4d49973f08664a79 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Made QWindow::currentOrientation() a property.Samuel Rødal2012-01-261-2/+1
| | | | | | | | | | | | | | To match the previous QWindow::orientation() property which can be useful to access from QML. Also, removed the automatic translation of Qt::PrimaryOrientation to QScreen::primaryOrientation() on the QWindow level, as it leads to a lot of complexity regarding the QWindow::contentOrientationChanged() signal, and makes it hard to distinguish between the case where the window's orientation follows that of the screen, and the case where the orientation just happens to be set to that of the screen. Change-Id: I6950d1337b7f929815eff1328181855090d8066b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Wrap unimplemented clang feature in __has_featureOlivier Goffart2012-01-261-4/+13
| | | | | | | | So that when they are actually implemented in future version, the proper defines get defined. Change-Id: I5cc3e3ef64b06facc27e6d697700dcb7a96300d5 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-255-140/+1
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* remove vestiges of text codec pluginsMark Brand2012-01-251-7/+0
| | | | | | | follow-up to 3a3356a85079d734dfa57205a00e1996afc033df Change-Id: Iba84958cbcd105ec702568752090719cc108e101 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Q_COMPILER_FINALOlivier Goffart2012-01-241-7/+1
| | | | | | | | | | | | | Merge it with Q_COMPILER_EXPLICIT_OVERRIDES No compiler will implement one and not the other, "overrideS" is a shortcut for the two features It was even wrongly not defined with clang Change-Id: I22dcffe6f0c96285c2b409a5ae9ce2f6f1652094 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Made window orientation API more flexible.Samuel Rødal2012-01-242-2/+3
| | | | | | | | | | | | | | | Previously we only had QWindow::setOrientation() which was a hint about the orientation the window's contents were rendered in. However, it's necessary to separate between the orientation corresponding to the window buffer layout and orientation of the contents. A game for example might typically want to use a landscape buffer even on a portrait device. Thus, we replace QWindow::orientation() with QWindow::reportContentOrientationChange() and QWindow::requestWindowOrientation(). Change-Id: I1f07362192daf36c45519cb05b43ac352f1945b5 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove dependencies on removed "TEXTSTREAM" option (f65a10b733)David Faure2012-01-241-3/+3
| | | | | | Change-Id: If7d6ca7af8eb305bd127776a35223d50c1fb4f04 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Remove Symbian code from QtCore.Xizhi Zhu2012-01-243-19/+2
| | | | | Change-Id: I9abdc674bcfa7bb38ce27c5213c5a672f59e63d5 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-231-2/+2
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Id689fdb78727abafba033bed7b0402e2cf27aba1 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2321-22/+22
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* remove obsolete codec plugin loading codeMark Brand2012-01-205-17/+0
| | | | | | Change-Id: I1f3dbb5c10009413f701947b1b89ed3dbc94bf3d Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QBool and use bool instead.David Faure2012-01-201-17/+0
| | | | | | | | | | | | QBool was introduced with Qt-4.0, to detect Qt3-like code like if (c.contains(d) == 2) and break compilation on such constructs. This isn't necessary anymore, given that such code couldn't possibly compile in Qt4 times. And QBool was confusing developers, and creating compile errors (e.g. QVariant doesn't have support for it), so better remove it for Qt 5. Change-Id: I6642f43f5e12b872f98abb56600186179f072b09 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Q_CC_MWERKS.Robin Burchell2012-01-192-36/+2
| | | | | | | | This is no longer supported. Change-Id: I3914f5007595fd699fa1e9a565a0a3f59a0e135e Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Remove Q_CC_NOKIAX86.Robin Burchell2012-01-191-6/+3
| | | | | | | | This is no longer supported. Change-Id: Ic393bc48c4c842514da69b6696cfb62b54360070 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* qglobal: Remove symbian specific featuresOlivier Goffart2012-01-162-496/+15
| | | | | Change-Id: Ie0480b0c80b68a86e77bf3552546f494cdaf66c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Document Q_DECL_CONSTEXPROlivier Goffart2012-01-141-0/+11
| | | | | Change-Id: I61f4017186e8c7b943855723d7c677a01f7a7bf7 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Added application flags to translate between touch and mouse events.Samuel Rødal2012-01-132-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current way we do it of having the platform or touch plugin send both mouse and touch events is not ideal. There's no good way to write an application that works sanely both on a touch-only device and on a desktop except by restricting yourself to only handling mouse events. If you try to handle touch events you don't get any events at all on desktop, and if you try to handle both, you end up getting duplicate events on touch devices. Instead, we should get rid of the code in the plugins that automatically sends mouse events translated from touch events. This change enables that by making the behaviour fully configurable in QtGui. Two new application attributes are added to explicitly say whether unhandled touch events should be sent as synthesized mouse events and vice versa, and no duplicates are automatically sent as the current situation. Synthesized mouse events are enabled by default. We also get rid of the QTouchEvent::TouchPoint::Primary flag, which was only used to signal that the windowing system automatically generated mouse events for that touch point. Now we only generate mouse events from the first touch point in the list. Change-Id: I8e20f3480407ca8c31b42de0a4d2b319e1346b65 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Add Q_COMPILER_* defines for C++11 features supported by clangBradley T. Hughes2012-01-121-1/+40
| | | | | Change-Id: I9487720c33e6ac628f7e13f80057524a950c4c5d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QStyleHelper: Base DPI-calculation on QScreen.Friedemann Kleint2012-01-111-2/+1
| | | | | | | | | | | | | | | - Use qt_defaultDpiX() to obtain the resolution, which obtains it from QScreen. This implies that for X11, which previously used a hardcoded default of 96 DPI, the real resolution will be used (typically 75). - Since many tests (layouts, graphicsview) contain test data for 96 DPI, add an attribute to QCoreApplication making it possible to set the resolution to 96 DPI for testing. Change-Id: I77c8233a96b0d75de07406f58d48886a89c3de06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove unused QT_NO_TEXTSTREAM.David Faure2012-01-114-27/+1
| | | | | | | | It was checked in a few places, but it didn't actually remove QTextStream, so it was pretty useless. Change-Id: I8eaf28893cd6c7acbe1c0b69d58de90742aee755 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix Q_ASSERT_X to handle QT_FORCE_ASSERTSHarald Fernengel2012-01-111-3/+3
| | | | | | | This change aligns the behavior of Q_ASSERT and Q_ASSERT_X Change-Id: Iac9f399da6462fcf70826d3ce1177522bed9f897 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Add defines for explicit virtual overrides.Stephen Kelly2012-01-101-0/+17
| | | | | | Change-Id: Ia9a610e81eeaaa0a08ca6ef4945b002bdb13fe8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Document timer accuracy behavior on UNIX.Bradley T. Hughes2012-01-101-1/+9
| | | | | Change-Id: I5e8b383cc4d8ce0d249be164c5ef596328bdc50c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use Qt::TimerType on Windows when starting timersBradley T. Hughes2012-01-101-0/+6
| | | | | | | | | | | | | | | | | | Make all Qt::PreciseTimers and timers with intervals < 20ms use Multimedia timers for maximum accuracy. Qt::CoarseTimers and Qt::VeryCoarseTimers use normal Windows timers, with Qt::VeryCoarseTimers having their interval rounded to the nearest full second. Note that the Windows timer implementation does not attempt to align timers and reduce CPU wakeups like the UNIX implementation does. This might be done in the future, though. However, this change does the best we can do now, keeping most timers working as-is, while allowing explicit use of Multimedia timers via Qt::PreciseTimer. Change-Id: I1898272b101c572a2a9b9454fef27a651eb178f5 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove symbian debug macro definition.Stephen Kelly2012-01-101-9/+0
| | | | | Change-Id: I3c4cc5cfd8e157587dbda1589501bb829a5a18db Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add define for C++11 explict delete methodsStephen Kelly2012-01-091-8/+8
| | | | | Change-Id: Ief4b8949acb528dcfc0be725b562ae71bd1640cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove the Q_TYPENAME define.Stephen Kelly2012-01-081-6/+0
| | | | | | | | | | | | | It is mostly not used (most places in Qt use typename directly), so is already not very useful. For example typename is used in: QDataStream& operator<<(QDataStream& s, const QVector<T>& v) Change-Id: I85337ad7d8d4ebbb424bfa2ab9a356456ff3e90f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>