summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Incorporate fixes from QQmlAnimationTimer into QAnimationTimer.Michael Brasser2014-08-221-16/+13
| | | | | | | | | | | | | | Incorporates animation timer fixes in: * 7da483bfbefcaabb1dbbf3e2f1d5b5f7aadc3b06 * b02eeeee586abe343b8866385c1327ac009b3ef0 * 59d5c5cf555a51cd7559cea197a198ef3a792614 from qtdeclarative. With these changes, we no longer need to call updateAnimationTimers in QUnifiedTimer::startTimers. Change-Id: Ic24501cfdc3cb572bd891d84f684f11c3bef1b50 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Tighten Q_OS_WINRT ifdefs in qfunctions_winrt.hAndrew Knight2014-08-211-3/+4
| | | | | | | | This allows the convenience macros to be used on desktop Windows 8 when interacting with Windows Runtime types. Change-Id: I09c6b18a6ee9711371ef7dc23fb1d3354198db1c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* QTextCodec::codecForHtml looks at the first 1024 bytesShawn Rutledge2014-08-211-1/+1
| | | | | | | | The HTML 5 spec requires it, instead of only looking at the first 512. Task-number: QTBUG-40383 Change-Id: Ie10cf8c745ed1a3402914e126a02bc43d5035fff Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Debug logging support for QNativeGestureEventShawn Rutledge2014-08-212-0/+2
| | | | | | | | | | The most useful information is what kind of gesture the event represents, but it was missing until now. Also added a line of documentation about the NativeGesture event type. Change-Id: I1ba3c951dcc5751e937d762d9b647ab0bf8d93b8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Rework how animationsystem interoperate with an animation driver.Gunnar Sletta2014-08-203-38/+95
| | | | | | | | | | | | | | | | | We need to keep track of both wall time which are used for pauses and actual animation driver time which is used for actual animations. When switching between these, we need to also maintain the temporal drift potentially introduced by the driver and also the time that has passed in wall-time from when a pause has started until an action animation takes over. This change introduces a well defined elapsed() function in QUnifiedTimer which will return the right value based on which mode we are currently in. It also introduces start/stopAnimationDriver functions which helps us maintain the temporal drift and pause-delta. Change-Id: I5b5100432a6db444a413d1bca4f2d5f800e8cf3e Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Restore foreach macro for GCC 4.3 and 4.4 in C++11 modeThiago Macieira2014-08-191-1/+6
| | | | | | | | | | | | | In C++98, typename can only be used for argument-dependent types and that's not the case here. This was tracked as language defect 382 and was fixed in the final C++11 standard, but the fix didn't make it to GCC 4.3 and 4.4 (which do have decltype). qthreadpool.cpp:274: error: using 'typename' outside of template Task-number: QTBUG-40783 Change-Id: I0eb702b33d2e8c95284f52841b0021dbfc743874 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* WinRT: Do not forget the path specificationMaurice Kalinowski2014-08-191-1/+1
| | | | | | | | The path value can be used to access any container or subcontainer in the settings, even if it is not created by Qt. Change-Id: I431d8a8b129dafb4ec85227421dc37ec76c18ecf Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-194-12/+100
|\
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-124-12/+100
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| | * Fix disconnect()ing from signals declared in a base classOlivier Goffart2014-08-111-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix disconnection from pointer to member signal that belongs to the base class, but whose type is a pointer to a member of the derived class. Commit 9cc106d9d7d951fcf30f4b0f8606afa6b50892ec fixed connect, so apply the same fix in disconnect [ChangeLog][QtCore][QObject] Fixed disconnecting from pointer to member signal that belongs in the base class but whose type is explicitly given as a pointer to a member in the derived class Task-number: QTBUG-40638 Change-Id: Ia546fc8f36e1ea0dd0645bdd820aea47f43677ac Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Document missing QLatin1String methodsThiago Macieira2014-08-071-0/+88
| | | | | | | | | | | | | | | | | | | | | Most of them were added before 5.0, but it's ok to just list as 5.0. Change-Id: I6e83a210a0165659f710d47ed595e9e89d5dbac9 Reviewed-by: Martin Smith <martin.smith@digia.com>
| | * Android: Fix recursion bug in callStaticMethod()Christian Strømme2014-08-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | calling callStaticMethod() with template type jlong, jdouble or jboolean would cause the call to loop indefinitely. Change-Id: I99caa576e761fdef623ece04e0779e4cf2535592 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * Undo: Fix state entry bug for parallel state groupsPeter Kümmel2014-08-061-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit reverts c4cef6fae9f2a55f21fc9517855dfcf659c89081. The above fix for QTBUG-25958 (cloned in QTBUG-40219) is not complete and introduces the regression QTBUG-30049. Task-number: QTBUG-30049, QTBUG-25958, QTBUG-40219 Change-Id: I3c4b774dce06c13cb4e089f8413a7747cedfd212 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Compile on Android without statfs.f_flagsAllan Sandfeld Jensen2014-08-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all Android versions appear to have f_flags in statfs, but we can check for the presence using a feature define. Change-Id: Ib2acf6063d6211b871f462ee491459ac8675aa37 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QMimeData: replace an inefficient QList with a QVectorMarc Mutz2014-08-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMimeDataStruct is larger than a pointer, so holding it in a QList is horribly inefficient. Fix by marking as movable and holding in a QVector instead. Change-Id: If285dd31546066db0b240ea0d4d30668f50b5f2c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Remove redundant code from QMetaProperty.Jędrzej Nowacki2014-08-141-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | The code contained old Qt4 logic. There is no point in checking values of QVariant as they are in sync with QMetaType. Change-Id: I58ace52f69939488e6ea7e7bab98df38419420a8 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | winrt: Fix deadlock in thread dispatcher accessAndrew Knight2014-08-131-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An event dispatcher fetching the core dispatcher can deadlock when looking up the window. Simplify this by only looking up the view, and treating the event dispatcher as one which will never obtain the core dispatcher. This fixes a deadlock which occurs when starting network delegates. Change-Id: Ic27f4ab6f168eb95f3de70d78d64f035c331a7f5 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | Add the QStorageInfo classIvan Komissarov2014-08-139-7/+1646
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows to retrieve information about mounted volumes such as label, total/available size, filesystem type and so on. Possible use cases are: - allows to do checks about filesystem before performing actual operation (such as available/maximum volume size) - allows to retrive information about volume that can be shown in file dialogs - allows to retrieve volume for specific path and check if two or more paths belong to the same volume or not [ChangeLog][QtCore] Added QStorageInfo class to retrive information about mounted volumes and drives Change-Id: Ibf9c2e6b53ef39c5605894a4422acdbbca4030c4 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | Implement native settings format for WinRTMaurice Kalinowski2014-08-134-4/+705
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WinRT stores settings inside the app bundle, not in the registry. Some tests are not fully functional due to errors in the file implementation (See QTBUG-40588). QSettings::SystemScope translates to a roaming container on WinRT, meaning that settings stored inside there should be uploaded and shared among devices. However, this is untested so far. The tests have been updated for those platforms which do not store the order of keys. This has been done on some locations only so far, but needed to be done on more places for WinRT. Task-number: QTBUG-33498 Change-Id: Ifd0194387b09c220d31812b4b6fd0ce9a7d84d24 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | | Fix error reported by address sanitizerOlivier Goffart2014-08-121-6/+12
|/ / | | | | | | | | | | | | One can't dereference the null pointer value. Even to access a static member. Change-Id: I5edc92d7886ccc7029d1f3c00a12de78b439f080 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | winrt: Fix core dispatcher lookupAndrew Knight2014-08-111-19/+33
| | | | | | | | | | | | | | | | | | The core dispatcher lookup should be performed from the constructor in all cases but the first (WinMain) thread, and only rechecked if the thread changes. Change-Id: I05f0c15b3e199994aa5d740b2092b42fb8d2f596 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Micro-optimize QUrl::topLevelDomainJędrzej Nowacki2014-08-091-2/+4
| | | | | | | | | | | | | | | | Using QStringRef saves few instructions Change-Id: I0d67a1f6a1c1385c88a8b21cb98b9c7dbdfb66e5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Micro-optimize QDir::relativeFilePathJędrzej Nowacki2014-08-091-1/+5
| | | | | | | | | | | | | | | | Use QString::splitRef on platforms with case sensitive paths, to avoid unnecessary allocations. Change-Id: Iff331a5eb67c4cbaf1333e663e77290261c5b013 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add QtPrivate::is_const and is_volatileThiago Macieira2014-08-091-0/+9
| | | | | | | | | | | | | | And correct the comment by listing more types that are available Change-Id: I9cb4b664f97300357a55d81bc99dd542a29e933b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QPair: add constexpr liberallyMarc Mutz2014-08-091-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On templates, adding constexpr makes a given instantiation constexpr if it can be. This turns qMakePair(0,0), say, into a compile-time constant. The effects on existing code are small, but exist: $ size lib/*{-baseline,-paircexp} | sort -nr 6516727 211192 2608 6730527 66b31f lib/libQt5Widgets.so.5.4.0-baseline 6516711 211192 2608 6730511 66b30f lib/libQt5Widgets.so.5.4.0-paircexp 5373720 44492 15976 5434188 52eb4c lib/libQt5Core.so.5.4.0-baseline 5373504 44492 15976 5433972 52ea74 lib/libQt5Core.so.5.4.0-paircexp 5107206 125072 6080 5238358 4fee56 lib/libQt5Gui.so.5.4.0-baseline 5107030 125072 6080 5238182 4feda6 lib/libQt5Gui.so.5.4.0-paircexp 1341290 30180 2600 1374070 14f776 lib/libQt5Network.so.5.4.0-baseline 1341210 30180 2600 1373990 14f726 lib/libQt5Network.so.5.4.0-paircexp # no other libraries benefit [ChangeLog][QtCore][QPair] Can now be used in C++11 constexpr contexts. Change-Id: I3872e6aa33a7d02a168516f4dfa7119efcac8c40 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | QStringRef: add missing \since 5.4Marc Mutz2014-08-091-0/+4
| | | | | | | | | | | | | | | | | | {,c}{begin,end}() were added post-5.3, in 1a6f490b, but weren't marked with \since 5.4. Add it. Change-Id: Ide743833144f784c7d09b125e7a22f9b184ed823 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Move the special QByteArrayList methods into QListThiago Macieira2014-08-094-267/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and make QByteArrayList be a simple typedef. As a side-effect, the constructor taking a QByteArray is no longer available since I couldn't find a way to add it to QList<T> when T is QByteArray. My template-foo failed me. I tried: - QEnableIf<is_same<T, QByteArray>::value, QByteArray>::type => makes QList fail to compile for any T that isn't QByteArray - make the constructor a template member => it compiles if the parameter is a QByteArray, but not a const char[4] like the test was - inheriting constructors => runs into ICC and Clang bugs that I could not work around Besides, the constructor with std::initializer_list is a superior solution anyway. Change-Id: Ic86fbadc1104142bfd907a5c4147199bf839fb89 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Long live QByteArrayList!Glen Mabey2014-08-095-0/+535
| | | | | | | | | | | | | | | | | | | | | | Initial submission of a new class QByteArrayList with the purpose of aggregating and then joining QByteArray instances. [ChangeLog][QtCore] Added new QByteArrayList class. Done-with: Marc Mutz <marc.mutz@kdab.com> Change-Id: I503af58f125d7f44fef10360177490c933e5840f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Long live QVersionNumber!Keith Gardner2014-08-094-2/+798
| | | | | | | | | | | | | | | | | | | | | | | | The class provides compare operators, stream operators, and hashing functions. This class aims to be compatible with (but not restricted to) the Semantic Versioning 2.0 standard (semver.org). [ChangeLog][QtCore] Added QVersionNumber class Done-with: Marc Mutz <marc.mutz@kdab.com> Change-Id: I244c8ccc002909af03987a2df052734d1a8621a9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | QObject: fix valgrind warning when disconnectingOlivier Goffart2014-08-092-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QObjectPrivate::Connection::method should never be called when the Connection was made with the function pointer syntax This caused valgrind warning about using uninitialized value on such code: QObject::connect(&o, &Object::aSignal, &o, &Object::aSlot); o.disconnect(&o, SLOT(aSlot())); Change-Id: Iaff9ecd3ddfe665db92726b420021493453c4cea Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add some missing STL typedefs and functions to QStringRef and QByteArrayThiago Macieira2014-08-084-0/+80
| | | | | | | | | | | | | | | | | | These will be needed in some template code that is to come. Change-Id: I5b93f4320313f7b15a6404de2c98f85485735fda Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Add missing #include <qdatastream.h> or <qiodevice.h>Thiago Macieira2014-08-076-0/+6
| | | | | | | | | | | | | | Lots of code depended on an indirect includes from qstringlist.h. Change-Id: I33d0dce33d64302d6c0e49180cc1249b90ab27c5 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | winrt: Handle dispatcher thread changeAndrew Knight2014-08-071-18/+21
| | | | | | | | | | | | | | | | | | | | If the calling thread changes when processing events, the dispatcher will no longer have thread access and event processing will fail. This can e.g. prevent new threads from being created. To remedy this, the dispatcher object is re-fetched if the thread is changed. Change-Id: I519cff521f9b84211db3f28a7a28b532de44a6a4 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | QCommandLineParser: support extremely concise option configuration in C++11Marc Mutz2014-08-066-2/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal of this commit to make the code in the test work: QCommandLineParser parser; parser.addOptions({ { "a", "The A option." }, { { "v", "verbose" }, "The verbose option." }, { { "i", "infile" }, "The input file.", "value" }, }); For this, QCommandLineParser needs a version of addOption that can take a list of options. That's what addOptions() is for. More importantly, the QCommandLineOption ctors mustn't be explicit. OTOH, any implicit conversion from QString or QStringList to QCommandLineOption is also undesirable. To solve this dilemma, add new QCommandLineOption ctors that just take one argument and are explicit, and make the existing ctors implicit. In order to avoid ambiguities, remove the default values of their resp. 2nd arguments. The new ctors are by intention not \since 5.4, as they are completely transparent to the user. Et voila, even better than getopt_long(3). [ChangeLog][QtCore][QCommandLineParser] Added addOptions() method. Change-Id: I5e779f3406cd0f6c8ec6ecbf6c8074af226de300 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Implement QStringRef::splitJędrzej Nowacki2014-08-062-2/+38
| | | | | | | | | | | | | | [ChangeLog][QtCore] Added the QStringRef::split() function Change-Id: I28709c9761785dea7be4e7d621ecf4e1ae007a72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove the last remnants of iWMMXt in QtThiago Macieira2014-08-053-40/+7
| | | | | | | | | | | | | | | | This code hasn't been tested for at least 4 years. It's not maintained and probably doesn't work. Change-Id: I4b9a5179e34111b400914f91caa6b741b69771bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Doc: normalize the {to,from}WCharArray text about encodingsThiago Macieira2014-08-051-4/+4
| | | | | | | | | | | | | | | | | | | | Properly capitalize the names UTF-16 and UCS-4 and make sure we talk about UTF-16 and not UCS-2. UCS-2 is not the same and does not support surrogate pairs. Task-number: QTBUG-35287 Change-Id: If33270996bacc9ae5d04c87423fa1ee9ddaff230 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Add a few missing Neon constructsThiago Macieira2014-08-052-7/+7
| | | | | | | | | | | | | | | | | | | | | | The #undef in qcompilerdetection.h was missing. And apparently we can detect Neon since Windows Mobile 6 too. Change-Id: I38a5f71b2704a29a706183e39f43db3a78a729db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QFutureInterface: allow to work with a QThreadPool != globalInstance()Marc Mutz2014-08-053-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Background: It is often necessary/advisable to schedule tasks on thread pools != globalInstance(). As Herb Sutter writes in http://www.drdobbs.com/parallel/use-thread-pools-correctly-keep-tasks-sh/216500409 and the Qt Training Material stresses, tasks you schedule on a (global) thread pool should be non-blocking, which currently rules out using any of the QtConcurrent functions for, say, file I/O. Nonetheless it's often convenient to have thread pools also for file I/O, as the thumbnail viewer exercise in the Qt Training Material shows. In this case, you'd use a dedicated thead pool, leaving the global thread pool for CPU-bound tasks. Yet, none of the QtConcurrent functions allow to pick the QThreadPool instance on which to schedule the work created with them. This patch prepares for them to do so. This is the first part of the forward-port of https://qt.gitorious.org/qt/qt/merge_requests/1281. Implement by using a new QThreadPool* member that defaults to nullptr, and adding setThreadPool to set this member, then using it in lieu of QThreadPool::globalInstance() everywhere. I chose to leave m_pool == nullptr to mean globalInstance() to avoid creating the global instance whenever a QFuture is created, even if the future represents the result of a calculation not run on the global thread pool. [ChangeLog][QtCore][QFuture] Can now be used with any QThreadPool, not just globalInstance(). Task-number: QTBUG-17220 Change-Id: I4e1dc18d55cf60141b2fa3d14e2d44a3e9e74858 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Logging: use the known function when the first frame of the backtrace is unknownOlivier Goffart2014-08-051-3/+7
| | | | | | | | | | | | Change-Id: Ia591805c82e7bf77dc7af04f1054c7daca58eb6a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-08-054-9/+29
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-08-044-9/+29
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/arch/arch.cpp src/opengl/qgl_qpa.cpp src/widgets/kernel/qapplication.cpp Change-Id: I80b442a4c2c9632743a5b5c7319ff201ec5bc4fd
| | * Merge remote-tracking branch 'origin/stable' into 5.3Oswald Buddenhagen2014-07-302-8/+17
| | |\ | | | | | | | | | | | | Change-Id: I2a044d44ca991ba20ddd710053b85afb51e362d3
| | | * Support MIPS atomic on pre-MIPS32 architecturesAurelien Jarno2014-06-271-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The atomic functions on MIPS are based on the sync opcode with an immediate argument, which is something introduced in the MIPS32 instruction set. This prevent to use Qt on pre-MIPS32 CPU, like the Loongson 2 CPU. However some of the pre-MIPS32 CPUs interprets the sync opcode with and immediate argument as a sync opcode without argument (which is a stronger ordering than with the argument), and for the others the kernel emulates it. It is therefore fine to use the current MIPS atomic functions on pre-MIPS32 CPU. This patch allows that by temporarily changing the instruction set to MIPS32 around the sync instruction, so that binutils doesn't choke on it. Change-Id: I9cc984bd55b5f172736ce9e638a6f4e271b79fe7 Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Enable sparc detection.Lisandro Damián Nicanor Pérez Meyer2014-06-271-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been working in Debian for some time. It also adds detection for 64bits Sparc. Change-Id: Ie4fc0f58b37672b79191ebe51de0caf2eaf8a1d9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Work around ICC bug in local static symbols for Q_GLOBAL_STATICThiago Macieira2014-07-301-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling the innerFunction() of the Q_GLOBAL_STATIC expansion, ICC emits global symbols for the internal "holder" local static variable and its guard. If there are two global statics of the same name in two different .cpp files, the linker will incorrectly merge the two "holder" variables. This was noted between the "customTypes" global statics of qmetatype.cpp and qdbusmetatype.cpp in a static build. The C++ standard requires that local static variables declared in inline functions must be the same, regardless of whether the body of the function got inlined or not. The IA-64 C++ ABI does that by requiring local static symbols for inline functions to be global and mergeable ("link once"). However, two functions in anonymous namespaces in different files are not considered to be the same function, so their local statics should not be merged. This is where ICC failed: the local statics are global and mergeable, even though the function is in an anonymous namespace. ICC correctly emits the function itself as a local symbol. Alternative solutions were: 1) add "static", but you can't use a static symbol in a template parameter in C++98 mode 2) remove the "inline" keyword, but then GCC 4.8 will not inline Intel issue ID: 6000058488 Task-number: QTBUG-40053 Change-Id: I307622222499682dde711b2771c8cf7557400799 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | | Add Q_ENUMS for Qt::MouseEventSource, Qt::FocusReason.Friedemann Kleint2014-08-051-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic91b9a74d0c28ec225d2708a13aafddd1e2c32af Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | | QList: Fix MSVC 64bit warning about loss of data.Friedemann Kleint2014-08-051-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | qlist.h(133) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data qlist.h(131) : while compiling class template member function 'QList<QString>::QList(std::initializer_list<T>)' Change-Id: I8a11e298cd10da199490fbd8b269405a9e1cf5f3 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | QList: add missing reserve() call in the initializer_list ctorMarc Mutz2014-08-031-1/+1
| | | | | | | | | | | | | | | Change-Id: Idc46a347009556d06db4bc1f7ce3e2613fb1a405 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Support multimedia keys on WindowsAllan Sandfeld Jensen2014-08-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently do not receive events from most multimedia keys on Windows because they are sent using appcommand events instead of the normal key events. This patchs adds support for parsing appcommand events. Change-Id: I19f568b6fa0d3d136e3a22318df1499a1fab6edb Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>