summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-214-132/+188
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * Make QVariant docs refer to QMetaType::Type.Mitch Curtis2013-03-191-115/+165
| | | | | | | | | | | | | | Task-number: QTBUG-30014 Change-Id: Ie4c0df92345bcb79ef44fb6f345cba9fc934d32f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * Correct QDate and QTime documentation.Mitch Curtis2013-03-141-6/+2
| | | | | | | | | | | | | | Task-number: QTBUG-30055 Change-Id: I94c8e023f5e3d23ff2f1c74d0763b1c825deb3d1 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Correct QString's warnings involving QRegularExpression.Mitch Curtis2013-03-121-5/+5
| | | | | | | | | | | | | | | | | | | | Replaces "QRegularExpresssion" with "QRegularExpression" and adds some auto tests for the warning itself. Task-number: QTBUG-30054 Change-Id: Iba333a4388795eccca809fb430c295f503794263 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * Revert 6497649730daeab5d3dfac7e806105e99a237656 and clarify docs.Mitch Curtis2013-03-121-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It introduced a regression by requiring that a p/P was also present: QTime time = QTime::currentTime(); qDebug() << time.toString("h:mm:ss a"); // Outputs "10:05:42 am" in Qt 4.8. // Outputs "10:05:42 a" with 6497649730daeab5d3dfac7e806105e99a237656. This patch also clarifies the QTime::toString(QString) documentation. Change-Id: I4d73a959c2ca76304f03a4ce9717b540ad4e8811 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
| * Fix static builds with ICUKai Koehne2013-03-121-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | Make sure we actually link against the static version of the ICU libs for static builds. Task-number: QTBUG-29478 Change-Id: Ida7b439f11c5393bee43bfe804f9ec84bf272b34 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge branch 'dev' into stable" into refs/staging/stableSergio Ahumada2013-03-20366-14395/+25015
|\ \
| * \ Merge branch 'dev' into stableOswald Buddenhagen2013-03-20366-14395/+25015
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| | * | Document restrictions on the new connection syntaxOlivier Goffart2013-03-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... when the compiler do not support variadic template Change-Id: Iec84cad8ece2fc28b0c224872fdd90d30ae60fc9 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Support connection to functor with multiple operator()Olivier Goffart2013-03-192-6/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When variadic templates and decltype are supported, detect the best overload of operator() to call. Currently, the code takes the type of the operator(), which requires that the functor only has one, and that it has no template parameter. This feature is required if we want to connect to c++1y generic lambda (N3418) Change-Id: Ifa957da6955ea39ab804b58f320da9f98ff47d63 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * | Mark QtPrivate::ApplyReturnType constructor as explicit.Olivier Goffart2013-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Else, the operator,(T, ApplyReturnType<void>) is sometimes chosen if a pointer is passed, and that is breaking some decltype expressions. (such as the one in ComputeFunctorArgumentCount in the next patch) Change-Id: Ic203bbb1a8f5abbebb3b11786454807aa20be5fd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QLocalePrivate: Add convenience language/script/country to code helpersKonstantin Ritt2013-03-192-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id9126a95f1b3a75f510e642ab08c68cefaf3d142 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
| | * | Document ResourceErrorAlbert Astals Cid2013-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From reading the code it can be ENOSPC or EMFILE Change-Id: I2eecbf8afe0228d330210c25f299af12fab9cb64 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | Make sure that we #include qconfig.h before testing for features.Thiago Macieira2013-03-197-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but it's a good idea even in private headers, in case someone includes that header first somewhere. In particular, all platformsupport API is private. Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | Add predefined macros for endian detection with the TI toolchainsLaszlo Papp2013-03-181-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I88768adc8acb3b28b7a774f2e9a285d983c9d76d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Add Qt::AA_UseHighDpiPixmaps.Morten Johan Sørvig2013-03-172-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting this attribute enables QIcon::pixmap() to return high-dpi pixmaps when running on "retina" type displays. This requires an opt-in flag since the returned pixmap can be larger than the requested size, which is a change in previous documented behaviour that can break existing code. Change-Id: I5ff3d25c68de24aa4eda7ad1f8aa9199da04707e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * | Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-1669-195/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | add QCoreApplication to bootstrap libOswald Buddenhagen2013-03-144-28/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this required making it compile with QT_NO_QOBJECT. of course this disables anything related to threading and event processing. needed for bootstrapping qmldevtools (qmlmin, lupdate) Change-Id: I6f8bd3996ac7b6eee49a5b8a55143d358abe35ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | re-enable QT_NO_LIBRARY support on WindowsOswald Buddenhagen2013-03-144-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the exclusion came in with the original winCE port. the reason for this is not clear. Change-Id: I8cd59d27fcc292186e5eef3238f56bad2cf320c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * | simplify/fix QT_BOOTSTRAPPED-related #ifdefsOswald Buddenhagen2013-03-142-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't test for building specific tools when we actually only want to know whether we are bootstrapping. so far, this was only redundant; with the upcoming change of not bootstrapping unnecessarily it would be outright broken. Change-Id: I7600d8ebb14a4194640c50035e35a04263f2ccce Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * | qfilesystemengine_mac.cpp is empty => purgeOswald Buddenhagen2013-03-142-49/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: I61c615343f45fe52adee36b6822322bda2b2ca4f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * | Move Unicode script itemization code from text engine to UnicodeToolsKonstantin Ritt2013-03-143-27/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is still the same trivial implementation with the only difference in that that it properly handles surrogate pairs and combining marks. This temporarily makes QTextEngine::itemize() insignificatly slower due to using intermediate buffer, until refactoring is done. Change-Id: I7987d6306b0b5cdb21b837968e292dd70abfe223 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * | Inital port of QSystemLocale on BlackBerry 10El Mehdi Fekari2013-03-145-127/+416
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic177e2867d9fa3dbaec221766964ac28656a2662 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| | * | Add a generic Qt::Edge enumJ-P Nurmi2013-03-142-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The values are Top/Left/Right/BottomEdge and values specified so that it can be extended as flags later. Change-Id: I67482265e14d89942a8f59bf09e9e3fadab8243f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
| | * | make stubbed QCoreApplication::translate() resolve %nOswald Buddenhagen2013-03-132-7/+13
| | | | | | | | | | | | | | | | | | | | Change-Id: I36326d0f11e71580977d6589c9810ffa252a0fa7 Reviewed-by: hjk <hjk121@nokiamail.com>
| | * | make Q_DECLARE_TR_FUNCTIONS() compile with QT_NO_DEPRECATEDOswald Buddenhagen2013-03-131-2/+9
| | | | | | | | | | | | | | | | | | | | Change-Id: I9cde256347e5b59f7754bc578e56c60227c926ab Reviewed-by: hjk <hjk121@nokiamail.com>
| | * | QStandardPaths::displayName() is unavailable when bootstrappedOswald Buddenhagen2013-03-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | reflect that in the class definition Change-Id: I1224ed851b220abae38c62a4d3dbea8ddbd40b83 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | Improve warning messages (and readability) of connectSlotsByName()Axel Waggershauser2013-03-131-12/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While adding a test case for the new behavior, two issues with the connectSlotsByName implementation came up: 1. for auto-connected slots that don't exactly match a signal, a 'compatible' one is searched. There might be more than one of those. The implementation randomly picks any. 2. The "No matching signal for %s" warning gets printed even for slots that can never be connected via connectSlotsMyName anyway (e.g. "on_something"). This is inconsistent. This fixed both: an explicit warning is printed if more than one 'compatible' signal is found and the "No matching signal for %s" warning is only printed if the slot adheres to the full "on_child_signal()" naming convention. In the process I added comments and changed the code slightly to make it more readable and explicitly hint at non-obvious behavior. Change-Id: Icc8e3b9936188d2da8dfff9f0373c8e5c776eb14 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | Generate a Qt5ConfigVersion.cmake file.Stephen Kelly2013-03-131-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows finding a minimum particular version of Qt 5. Change-Id: I96112f1be90f397ec60a2b233989ac0e0380bef9 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * | Fixed bug in QTimeLine::setPaused(false)Jan Arve Saether2013-03-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that the elapsed timer was not restarted, causing the currentTime() not being adjusted for the time it was paused. Task-number: QTBUG-30108 Change-Id: Ib9b2c5a0dea52762109e0b25f1068dd7c88e15ba Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | * | Hide Harfbuzz from the outer worldKonstantin Ritt2013-03-133-5/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't export, don't generate private headers, don't mention HB in API. Change-Id: I048ebd178bf4afaf9fda710a00933b95274cf910 Reviewed-by: Josh Faust <jfaust@suitabletech.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | g_thread_init is deprecatedFrederik Gladhorn2013-03-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since glib 2.32 this function is just an empty body. Fix the warning and don't try to call it. There seems to be no way to disable threading in glib. Change-Id: Id30e606d341bd6ef871737275336f6c6b3b2559b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * | interpret format argument of QString::sprintf() as UTF-8Oswald Buddenhagen2013-03-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we expect our source code to be utf-8 throughout, so it doesn't make sense to expect the specifier to be latin-1, as that limits the effective charset to ascii. Change-Id: I22335509ba6c5805d8b264cfd01d7f9a4cf7ef76 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | make QtCriticalMsg fatal if QT_FATAL_WARNINGS is setOswald Buddenhagen2013-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if warnings are fatal, then critical messages should be even more so. Change-Id: I3681fa1fc606337006f1781dd961ea9cf6ce282d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| | * | de-duplicate and accelerate codeOswald Buddenhagen2013-03-121-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by using existing function. Change-Id: I25e60e70b307885c46b03b6458f06a561976590c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| | * | fix encoding when invoking default message handlerOswald Buddenhagen2013-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the output is local8bit, not latin1. Change-Id: Ib1ab260ac378b354c5ab47856ce6c6c657caefd4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| | * | QRegularExpression: refactor the handling of the study dataGiuseppe D'Angelo2013-03-121-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following situation: - threads A and B have shallow copies of the same QRegularExpression - threads A and B both call match() on a string - thread A calls optimizePattern(), which doesn't optimize - thread B calls optimizePattern(), which does optimize, and sets studyData - thread A uses studyData (set by B) A needs to properly acquire the memory pointed by studyData (which, in turn, needs to be released by B). This commit implements that. (Before, we used to return a copy of the current studyData from optimizePattern(), so A didn't see that B optimized the pattern and set studyData). Change-Id: I9e4741a3d3229905c247491a07099519815680bb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Let QMetaObject::connectSlotsByName(o) also check for signals of oAxel Waggershauser2013-03-071-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaObject::connectSlotsByName(QObject* o) creates a list of all children to look for signals that match slots of o. This changeset simply adds the object o itself to that list. The motivation is to finally fix the long standing QtCreator bug QTCREATORBUG-6494. Where executing 'Go to slot...' and choosing 'accepted()' for a simple QDialog named 'MyDialog' will add a on_MyDialog_accepted() slot to MyDialog. That slot never gets connected. More details may be found in the linked QTBUG-7595. Task-number: QTBUG-7595 Task-number: QTCREATORBUG-6494 Change-Id: I35f52761791af697eabb569adb5faee6fae50638 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | QVector - removeLast optimizeThorbjørn Martsum2013-03-071-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case somebody uses QVector as a stack, it is not fair to have takeLast, removeLast and pop_back to do way too much work. This is still very slow compared to std::vector::pop_back (mostly due implicit sharing), however it is more than a factor faster than before. Change-Id: I636872675e80c8ca0c8ebc94b04f587a2dcd6d8d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QVector - add functions takeFirst and takeLastThorbjørn Martsum2013-03-072-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds takeFirst and takeLast which are functions that QList also has. Change-Id: I761f90b529774edc8fa96e07c6fcf76226123b20 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QVector - add remove functionsThorbjørn Martsum2013-03-072-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the functions removeFirst() and removeLast(). Functions that QList has. Beside making these functions, pop_back and pop_front are redirected to these rather than calling erase. Change-Id: Ifc5f8a78e33f436f06f21095a920ec5d4311fd6f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Implement XEmbed protocolAlberto Mardegan2013-03-062-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a static QWindow::fromWinId(WId id) constructor which can be used to create a QWindow object representing windows created by other processes. Then, QWindow::setParent() can be used to embed a window into a foreign window socket and QWindow::setTransientParent() to stick the current window on top of a foreign window. The changes in the QtWidgets module ensure that the focus chain (TAB navigation) correctly works when a QtWidgets-based window is embedded into another application. As far as the platform implementation is concerned, this commit only implements the embedding functionality in the XCB plugin. So, this is roughly equivalent to the Qt4 QX11EmbedWidget functionality. Change-Id: Iff8f7b9ee974d33fb30f36056f7838b433a413c7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * | QMap - add multiInsert with hintThorbjørn Martsum2013-03-062-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides a fast multiInsert in QMap (and a fast insert in QMultiMap) when providing a correct hint. Change-Id: I3c864c3a7842765fe63f8ecb4b54d0e8c9fd22d7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QMap - add insert overload that provide a hintThorbjørn Lund Martsum2013-03-062-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a fast insert on QMap when providing a correct hint. Change-Id: I256bba342932c1d4f24c6e65074e1bf47b519537 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-068-10/+20
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/qnx/qqnxscreen.cpp src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: Ib64f21c077b54f2291d19187590bfe869b98477a
| | * \ \ Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-03-0622-37/+401
| | |\ \ \ | | | | | | | | | | | | | | | | | | refs/staging/dev
| | | * \ \ Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-0522-37/+401
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | | | Distinguish between 'mac' and 'macx' qmake scopesTor Arne Vestbø2013-03-052-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former applies both on Mac OS X and iOS, but 'macx' is specific to Mac OS X. ios.conf and macx.conf now share most of their settings in the common mac.conf. We set the default QMAKE_MAC_SDK before loading mac.conf, so that any overrides in the device config will apply afterwards. This means configure's mkspec parsing will be able to read the QMAKE_MAC_SDK. Change-Id: I0c7e26a6a0103e19b23ef152aa9e4ab461cee632 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | * | | | | Clear the current thread data for the main threadThiago Macieira2013-03-055-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids crashes accessing deleted memory when creating a QObject after the last QObject had been deleted, like a qDebug() in global destructors. ==41000== Invalid read of size 4 ==41000== at 0x5F01ED5: bool QBasicAtomicOps<4>::ref<int>(int&) (qatomic_x86.h:208) ==41000== by 0x5F01309: QBasicAtomicInteger<int>::ref() (qbasicatomic.h:147) ==41000== by 0x5F24051: QThreadData::ref() (qthread.cpp:100) ==41000== by 0x614A984: QObject::QObject(QObject*) (qobject.cpp:681) ==41000== Address 0x6ee73f0 is 0 bytes inside a block of size 152 free'd ==41000== at 0x4A0736C: operator delete(void*) (vg_replace_malloc.c:480) ==41000== by 0x5F240BF: QThreadData::deref() (qthread.cpp:109) ==41000== by 0x6113F6B: QCoreApplicationData::~QCoreApplicationData() (qcoreapplication.cpp:268) The comment right above the change in qthread.cpp looks eerily similar to the problem I'm trying to fix. However, the actual change that introduced the change is not in the Qt public history, so we can't know for sure what the problem was then. Change-Id: I0dba895b041fe6cf81e6f8939ca85035cd00aad1 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | | | | Fix build with older Clang versions without __has_extensionTor Arne Vestbø2013-03-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I505d3e4ad2fcd56ee229935d8543811a43923273 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>