summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fixed autolink errors qtbase/kernelNico Vertriest2014-09-242-24/+23
| | | | | | Task-number: QTBUG-40362 Change-Id: I54a1111e39fb7e85d34ea97b937d2764d29b27a0 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-09-246-7/+37
|\
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-236-7/+37
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * cocoa: don't override NSApplication-sendEvent if configured as ↵Tim Blechmann2014-09-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | AA_MacPluginApplication Change-Id: I48cebbcb814ee8e97583c3165e7cb668077cfbad Task-number: QTBUG-40409 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Add missing private headers warningSamuel Gaist2014-09-042-0/+22
| | | | | | | | | | | | | | | Change-Id: I7a4dd22ea3bcebf4c3ec3ad731628fd8f3c247e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Also print the class name in the QObject::killTimer error msg.Erik Verbruggen2014-08-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | When no objectName is set, this will give at least some information, other than the memory address of the current instance. Change-Id: Iae452c0e9fe38f0aab35094ddf0edc0fd6b28c20 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * Android: Avoid caching the same class twice.Christian Strømme2014-08-261-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | The class name scheme can be separated by '/' or '.', if both formats where used we would end-up caching those classes twice. Change-Id: I3ae69694d6a8616bbaadfb3c2d0717fbf9ccb9fc Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| | * BlackBerry PlayBook build fixesSérgio Martins2014-08-261-1/+1
| | | | | | | | | | | | | | | Change-Id: I32b232883bb29ca7305bca1da1df263f106ddd93 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | Improve checking for event/socket notifiers and timersJonathan Liu2014-09-239-34/+89
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting/stopping timers from another thread may result in errors that may not appear until hours, days or weeks after if a release build of Qt is used with the GLib/UNIX event dispatchers. Such errors may manifest as warnings such as "QObject::killTimer(): Error: timer id 7 is not valid for object 0x2a51b488 (), timer has not been killed" and application crashes (e.g. crashes in malloc, realloc and malloc_consolidate). Initial-patch-by: Eike Ziller <eike.ziller@digia.com> Task-number: QTBUG-40636 Change-Id: I2de50d50eb1fc7467fcebb9c73b74d2f85137933 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QVariant::compare shouldn't return match when QVariant::cmp does notAllan Sandfeld Jensen2014-09-111-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the types doesn't match in QVariant::compare we do a comparison based on QString, this may end up indicating a full match, though the we don't match according to cmp. In this case it would be better if we preserved the non-matching to avoid breaking ordering. [ChangeLog][QtCore][QVariant] Fixed ordered comparison between QVariants that do not match but produce identical toString output. Task-number: QTBUG-40363 Change-Id: I84a8eca11e8875dba9948bde2906ae7c5aa35704 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Fix user defined conversions to numeric typesLars Knoll2014-09-101-2/+1
| | | | | | | | | | | | | | | | | | The old code was completely broken. It did dereference val for user types, but val does in this case only contain garbage. Instead use the pointer to the correct data. Change-Id: I20ccf0bfa3dd3774c787d08c51cc8dd7b1ec9a1a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Expose screen change event to widgets so that they can check the dprLaszlo Agocs2014-09-102-0/+2
| | | | | | | | | | | | | | | | | | | | Unlike ordinary widgets, the ones that have OpenGL framebuffers must know about screen changes because the device pixel ratio may be different on the new screen. Add an internal event, ScreenChangeInternal, as the counterpart to WindowChangeInternal. Change-Id: I5e55999838e4c0284e7d9832299f7cc6b541ee3f Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Fix typo in QMetaType documentation.Mitch Curtis2014-09-091-1/+1
| | | | | | | | | | Change-Id: I934b68978fb32a518ed7cf9b47f1600982f58f66 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Use expiry_date field to check for evaluation timespanKai Koehne2014-09-051-2/+4
| | | | | | | | | | | | | | | | | | Use the new dedicated field instead of just assuming that the evaluation timespan is buildtime + 30 days. Change-Id: Ibf4078f030ea609d823fe01889a106a5da345817 Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* | Fix headercheck failure introduced by 67c83f329e7fb6fbf5d8e402f42Thiago Macieira2014-08-301-0/+4
| | | | | | | | | | | | | | | | | | That commit exposed part of qfunctions_winrt.h for non-WinRT use (Windows 8) without wrapping with Q_OS_WIN. That meant the headercheck pass failed to compile when outside of Windows. Change-Id: Ie731cce21e5102f5e5879b147b7738a7d0a91ecd Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | Mark QByteArrayList as metatype built-in type.Jędrzej Nowacki2014-08-285-3/+25
| | | | | | | | | | | | | | As a side effects it also adds core templates types to the tests Change-Id: I0e3338e0bffdf21982aa83d404c83288e54411f4 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.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>
* | Debug logging support for QNativeGestureEventShawn Rutledge2014-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-192-7/+11
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-122-7/+11
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * 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>
* | | 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>
* | | 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>
* | 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 missing #include <qdatastream.h> or <qiodevice.h>Thiago Macieira2014-08-071-0/+1
| | | | | | | | | | | | | | 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>
* | Android: Really suspend apps that are put in the backgroundBogDan Vatra2014-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main event loop will be paused when an application is suspended, this is also the normal behavior of any Android application. When an application is suspended on Android all its Gl surfaces are destroyed and can't be used to render anymore. So, we need to pause the main event loop in order to pause all the timers which might trigger drawings. The event loop is resumed immediately after the application is foreground. AndroidManifest.xml contains more info about how to disable this behavior and what might happen if you do it. [ChangeLog][Android][Important Behavior Changes] The main event loop is now stopped when the app is suspended Task-number: QTBUG-36274 Change-Id: I4c0ba5df9d95f348bca67ea5c76865d6d20775e4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Doc: update QCoreApplication to be clear that we don't support text UIThiago Macieira2014-07-141-2/+2
| | | | | | | | | | Change-Id: Icc032470629201668c085fd74725a2965f09eb47 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-19/+16
|\| | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Android: Refactor exception checking in qjni.Christian Strømme2014-07-071-19/+16
| | | | | | | | | | | | | | | | | | In places where we call java/jni functions that can throw exceptions, we check and clear the exception, if necessary. This change moves the "checking" code into a single (private) function. Change-Id: Ic3de2be51305972b096e1ed0a477e341eb5d9404 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | QObject: don't hold mutex when copying arguments in a QueuedConnectionOlivier Goffart2014-07-071-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | QMetaType::create can call user code and we should not keep mutex held as this may cause dead lock. Make sure the tst_qobjectrace actually emit some signal so the test check there is no race if the receiver object is destroyed while the mutex is unlocked. Task-number: QTBUG-39990 Change-Id: I56ca1ae7a11cd7b33c1a68727370972862e11c2f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-015-18/+54
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| * Don't compare the target methods for SlotObject connectionsThiago Macieira2014-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a new-style connection is created (a SlotObject), we don't store the method offset since there isn't one. So don't try to read it. Qt::UniqueConnection only applies to old-style connections, since we can't compare the slot objects for equality. In any case, an old-style connection and a new style will never be considered equal. Task-number: QTBUG-39927 Change-Id: I10a39a7bc97a2ec9509a0708038cc491bcc67329 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Elias Probst <mail@eliasprobst.eu>
| * Print the reason why SetWindowsHookEx failed.Sérgio Martins2014-06-231-1/+3
| | | | | | | | | | | | Task-number: QTBUG-14301 Change-Id: I4733a57034259b013864bf91aba6cce2f411ab48 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Attempt to fix intel compiler build error.Jędrzej Nowacki2014-06-191-1/+1
| | | | | | | | | | | | | | | | | | qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h(625): error #68: integer conversion resulted in a change of sign Task-number: QTBUG-39678 Change-Id: Ifb175bdcad820aa58cc0a1bcf6985a164376baf5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QEventDispatcherWin32: Use a shared class name for the message window.Friedemann Kleint2014-06-191-9/+45
| | | | | | | | | | | | | | | | | | | | | | Introduce a global-static struct storing atom and class name for the message window to be shared between threads. This prevents RegisterWindow()/UnregisterWindow() of different threads (using exec()) from interfering and silently failing. Task-number: QTBUG-39471 Change-Id: I9bc1106a41f64749c55825a96973921bb831458f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Merge "Merge tag 'v5.3.0' into HEAD" into refs/staging/stableSergio Ahumada2014-06-111-3/+3
| |\
| | * Merge tag 'v5.3.0' into HEADOswald Buddenhagen2014-06-111-3/+3
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt 5.3.0 Release Conflicts: src/plugins/platforms/cocoa/qcocoaintegration.mm Manually removed call to setWindow in src/plugins/platforms/cocoa/qcocoawindow.mm to follow 1ac0f953ba70ceda76e90918ab4ae7ebe2339969. Change-Id: Ieddedf4cd7b47effce6b6865fb9c48df6c5838a7
| | | * Update Copyright year in commercial nag screensv5.3.0Kai Koehne2014-05-141-3/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I70420c44c018dbe733a50badb7f9f7f419459f7a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | | Android: Use exceptionCheck() function.Christian Strømme2014-06-051-3/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | This was the only place where we didn't use the exceptionCheck() function. Besides being more consistent, it's also more verbose if an exception occurs. Change-Id: Ib1e3dba82b0730cf189ec725f4da425d7ac85cdc Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | | Unduplicate the implementations of next power of twoAllan Sandfeld Jensen2014-06-262-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qtbase contains four identical implementations of next power of two, these should be shared and the implementation made available to other qt modules, as it is also used many places outside of qtbase. [ChangeLog][QtCore][QtMath] Introduced qNextPowerOfTwo methods. Change-Id: Id23fbe5ad6bae647b30d5a4212c0330e48a50278 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | winrt: Refactor timer callbacksAndrew Knight2014-06-251-135/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the previous solution, a thread pool timer callback fired in the same thread as the dispatcher. Now that timers can be called from the base thread pool, callbacks can come from alternate threads and so the associated event dispatcher must be tracked. This change refactors how timer info objects are created and tracked so that they can be properly created/destroyed/queued inside the timer callbacks. All QTimer tests pass. Change-Id: I18a5573df2a8fa32d1982c61e665d5df664b6db0 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | winrt: Add convenience method for waiting on an async callAndrew Knight2014-06-251-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As most of the Windows Runtime API is asynchronous, we have used various methods for blocking in the calling thread waiting for the operation to complete. This introduces an inline method, QWinRTFunctions::await(), which performs the wait in a consistent and safe manner. Task-number: QTBUG-39407 Change-Id: I54cd0e178aa560891ab92bfc5e7a6553e60e01b2 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* | | winrt: Add convenience macros for returning from HRESULT callsAndrew Knight2014-06-251-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Almost every native call in WinRT uses COM HRESULTS. Provide some convenience macros for returning after failure. Task-number: QTBUG-39407 Change-Id: Ia99b0acd771d53c52732f270e46dd6937538e131 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | Make VectorBoolElements static properties const.Jędrzej Nowacki2014-06-252-4/+4
| | | | | | | | | | | | | | | | | | | | | The elements should not be changeable. Change-Id: I108cb42b1237cd61c4d8f2fbe13305fbbf4ef311 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | Suggest candidates when non-existent method passed to invokeMethod().Mitch Curtis2014-06-201-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaObject::invokeMethod: No such method Object::someMethod(SomeType) becomes: QMetaObject::invokeMethod: No such method Object::someMethod(SomeType) Candidates are: someMethod(SomeOtherType) someMethod(YetAnotherType) Change-Id: I3566bca64423e2f8150d0d544fb4e35a5262b19e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>