summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Distinguish between 'mac' and 'macx' qmake scopesTor Arne Vestbø2013-03-0519-79/+67
| | | | | | | | | | | | | | 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-056-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Added JNI convenience classes in QtPlatformSupport.Yoann Lopes2013-03-056-0/+3583
| | | | | | | | | This is used for Android. Change-Id: I049138c140a472b1721390cf4ec2bd88bbe9c471 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Rename gcc-base-macx.conf to gcc-base-mac.conf and use it for iOS as wellTor Arne Vestbø2013-03-0514-48/+14
| | | | | | | | | | The only difference between the two is that iOS append @executable_path/ to QMAKE_LFLAGS_SONAME, but since shared libraries are not supported on iOS anyways, this is not really something we have to care about. Change-Id: I4797a4dfb94d9b3af03af22618351b98b48f8255 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Rename common/mac.conf to common/macx.confTor Arne Vestbø2013-03-0513-12/+12
| | | | | | | | | | | | This is a step towards making mac a shared scope for both Mac OS X and iOS, while macx is Mac OS X specific and ios is iOS specific. We'll then move iOS to not include macx.conf, once we make the change to not have iOS imply macx. Change-Id: Ic9ce4d597873aa3cf2c981598354733e07db644d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Share common Mac qplatformdefs.h instead of duplicating codeTor Arne Vestbø2013-03-052-94/+1
| | | | | | | | | If there are minor differences later on we can put them in the mkspecs' forwarding header and/or introduce a macx specific file. Change-Id: I2a93107838e0d8434c0d444db3064e0a462fa656 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.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>
* Disable AVX for the whole Apple Clang 3.x series, not just 3.0Tor Arne Vestbø2013-03-051-1/+1
| | | | | | | | Version 3.1, shipped with Xcode 4.3, has the same issues compiling Qt's AVX code. Change-Id: Icb778fbd9d61f01aa84365661af050c9442d4d7f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename configure's getQMakeConfN functions to more descriptive namesTor Arne Vestbø2013-03-051-9/+9
| | | | | Change-Id: I2f0ad6c3978c4bbb20d6d5b854b5f49e9bb96d2b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make QLocalSocket connectable with open()Corentin Jabot2013-03-055-37/+94
| | | | | | | | | | | | Add getter and setter for handling the server QLocalSocket connects to. Move the connectServer() implementation to QLocalSocket::open so the local socket can be handled transparently as a QIODevice Add a convenient connectToServer(OpenMode) method Change-Id: Ibc8dc33f79903f92daf2d1ca2e64ead2ce39f33e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QProcess startable with open()Corentin Jabot2013-03-053-3/+119
| | | | | | | | | | Add setProgram() and setArguments() methods to the QProcess api. Add a convenient start(QIODevice::OpenMode) method. Move the implementation of QProcess::start() to QProcess::open() unifying the QProcess api with other QIODevice subclasses. Change-Id: Id1af57da05f750fe8d526d391589c05ee8037bca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Manual dialog test: Add a page for QWizard.Friedemann Kleint2013-03-054-2/+436
| | | | | | | Task-number: QTBUG-29904 Change-Id: I47df03b0d724ccd156a2854602c41e8f1f2a1d5b Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* QLocale: Add some more languages and scriptsKonstantin Ritt2013-03-055-160/+998
| | | | | Change-Id: Iab23128c1567974154cdcce7412b2e1468bb8462 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix crash in flushWindowSystemEvents() in QGuiApplication-cleanup.Friedemann Kleint2013-03-052-2/+13
| | | | | | | | Check for existence of QGuiApplication, discard events if it is 0. Change-Id: I04b27679033fb13ef2fa38e39757d89465cba94b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Output window in warning about flush() for unexposed window.Friedemann Kleint2013-03-051-2/+5
| | | | | Change-Id: I1dd975926c2bea7bcc10a702739836b16b656213 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Windows: Print size constraints in geometry warning.Friedemann Kleint2013-03-051-2/+7
| | | | | | Change-Id: I0f8f82e975bfe7e9b00c48741b2a0317fac5f839 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Windows: Take custom margins into account for size constraints.Friedemann Kleint2013-03-052-8/+10
| | | | | | | | | | | | Fix a warning unearthed by the task's code example. The minimum size of the window would be too big since it did not take the negative custom top margin into account. Task-number: QTBUG-29904 Change-Id: I8b71a39f0724bdd1b9359676ce1d86ef5384d685 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add missing license headerPaul Olav Tvete2013-03-051-0/+41
| | | | | Change-Id: I0a1c453ff87beb7c900c6b1e76432bcd908a999d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Introducing the Qt Android portPaul Olav Tvete2013-03-05137-107/+13917
| | | | | | | | | | | | | | | | | | | | | Based on the Necessitas project by Bogdan Vatra. Contributors to the Qt5 project: BogDan Vatra <bogdan@kde.org> Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> hjk <hjk121@nokiamail.com> Oswald Buddenhagen <oswald.buddenhagen@digia.com> Paul Olav Tvete <paul.tvete@digia.com> Robin Burchell <robin+qt@viroteck.net> Samuel Rødal <samuel.rodal@digia.com> Yoann Lopes <yoann.lopes@digia.com> The full history of the Qt5 port can be found in refs/old-heads/android, SHA-1 249ca9ca2c7d876b91b31df9434dde47f9065d0d Change-Id: Iff1a7b2dbb707c986f2639e65e39ed8f22430120 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Long live QLockFileDavid Faure2013-03-0515-0/+1370
| | | | | | | | | | | Locking between processes, implemented with open(O_EXCL) on Unix and CreateFile(CREATE_NEW) on Windows. Supports detecting stale lock files and deleting them. Advisory locking is used to prevent deletion of files that are still in use. Change-Id: Id00ee2a4e77a29483d869037c7047c59cb909339 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make the new OpenGL function headers compile on their ownThiago Macieira2013-03-0523-46/+92
| | | | | | | | | | | | You can't use #ifndef QT_NO_OPENGL before including whatever is supposed to define that. That's qconfig.h, included by qglobal.h. Also, make sure that the desktop OpenGL code isn't activated when compiling in OpenGL ES 2 mode -- QOpenGLFunctions_1_0_CoreBackend and other classes aren't defined. Change-Id: I127edf56d42257580579789d0566b7e11c21133b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move Xcode version extraction to xcode.confTor Arne Vestbø2013-03-043-7/+7
| | | | | Change-Id: I11aaf3191cdda6bb88d3e1ba3aba56310720f0a1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Teach configure's pro-file parser to parse quoted $$system()Tor Arne Vestbø2013-03-042-2/+3
| | | | | | | | | | | If the command is quoted, it can contain anything but quotes (we do not support escaped quotes, so single quotes have to be used). If the command is unquoted we look for the first closing parenthesis. We used to do this using .*?, but the greedy modifier '?' didn't seem to work, so we now use an inverse character set. Change-Id: I40660ce7aef6a6b6d480292d28da1b079bb161da Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make tst_qwidget more stableAlberto Mardegan2013-03-041-0/+1
| | | | | | | | This change fixes a failure of tst_qwidget under XFCE (Ubuntu 13.04). Change-Id: Ic63e85a97ac6e44ce8c281a80ef4e83feecd9185 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* ApplicationStates: add more states to Qt::ApplicationStateRichard Moe Gustavsen2013-03-042-4/+21
| | | | | | | | | | | | On mobile platforms, Qt::ApplicationActive and Qt::ApplicationInactive are not sufficient to describe the different states an application can be in. This patch introduces Qt::ApplicationHidden and Qt::ApplicationSuspended that should fill in the gaps, at least on Android and iOS. Change-Id: I3f5a584cf6f4832e7c81dea095dcf711a8866c38 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix potential issue in QTBF itemization codeKonstantin Ritt2013-03-041-1/+1
| | | | | | | Since 5.0, script is QChar::Script which isn't of 1:1 mapping to HB_Script Change-Id: I2d88f929d7d3c3c994076a4e92ea22370962c41c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix selection of fonts that require OpenType featuresKonstantin Ritt2013-03-045-6/+9
| | | | | | | | HB_Face's supported_scripts[] expects HB_Script, so QChar::Script should be remapped via script_to_hbscript(). Change-Id: Ib068c35ab76567fe9a61da7d8ab01133a6f58bc0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove excess brace added by accidentThiago Macieira2013-03-041-1/+0
| | | | | | | | | | | | Added in 53dc49ffc8c2e9e84d80b3e0bbef948e99172f9a. io.pro:44: Excess closing brace. Change-Id: Ia3810a5a2668d96ab4604831e8ca5b49c7562956 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Add QProxyStyle(QString key) constructor for convenienceJ-P Nurmi2013-03-043-7/+30
| | | | | | | | | | | | | | | The QStyle implementations are becoming private, so the following slightly verbose pattern seems to be now repeated a lot: new QProxyStyle(QStyleFactory::create("windows")) This change adds an alternative, more convenient constructor for this particular use case: new QProxyStyle("windows") Change-Id: I97ded597a0fd3225a6354ebea0abb367237430af Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fusion style: Remove unnecessary widget castGabriel de Dietrich2013-03-041-6/+4
| | | | | Change-Id: I8d7fd79b396525ee00fb0ba95faf0c95b5d2899a Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Mark all qtbase headers that aren't cleanThiago Macieira2013-03-0327-0/+105
| | | | | | | | | | | | | | | | QtCore has a few headers that, though public, aren't meant to be included directly. Those are the atomic headers, the three _impl.h headers and qt_windows.h. QtGui includes two OpenGL headers that don't compile on their own. Other libraries should not have headers like that (but they do, something we need to fix eventually). Change-Id: I55e4eb057748f47df927ee618f9409acbc189cc1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QGtk2Theme: use GtkSettings to fetch the icon theme nameJ-P Nurmi2013-03-022-0/+25
| | | | | | Change-Id: Ib486d65276512a94299650adfbf3d87108ae5845 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Pick up QMAKE_MACOSX_DEPLOYMENT_TARGET from mkspec when building qmakeTor Arne Vestbø2013-03-021-3/+3
| | | | | | | | | | | | | | | | | | Instead of setting it explicitly to 10.6. Before 736e4258a this was not a problem, as we were hard-coding the version flags as part of the C/CXX_FLAGS for each makespec, so getQMakeConf would pick them up automatically. When 736e4258a introduced sdk.prf as the place to resolve these flags in a single place, it broke the qmake build for macx-clang-libc++, as we were then falling back to the 10.6 target hard-coded in configure. We fix this by duplicating some of the logic from sdk.prf, by pulling out the QMAKE_MACOSX_DEPLOYMENT_TARGET variable and adding to the C/CXX_FLAGS. Change-Id: I04afc7525031727c2504588c70dd3f7892cc8e42 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make host_build re-use the sdk.prf logicTor Arne Vestbø2013-03-021-28/+24
| | | | | | | | | | | | Instead of hard-coding the SDK and deployment target. A host build will already use the host-makespec, so now that we always build against an SDK, these mkspecs will have the SDK and deployment target set. Change-Id: I2b0343ae75f7de12081bab8346307b96b3883f62 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OpenGL: Add support for the Compute shader stageSean Harmer2013-03-023-2/+17
| | | | | Change-Id: Ibb1b79358758c2adf818af8c6fcd5c379efad8c3 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* moc: Support the '$' character as an identifierOlivier Goffart2013-03-027-8/+81
| | | | | | | | | | Both gcc and clang allow the use of '$' in their identifiers as an extension. moc should not throw a parse error if there is one in the file. Instead, consider '$' as valid in identifiers. Task-number: QTBUG-22720 Change-Id: I8be3a52429c0db5b7e8308b8f4fe475d3d3994bf Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix compilation of moc generated file with MEMBER propertiesOlivier Goffart2013-03-022-2/+20
| | | | | | | | | | | | | | | If the object has only MEMBER properties, without any other property specifying READ, the generated will fail to compile with this error: tst_moc.moc: In member function ‘virtual int ClassWithOneMember::qt_metacall(QMetaObject::Call, int, void**)’: tst_moc.moc:3810:42: error: ‘_v’ was not declared in this scope That's because the '_v' is only declared if 'needTempVarForGet' is set, and it should be set when we have a MEMBER property. Change-Id: I829fad3faf69654b5a3fd540857df19f4a9449d4 Reviewed-by: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add __ARM_ARCH_5TE__ to Q_PROCESSOR_ARM_V5BogDan Vatra2013-03-021-0/+1
| | | | | | | | Android uses this define for armv5. Change-Id: Iee32f3e8691fa731ab0c2185a01620e18741f9a4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* introduce QMAKE_LINK_O_FLAGOswald Buddenhagen2013-03-024-7/+13
| | | | | | | this makes it possible to properly parametrize alternative linkers. Change-Id: Ia9cf574544a0259975470366d278b6c5dc747906 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QUrl: update top level domains that may contain non-ASCII charactersPeter Hartmann2013-03-023-8/+56
| | | | | | | | | Most notably, .com and .net now may contain non-ASCII characters. list has been generated from http://www.mozilla.org/projects/security/tld-idn-policy-list.html Change-Id: Idc3191dc782bc4173ccb19b4bc81f4f061ca7999 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QOpenGLShaderProgram: insert precision defines based on runtime detectionGiuseppe D'Angelo2013-03-011-10/+14
| | | | | | | | | | | Given that we can create OpenGL/ES contexts even under a Desktop OpenGL implementation, we must check the type of the surface we're renderering on at runtime. Change-Id: I55004ce918889b3fc094702976500fcfc675bd1a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Clean up manual test to QGraphicsView (rubberband)Thorbjørn Martsum2013-03-011-8/+7
| | | | | | | | | | This cleans a bit up in the manual test by a) Removing a weird reference alloration (and replace . with ->) b) rename for variable from v (which was also the view name) to n. c) remove a big item in the scene rect that is irrelevant to the test Change-Id: I49cb319bcc2f4bceef0c96ca86b571b0240a9a92 Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
* Add .device.vars to .gitignore.Frederik Gladhorn2013-03-011-0/+1
| | | | | Change-Id: Ia119a33faa6e0e84cb8a002e2ee9f9a745d31f1c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* OpenGL: Add support for OpenGL 4 tessellation shader stagesSean Harmer2013-03-014-7/+252
| | | | | | | | | | This adds support for OpenGL 4 tessellation shader stages to QOpenGLShaderProgram and QOpenGLShader. Change-Id: Iefb2f411e00767990d54670c5d39413be694dd66 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Add QDBusReply::error() const.Jędrzej Nowacki2013-03-012-0/+27
| | | | | | | | The accessor was missing. Task-number: QTBUG-29917 Change-Id: Ie6759a1120bc9ed6550c271df35f276e15b4eb79 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add notify signals to some QCoreApplication propertiesAlan Alpert2013-03-012-4/+51
| | | | | | | | | | The various string properties are good candidates for exposure to QML. While QCoreApplication itself is unlikely to be exposed to QML directly, a wrapper exposure also needs these signals in order to react to changes from QCoreApplication. Change-Id: I266da6010f1c9300de4bb5e7775a0bdacab7f26c Reviewed-by: Richard J. Moore <rich@kde.org>
* Enable QGlobalStatic autotest.Jędrzej Nowacki2013-02-281-1/+3
| | | | | Change-Id: Icda82dacbc749247153df1edb75629b959030ee9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix Q_GLOBAL_STATIC support for exceptionsThiago Macieira2013-02-283-5/+30
| | | | | | | | | | | | | | | | | The problem was that the HolderBase destructor was getting called after the contained type's constructor threw an exception, as is required by RAII semantics (the base was fully initialized, so it had to be destroyed). That was required because we want to return a non-null pointer from operator() during destruction and return null after destruction, to keep compatibility with Qt 4. The solution is to only set the guard to Destroyed only if it is already at value Initialized. This way, if the HolderBase destructor is run as part of the stack unwinding, it knows that the construction did not complete. Change-Id: I9849b43ed7112bf9e70861b48a56a924c286617e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add the infrastructure to compile Qt with -WerrorThiago Macieira2013-02-283-2/+69
| | | | | | | | | | | | | This is enabled only for -developer-builds and only for certain compiler-version combinations that are in a whitelist. It also requires each library, plugin or tool to declare whether it is supposedly clean of warnings. When most targets are clean, we can consider inverting. Change-Id: I17b5c4e45aee5078f9788e846a45d619c144095a Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge "Merge branch 'ios' into dev" into refs/staging/devTor Arne Vestbø2013-02-2895-1684/+4170
|\