summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add qt_safe_ftok wrapper for ftokLouai Al-Khanji2015-09-303-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ftok function unfortunately can return duplicate keys even for different files if the same project id is used. This is discussed e.g. in Stevens' "Advanced Programming in the UNIX Environment". We want the key to be predictable so we cannot just pass a random number as the project id. To reduce the propability of key collisions we hash the file name with the project number as seed for a predictable value. This is the same approach taken e.g. by Apache, but the real fix is to move away from System V IPC completely once this is feasible on our supported platforms. Task-number: QTBUG-48375 Change-Id: If1a57f215f7ddd147aa38919907cfb83db07aea0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Use QTypeInfo<T>::isRelocatable in QVariantThiago Macieira2015-09-242-2/+2
| | | | | | | | | | Change-Id: Ib306f8f647014b399b87ffff13f1f01c40dc3ef7 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Doc: Mention that calling parent class event() is importantAlbert Astals Cid2015-09-231-0/+7
| | | | | | | | | | | | | | If you don't deleteLater and more won't work Change-Id: I47cbb24f8e22a7f269a0297410e4163878819f82 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Clean up some Apple-related includes and declarations.Jake Petroules2015-09-221-4/+0
| | | | | | | | | | Change-Id: I92db9691c2243ae72ecd4e11dd4640afaf4bf822 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Doc: Make QSignalBlocker more discoverableSze Howe Koh2015-09-081-2/+2
| | | | | | | | | | | | | | | | QSignalBlocker is a wrapper for QObject::blockSignals(). Let's add a cross-reference. Change-Id: I3e7b7530eef165439965e4f83da308d9384209f3 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | WinRT: Fixed possible integer overflow in timer registration codeOliver Wolff2015-09-021-1/+2
| | | | | | | | | | | | Task-number: QTBUG-48012 Change-Id: If1b80e59c13230bc0a62c6fa3d45b6e2272b9e28 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-261-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| * Doc: add clarification about signals not being buffered when blockedSamuel Gaist2015-08-061-0/+2
| | | | | | | | | | | | | | Task-number: QTBUG-15238 Change-Id: Id762007415245f104ffe5cdfd100889f9a73ae95 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Be more tolerant with multiple differerent metatype registrationsOlivier Goffart2015-08-261-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a qFatal in qmetatype.cpp that checks that the flags are the same. There is a binary compatibility break because if any cause build with Qt 5.5 is loaded, this qFatal will quit the application, due to the change in commit 54a09a41885e65fea4ca20d0e3d90d8f4e9e80c5: Type flags for type 'QtMetaTypePrivate::QPairVariantInterfaceImpl' [1034] don't match. Previously registered TypeFlags(0x103), now registering TypeFlags(0x107). This is an ODR break, which means that your application depends on a C++ undefined behavior. This is a false positive since it is an internal type, the MovableType in QMetaType is only being used for performance reason, it is perfectly fine to change it. This commit changes the qFatal to complain only about flags that could only be caused by a binary incompatible change. Change-Id: I87b9bf8cf54b6c7f4b1277d411ce5107642435ab Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add #ifdef to avoid qdoc missing function warningLouai Al-Khanji2015-08-251-0/+5
| | | | | | | | | | Change-Id: I1cba5543a519030a5b06bc80b6fd7410327c86c8 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Fix invalid documentation function referenceLouai Al-Khanji2015-08-251-2/+2
| | | | | | | | | | Change-Id: Iccf62e3f2f7843c14dd6540400241bdd264ad376 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Move QCoreApplication::quitLockEnabled documentation to single placeLouai Al-Khanji2015-08-251-16/+4
| | | | | | | | | | | | | | | | | | | | | | Moving the documentation to one spot reduces repetition, is more canonical, and avoids a warning due to undocumented function argument in the setter. Also document the default setting. Change-Id: Idcedacf4bf101909689025d044e96801255a3332 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Avoid recreating QVariantLists when extracted from a QVariantJocelyn Turcotte2015-08-242-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrapping a QVariantList in a QVariant to pass it to QML would trigger a deep copy each time QML would try to access elements in the list (specifically in QQmlListAccessor::at). This reverts a part of 8c4deff51c8064f5a15cae0342bfa66b6663662b by specifying the associative array conversions explicitly without including the current type in the list of types to convert through an iteration. Task-number: QTBUG-41403 Change-Id: If9fddfe6d36f789ac4aa61a7c32677cd1dd077d8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge dev into 5.6Oswald Buddenhagen2015-08-173-81/+83
|\ \ | | | | | | | | | Change-Id: I061f2513ef58f696e75b11928d89aaaf059659a3
| * | Use QScopedPointer for library pathsUlf Hermann2015-08-131-31/+21
| | | | | | | | | | | | | | | | | | | | | | | | This way we can remove some life cycle management code. Change-Id: I8e0c9db0a8c5f0941bbd834380d3e3b3a9d2f306 Reviewed-by: Adam Majer <adamm@zombino.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | winrt: Refactor platform plugin for XAML supportAndrew Knight2015-08-132-50/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using XAML as the platform compositor, many benefits are possible: - Better input context handling for tablets - Better multiple window support (including non-fullscreen windows) - Support for transparent windows and window opacity - Integration with native platform controls - Simpler orientation handling on Windows Phone with built-in transitions This patch applies only the minimal parts to make XAML mode work just as the raw D3D mode. It does this by: - Moving all OpenGL parts into QWinRTEGLContext. This will allow us to have non-OpenGL windows later (e.g. Direct2D raster surfaces). - Moving more window-specific parts into QWinRTWindow. Each window creates a SwapChainPanel which can then be used for ANGLE (or Direct2D) content. - Moving non screen-specific parts into QWinRTIntegration. - Having QWinRTScreen create the base XAML element Canvas. - Running certain calls on the UI thread where necessary. The following code parts were removed: - The UIAutomationCore code in QWinRTInputContext, as this is incompatible with XAML automation. - The D3D Trim and device blacklist, as these have been fixed in ANGLE. - Core dispatcher processing in QEventDispatcherWinRT. Now there is only one native event dispatcher; it is always running and never needs to be pumped. Future commits should address: - Maintaining the window stack list and visibility using the XAML Canvas. - Allowing for windows (e.g. popups) to be sized and positioned instead of fullscreen. - Using the XAML automation API to improve the platform input context. [ChangeLog][QPA][winrt] Windows Store apps are now composited inside a XAML container, allowing for tighter integration with the native UI layer. Change-Id: I285c6dea657c5dab2fda2b1bd8e8e5dd15882c72 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | | Prefer QT_PLUGIN_PATH over compiled-in paths.Milian Wolff2015-08-111-11/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when one compiles a Qt plugin that is also installed system wide to a local path added to QT_PLUGIN_PATH, you have no way to ever load it as the global plugin will always be preferred. This is due to the order in which the QCoreApplications::libraryPaths are constructed, which always appended the QT_PLUGIN_PATH contents to the end. Now, the QT_PLUGIN_PATH contents are put first, such that the plugins in there are preferred and loaded. [ChangeLog][QtCore][QPluginLoader] Fixed the search order of Qt plugins so that paths specified by the QT_PLUGIN_PATH environment variable are searched before built-in paths. Change-Id: Iad8ca2cd34e7a622c191a416c01c1c5cc1812fc9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Reduce memory usage of dynamic propertiesSimon Hausmann2015-08-101-1/+1
| | | | | | | | | | | | | | | | | | The dynamic property variants are stored as QList<QVariant>, which unfortunately results in QList to behave as array-list because of the size of QVariant. By storing the variants in a vector directly we can eliminate the array-list element pointers. Change-Id: I8736e1cf48b9fc97df3007df4a439b793933f346 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-065-4/+45
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| * Doc: Don't advertise QLocale::system() in QTranslator::load documentationKai Koehne2015-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | Usually you want to use just QLocale(), and not QLocale::system(). They are both the same except when the user called QLocale::setDefault() beforehand. Change-Id: I2d9b13ac3ffec0005b1d9bf661eccdea276d34b1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| * Doc:added doc to undocumented functionsNico Vertriest2015-07-223-3/+40
| | | | | | | | | | | | Task-number: QTBUG-36985 Change-Id: Ic358682b276d67ef804f727bcf14191718613469 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * QtCore: Fix const correctness in old style castsThiago Macieira2015-07-203-3/+4
| | | | | | | | | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c8d4b2920a11fb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Doc: Fix qdoc warnings about missing \inmoduleKai Koehne2015-08-041-0/+1
| | | | | | | | | | Change-Id: Id04ac0d4825ad3e8489c0db186425e049e2c6108 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Replace ifdefs with QDir::listSeparator()Sérgio Martins2015-07-291-6/+1
| | | | | | | | | | Change-Id: I98fab8e0d83b2e7851ba8c0a4adfc02af1271a92 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QTimer: Force a compilation error with pmf without objectOlivier Goffart2015-07-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | None of this should compile (foo is non-static): QTimer::singleShot(0, &TestObject::foo); QTimer::singleShot(0, SLOT(foo())); Task-number: QTBUG-47426 Change-Id: I54b7d14124459e450c6a0a93a3033f21b57605d9 Reviewed-by: Dario Freddi <dario.freddi@ispirata.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | qvariant: Pass a couple of large types by const-ref in Qt6Sérgio Martins2015-07-222-0/+16
| | | | | | | | | | | | | | sizeof is approx 100 bytes Change-Id: Ibd5fb50674effee832ce4529d737c060c570ffa3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Wec2013 initial port.Bjoern Breitmeyer2015-07-212-2/+21
| | | | | | | | | | Change-Id: Ib1dfdc5687e54daefd84982653967fe5eff8aab5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Selectively update library paths when creating QCoreApplicationUlf Hermann2015-07-201-19/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We force a recreation of the library paths with added information on construction of QCoreApplication. This way we can find plugins in the application directory which only becomes known when QCoreApplication is created. When the user changes the library path we create a new list of the manually modified library paths and recalculate it from the delta of original vs. modified paths when QCoreApplication is created. The upsides of this approach vs. keeping an explicit delta are: * We don't need to introduce a separate data structure to hold the added/removed status for delta items or the information that the whole list got replaced. * The lists never get larger than the the real library paths. An explicit delta would have to record all modifications. * I don't think the delta replay algorithm we would have to do anyway could be made much more compact than the one this change introduces. Of course, if the user actually changes anything, the list is duplicated. Considering that this is a rarely used function and that we would have to save some extra information anyway, I think we can live with this. Task-number: QTBUG-38598 Change-Id: I3bfbbd1be62dd5804dcc7ac808b053428a4e3149 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add a way for auxiliary threads to handle events without CoreAppThiago Macieira2015-07-183-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Long-lived threads started by Qt itself can now receive events even if QCoreApplication hasn't been created. This is required in all threads we start that will handle events, unless we're sure that the thread will exit before the global application object begins destruction. Otherwise, those threads will have race conditions dealing with the event delivery system trying to call the QCoreApplication::notify() virtual while the object is being destroyed. Change-Id: I27eaacb532114dd188c4ffff13d4ad2a4bb443e6 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Make the event delivery go through some more static functionsThiago Macieira2015-07-183-16/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes QCoreApplicationPrivate::checkReceiverThread, notify_helper, and sendThroughObjectEventFilters be static functions, since they only deal with global data or the parameters only. Making notifyInternal would have been binary incompatible (it's called from inline functions QCoreApplication::sendSpontaneousEvent and QCoreApplication::sendEvent), so instead add a new static notifyInternal2 and mark the older function deprecated and to be removed in Qt 6. Change-Id: I27eaacb532114dd188c4ffff13d59fe3b0661489 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Revamp the CLOEXEC support in QtThiago Macieira2015-07-171-43/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The pipe2/dup3/accept4 functions and SOCK_CLOEXEC are quite old nowadays on Linux. They were introduced on Linux 2.6.28 and glibc 2.10, all from 2008. They were also picked up by uClibc in 2011 and FreeBSD as of version 10.0. So we no longer need the runtime detection of whether the feature is available. Instead, if the libc has support for it, use it unconditionally and fail at runtime if the syscall isn't implemented. Change-Id: Ib056b47dde3341ef9a52ffff13efcc39ef8dff7d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Remove unnecessary check from qt_safe_pipe: condition can never happenThiago Macieira2015-07-171-4/+0
| | | | | | | | | | | | | | FD_CLOEXEC is implicit for us, so no caller will need to set O_CLOEXEC. Change-Id: Ib056b47dde3341ef9a52ffff13efcb635dea95f0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-07-176-24/+32
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
| * Windows: Fix crash when using wmain() and passing a fake argv.Friedemann Kleint2015-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | Return true from isArgvModified() when __argv is null (as is the case when using wmain()) indicating arguments are modified. Task-number: QTBUG-47023 Task-number: QTBUG-30330 Change-Id: I44329ed3369cd4db79ba1b7c19303895f67b1616 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * doc: Correction in access(): signals are now publicAlejandro Exojo2015-07-121-2/+3
| | | | | | | | | | | | Change-Id: I7c3ea57103a3e68ec5fadd082c11fbc0db960b0b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Remove the warning printed when QObject's destructor catches exceptionsThiago Macieira2015-07-081-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning is useless, since the application is about to terminate anyway. The user will be better informed by getting a proper backtrace of the throw point, instead of the rethrow point inside QObject's destructor. The application WILL terminate because C++11 destructors are noexcept and GCC 6 enforces it: qobject.cpp:909:13: error: throw will always call terminate() [- Werror=terminate] qobject.cpp:909:13: note: in C++11 destructors default to noexcept QT_RETHROW; ^ Change-Id: Ib056b47dde3341ef9a52ffff13ee8f01d874d224 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Fix the remainingTime() result after the first activation of a QTimerThiago Macieira2015-07-081-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows, t->timeout was updated only once, at creation time, so the timer would always show as "overdue" after the first activation. The timer is updated to indicate the full remaining time during the slot activation, which is the behavior of the Unix and Glib dispatchers. Task-number: QTBUG-46940 Change-Id: I255870833a024a36adf6ffff13ecadb021c4358c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Make the Windows qt_msectime() function return 64-bitThiago Macieira2015-07-082-2/+2
| | | | | | | | | | | | | | | | 32-bit integers overflow after 49.7 days. Task-number: QTBUG-43777 Change-Id: Ief8943bc86ba32e5a66b48604c583031af95ad42 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * doc: Fix and improve QMetaMethod::tagAlejandro Exojo2015-07-061-6/+9
| | | | | | | | | | | | | | | | | | Make the example and the explanations a bit more detailed about the purpose of the feature, and fix the example, as it was not calling metaObject() on the example object. Change-Id: Ibf3331ed85601274f43794e3a4143e0d6b86a479 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Mark some QtMetaTypePrivate classes movableMarc Mutz2015-07-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These types are held in QVariant. This change should be BC, because it's private API, even though it is located in a public header file. The classes are used as private data members in the respective public API classes, but we don't change the size or composition, and holding these types in a QList would be outside the use of non-private API for which we promise BC. Change-Id: I7ef1c1ca57e9d87c6474c97bb2fa8afef170c88f Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QPairVariantInterfaceImpl: init all fieldsMarc Mutz2015-07-161-0/+4
| | | | | | | | | | | | | | Same pattern as used for Q{Sequential,Associative}IterableImpl. Change-Id: Iacec3266af80eecf491d2bb766c6fddd1365bdaa Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QPointer: remove user-declared empty destructorMarc Mutz2015-07-131-1/+1
| | | | | | | | | | | | | | | | It prevents the compiler from synthesizing move assignment and move constructor. Change-Id: I864d143d5a6233e45f3f2fc343a147db89559f33 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | qdoc:Fixed a few qdoc errorsMartin Smith2015-07-072-7/+1
| | | | | | | | | | | | | | | | | | Fixed a few qdoc error messages caused by errors in qmetatype.cpp and qtextlayout.cpp and qtestcase.cpp and qpointer.cpp Change-Id: I662aa25bedba057e125e289c34787e81793941ff Task-number: QTBUG-46939 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-016-24/+57
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-272-5/+26
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.h Manually fixed src/testlib/qtestcase.cpp to return the right type. Change-Id: Id1634dbe3d73fefe9431b9f5378846cb187624e4
| | * Don't document the IsGadget flagThiago Macieira2015-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | There's still some discussion as to whether it's safe to use. Until we're completely sure, don't let users use it. We can always bring it back later. Change-Id: I049a653beeb5454c9539ffff13e5e3e343da0e7d Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| | * Doc: document future direction of QCoreApplication::notify()Thiago Macieira2015-06-221-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It will definitely not be called for events outside the main thread, but we haven't decided for the main thread, in Qt 6. [ChangeLog][Future direction notices] In Qt 6, QCoreApplication::notify() will not be called for events being delivered to objects outside the main thread. The reason for that is that the main application object may begin destruction while those threads are still delivering events, which is undefined behavior. Applications that currently override notify() and use that function outside the main thread are advised to find other solutions in the mean time. Change-Id: I27eaacb532114dd188c4ffff13d5a5c8df3bc85b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Don't enforce all QMetaType::TypeFlag difference across Qt versionsAlex Blasche2015-06-101-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaType::IsGadget was introduced in Qt 5.5 and set when Q_GADGET is used. If an existing Qt 5.4 class was converted to a gadget in Qt 5.5+, the two types would have differing QMetaType::TypeFlags. Such a conversion happened for QGeoCoordinate, QGeoShape, QGeoRectangle and QGeoCircle. There might be other classes too. In principle, the same problem exists for every future addition to QMetaType::TypeFlag too. This patch ensures that new flags are kept in the metatype database and the related qFatal call is not triggered for any flag >= TypeFlag::WasDeclaredAsMetaType. Change-Id: Ibb15daeb28d9a11b7f31658f4219cbca2499213f Task-number: QTBUG-46454 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | winrt: don't return invalidated timers in ↵Oliver Wolff2015-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | QEventDispatcherWinRT::registeredTimers Change-Id: I0dbad7a78080cd8c18893fea8294cf540a5e9e5e Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * | Use qthread_win.cpp for WinRT as wellOliver Wolff2015-06-231-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since of Windows (Phone) 8.1 most of the desktop's thread functionality is also available, so we might be able to share the code and get rid of the extra implementation for WinRT. Task-number: QTBUG-43837 Change-Id: I0ce907cd94899834527f88c70e1e395bafdb14b3 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>