summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QtCore: use new qEnvironmentVariableIs{Set,Empty}()Marc Mutz2012-08-146-8/+8
| | | | | | | | | | | | In particular, qEmergencyOut() is now completely exception-free. Incidentally, this patch shows that Qt isn't consistent in how it treats empty environment variables used as flags, but that is something for a separate commit. This patch aims to be behaviour-preserving, except in exceptional circumstances, of course. Change-Id: Ie106e7b430e1ab086c40c81cc1e56cd0e5400cb4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix warning about change of signThiago Macieira2012-08-141-1/+1
| | | | | | | | | | | method_relative_ is unsigned, so we can't store a -1 in it. qobject.cpp(434): warning #68: integer conversion resulted in a change of sign callFunction_(0), method_offset_(0), method_relative_(-1) ^ Change-Id: If8bf3835590ef2c26b9ca5010d638aa84675ff62 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Deprecate Qt::WFlags.Stephen Kelly2012-08-142-0/+4
| | | | | | | | | It seems to date from the Qt 1 days, and such abbreviations are not current Qt style. Change-Id: Iea7259bd7ba78b2c0863e3f6675e10826712ffd9 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* (QNX) Make it possible to set physical screen sizeAndreas Holzammer2012-08-141-8/+51
| | | | | | | | | | | | | | | | It can happen that the system is reporting a screen width or height of zero, if the system does not know the size instead of returning an error. You can either set a define QQNX_PHYSICAL_SCREEN_WIDTH/QQNX_PHYSICAL_SCREEN_HEIGHT or set it as environment variable QQNX_PHYSICAL_SCREEN_SIZE. The preference order is: 1) Take detected size 2) Take size from env var 3) Take defined size if any define is set Change-Id: I493a2c8988a225224587a6c323efeb9e9b7b5a54 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Group functions in QAccessibleTextInterfaceJan-Arve Saether2012-08-142-17/+31
| | | | | | | | | | Do the same in QAccessibleTextWidget I got a bit annoyed by this, should hopefully make life easier when forward porting QPlainTextEdit Change-Id: Ib4b90d1892974ea39ecfcbc5cad6ed0694207b58 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Fix sockets for Windows CEAndreas Holzammer2012-08-141-2/+2
| | | | | | | | | Version numbers for CE are higher then for the desktop, so insert a check for this, as the api is not working as for windows 7 and above. Change-Id: I79baba9183e11c714cffd0bb43327c197043d6e0 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Tidy up QEvent::Type enums.Mitch Curtis2012-08-141-13/+13
| | | | | | | Corrected the list's ordering and added punctuation. Change-Id: I36a477801cd0cfd3d36db308b4263982b582106b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Implemented QAccessibleTextWidgetJan-Arve Saether2012-08-142-343/+456
| | | | | | | | | | | | | | | | | | A new class called QAccessibleTextWidget was added. This class should implement all methods of QAccessibleTextInterface and QAccessibleEditableTextInterface which only need a QTextCursor, and it defines two pure virtual methods, to obtain and set the text cursor, so accessible implementations of widgets which use a text cursor can implement these two methods. QAccessibleTextEdit is now a subclass of QAccessibleTextWidget and most of its methods were moved to QAccessibleTextWidget. This is a forward port of ba5d7d608cc31fc63354fd74d85a1bad7780fc45 from Qt 4.8, and is a prerequisite for forward-porting QPlainTextEdit Change-Id: I6093c4fa7e0a77b84de779479c6074db006efec1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Document QFile::open() argument "handleFlags"Jeremy Katz2012-08-141-0/+2
| | | | | Change-Id: I5ef909b21ddd4782062dd4ebd0ea7bca33f3387f Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add Linux Accessibility BridgeFrederik Gladhorn2012-08-1422-1/+4414
| | | | | | | | This is a plugin that bridges the QAccessible world to AT-SPI 2 on Linux. Change-Id: I7af22621ee6a3cefc723b137b7f227a611cf6641 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* qsql_oci: use OCI_COMMIT_ON_SUCCESS for SELECT without transactionMark Brand2012-08-131-7/+2
| | | | | | | | | | Otherwise, the open statement, say in QSqlQueryModel, will prevent other statements from running. Task-number: QTBUG-18608 Change-Id: Icdd6817fb981678be6fb70ade21a8123e152dcf6 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* Fix declaration of qt_gettime for Q_DECL_NOTHROWThiago Macieira2012-08-133-1/+5
| | | | | | | | Since the #include wasn't present in the qelapsedtimer_{mac,unix}.cpp files, we did not notice that the declaration missed the macro. Change-Id: I3e4f23b28e127d41b12690cf306f47986be53d89 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* fix some QElapsedTimer doc grammar issuesJeremy Katz2012-08-131-3/+3
| | | | | Change-Id: I9bdb0b93b101119477a560b28396f88ea8103745 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use Qt::WindowFlags, not Qt::WFlags.Stephen Kelly2012-08-132-2/+2
| | | | | | | | | The latter seems to date from the Qt 1 days, and such abbreviations are not current Qt style. Change-Id: I83bc8722a309f4ece7e51881590d07b40fbe6bef Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make QElapsedTimer always store nanoseconds in t2Thiago Macieira2012-08-131-18/+15
| | | | | | | | | | | | | Up until now, the value stored in t2 depended on whether we had found a monotonic clock or not. Fix that by always storing nanoseconds: we avoid extra calculations and accessing a global variable all the time. The impact is contained to the actual getting of the time. And we mitigate by using clock_gettime to get the realtime clock instead of gettimeofday, if that's available. Change-Id: Iceef2d050fd9472f1a66e11e7ded79fe5163a132 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix a ### Qt5 issue: remove limits.h from qreadwritelock.hThiago Macieira2012-08-131-1/+0
| | | | | Change-Id: I1fc54561aabd1be693f179e668031ddb0f86a130 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QImage{Reader,Writer}: remove unused local typedef (GCC 4.8 warning)Marc Mutz2012-08-112-2/+0
| | | | | | | | | GCC 4.8 warns: warning: typedef ‘PluginKeyMapConstIterator’ locally defined but not used [-Wunused-local-typedefs] Change-Id: I0225708b590ac3d72ab3cb8f61e686091c187053 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QModelIndex: remove user-defined copy operationsMarc Mutz2012-08-111-3/+1
| | | | | | | | | | | | They're identical to the ones the compiler will synthesize and their presence prevents move constructor and assignment operators from being synthesized alongside their copy counterparts. The destructor can go, too. Change-Id: Ia9cc26ba1ffaa670f03642af457e632f44bd69c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix order of namespace/include guards.Frederik Gladhorn2012-08-111-3/+2
| | | | | Change-Id: I9ed1e82c90e38a65c15bb9d05ff789270218d4b5 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Make rowIntersectsSelection take account of the parent argument.Stephen Kelly2012-08-101-4/+7
| | | | | | | Task-number: QTBUG-22370 Change-Id: I497194793eab624b760deea93dac0df767850330 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QtWidgets: use new qEnvironmentVariableIs{Empty,Set}()Marc Mutz2012-08-102-5/+5
| | | | | | | | | Incidentally, this patch shows that Qt isn't consistent in how it treats empty environment variables used as flags, but that is something for a separate commit. This patch aims to be behaviour-preserving. Change-Id: I5390cda314858762b76384291373a6f0167d323a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Take scroll position into account when painting drag pixmap.Stephen Kelly2012-08-101-1/+1
| | | | | | | | Task-number: QTBUG-26793 Change-Id: Ic19cb6581cd5838d26713998e152772a5d12da4f Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Revert "Added default argument for color profile to QImage constructors."Alexandros Dermenakis2012-08-102-20/+12
| | | | | | | | | | Reverting change after request in the developers mailing list. This reverts commit 50a5bd5429e0c8b99be81b86d3730737cb7f8514. Change-Id: Ic4a420d6ad0995810ed61d31edd28e7b603cca5e Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* make currentText the USER property for QComboBoxMark Brand2012-08-101-2/+2
| | | | | | | | | | | | | QItemDelegate takes the USER property as the value to be set using model->setData(). The text is what is expected. follow-up to b1b87a73012342dc1619a8e907ea9954d59ca564 which in Qt 4.8.0 broke the interaction between QComboBox and QItemDelegate used by QDataWidgetMapper and item views. Task-number: QTBUG-26501 Change-Id: I005a0a6af5265ee22baf417957e520992d16d6e1 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Require CMake 2.8.9 for the qt5_use_modules function.Stephen Kelly2012-08-101-14/+1
| | | | | | | | | | | The newer CMake version has the POSITION_INDEPENDENT_CODE property which is what we need here. The CMake 2.8.8 implementation uses awkward and incomplete string manipulation which I don't want to maintain for any amount of time when Qt 5.0 is released. Change-Id: If7ace9c6925ccdbf800f1863fa2368e55fa44d7f Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Doc: Added a Qt Network landing page.Jerome Pasion2012-08-106-14/+44
| | | | | | | | | | -fixed generated HTML file names -removed qt-network group in qt/qtdoc and removed \ingroup instances Change-Id: Ida5ded5da30e6db1978382f6742a5da8036e055e Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Use an include guard for qelapsedtimer.h that matches the file nameThiago Macieira2012-08-101-3/+3
| | | | | | | The class used to be called QTimeStamp before. Change-Id: I6e543f4f131a80299eb5dae78d8852b7899bab8a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Use Q_LIKELY instead of doing an #ifdef for GCCThiago Macieira2012-08-101-7/+2
| | | | | | | | This code predated the Q_LIKELY macro. Now that we have it, use the official macro. Change-Id: I0e43609f8d6827f8fef7b928655a965cba579b8d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Correct QTransform::QTransform documentation re m13 initialisation.Mitch Curtis2012-08-101-1/+1
| | | | | | | | | Documentation incorrectly states that it is m13 that is set to 1, when it is instead m33. Task-number: QTBUG-10232 Change-Id: If3c7d3eb1c478ebef4f13b4842235445afc48049 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Handle "-psn_XXX" command line args on MacMorten Johan Sorvig2012-08-101-0/+4
| | | | | | | | | | | | Finder on Mac OS X sends a command line argument of the form -psn_0_3523420 when launching applications. Eat the argument like we do in Qt 4. Change-Id: I09db9dea035e62c0b816a833c9ad6fcd78f83735 Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: Simo Fält <simo.falt@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* kms: Restore VT settings when crashedLaszlo Agocs2012-08-102-2/+29
| | | | | | | | | | This does the job of keeping the terminal keyboard working when the application segfaults but is somewhat unsafe because ioctl() is not async-signal safe. Change-Id: Ie6728a4252e18c29bba8f8308e6c00d4a1eb6a8e Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* QtGlobal: (new) qEnvironmentVariableIs{Set,Empty}()Marc Mutz2012-08-092-0/+59
| | | | | | | | | | | | | These functions are a faster version of {,!}qgetenv().is{Null,Empty}(), a common pattern in Qt code. Their main advantage is that they don't need to allocate memory, so they can be used in noexcept functions, or dynamic initialisation of namespace-scope statics, because throwing in these contexts invokes std::terminate(). Change-Id: I651c5bd72f450b5d7df76590f8791572fe992af5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove code duplication in QStandardPaths implementationsDavid Faure2012-08-096-68/+20
| | | | | | | | Using the new getter to access the "test mode" setting. Change-Id: Id26a350cd3fab4bf2e5f58ba67bc7323f99c9cc3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add bool QStandardPaths::isTestModeEnabled()David Faure2012-08-097-0/+35
| | | | | | | | | Library code might need to know this, e.g. when calling an external process, to give it the right configuration. (For instance when ksycoca code calls kbuildsycoca to recreate the DB at the right place). Change-Id: I343ddefff816586f9d391973c08ff1e1ad86bf0e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OpenGL: Allow querying OpenGL extensions via the QOpenGLContextSean Harmer2012-08-093-0/+38
| | | | | Change-Id: Ia88470554bbfd2a56738dadfcafafe42a990382d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use native handles for parent change check in QWindowsWindow.Miikka Heikkinen2012-08-091-13/+17
| | | | | | | | | | | | | QWindow::setParent() sets the parent to zero instead of the desired parent, if platform window has not yet been created for the parent. This caused QWindowsWindow::setParent() to skip setting the parent later, when correct window was specified, as the QWindow parent-child relationship hadn't changed. Fixed by changing the the check to use native handles instead. Task-number: QTBUG-26791 Change-Id: I292a1ddf746583a7268f2d07c20166995c0dd7d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Need to have the XI2 import to detect XI_TouchBeginMaskShawn Rutledge2012-08-091-0/+1
| | | | | | | | | | Followup to I5c925ae3e191244c7ab9415e4ba2fe49b93dd2af : touch was not actually working by default. A major symptom was getting double-clicks instead of clicks on buttons and such, making it quite hard to interact with anything. There are some problems remaining. Change-Id: I09fa5965036bac242ccc1f4db71f6d912445ca01 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Mark QElapsedTimer functions as Q_DECL_NOTHROWThiago Macieira2012-08-098-63/+63
| | | | | | | | | | | | | | | | | | All functions in QElapsedTimer are marked Q_DECL_NOTHROW. This code is often introduced in many places to deal with timeouts and doesn't need exception handlers. In particular, it's used in QMutex locking. In addition, mark QDateTime::currentMSecsSinceEpoch as nothrow, as it can't throw exceptions either and it is needed by the generic QElapsedTimer. Q{Date,Time}::current{Date,Time} operate on local time and run into at least one cancellation point, which we must consider throwing. And returning a QDateTime allocates memory. Change-Id: Id776c5ec831fc06d7419a9ff5442d9b35cff1a22 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add Q_DECL_NOTHROW to QRefCount.Thiago Macieira2012-08-091-8/+8
| | | | | | | | | For the same reason as the previous commit (about the atomic classes), mark these functions as never throwing an exception. Change-Id: Idf46e41b226f54cb8658416efdf985ca40dd2952 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Mark all atomic functions as Q_DECL_NOTHROWThiago Macieira2012-08-0912-313/+313
| | | | | | | | | | | | | | | | | | | | | | | | | Actually, only the "new" atomics are marked. The old implementation, based on qoldbasicatomic.h is unchanged, but should still work without a problem. The following configurations were tested and do work: - x86 64-bit - x86 32-bit - generic GCC - generic C++11 std::atomic - bootstrap - ARMv6 and 7 - MIPS - MSVC 2010 32-bit - MSVC 2010 64-bit The only two configurations untested are IA-64 and ARMv5. Except for MSVC, all configurations were tested with GCC 4.6 (MIPS and ARM) and 4.7 (x86 and generics). Change-Id: Iecbfeacd9d20b535453e91335165e9a221e0b47e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add Q_DECL_NOTHROW to the atomic functionsThiago Macieira2012-08-092-56/+56
| | | | | | | | | | | These functions are inline (on most architectures) but they contain inline assembly which the compiler could not understand. In any case, if it decides not to inline them, it would need to generate exception handlers. Change-Id: If9d50793d715c51781e76d0a539da03a6d83e255 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Logging: mark qt_assert()/qt_assert_x()/qFatal() as nothrowMarc Mutz2012-08-094-7/+55
| | | | | | | | | | | | | | | | | | | | | | These functions are not supposed to return, not even by exception. qt_message() _can_ throw, but we're fine with the compiler calling std::terminate() then, since the backtrace will still include the assertion location. This behaviour is ensured by a new macro, QT_TERMINATE_ON_EXCEPTION, which expands to something like try { expr; } catch(...) { std::terminate(); } if the compiler doesn't support Q_DECL_NOEXCEPT (but maybe Q_DECL_NOTHROW), and to something like just expr; otherwise (including in the QT_NO_EXCEPTION case). The real macro preserves scopes in all cases, and aims to work even if <exception> isn't included in the TU it's used in, so is a little bit more complex than that. Change-Id: Ie6a2b7776e6aa77e57bd9aea6e184e5fa1cec81c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove unnecessary extra indentation in the EXPORT macrosThiago Macieira2012-08-091-23/+22
| | | | | Change-Id: I54585fa7e38ea1984018c5cbff9bc4626016bace Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove the Q_xxx_EXPORT macros of other modules from qglobal.hThiago Macieira2012-08-091-31/+0
| | | | | | | The macros have been moved to their respective modules. Change-Id: I653668b608cd3b79824a25b0e7b1c238330c0007 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Rename QMapData::free to destroyThiago Macieira2012-08-091-3/+3
| | | | | | | | | | | | | The convention for QMap is that "free" methods simply free memory and that "destroy" ones also run destructors of types affected. Since this function calls destroySubTree, it should be more properly called "destroy". This also gets rid of another function called simply "free" in our headers. Change-Id: I3fa621c78848ede33dd5b78428c704d0423ba4e7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Rename QLinkedList::free to freeData for consistencyThiago Macieira2012-08-091-6/+6
| | | | | | | | | QLinkedList does use allocations in the .h, by way of operator new and operator delete. But for consistency with other classes, don't call our function free(). Change-Id: I9295f5945619ad4ea82fd1f7f55b34700c54e06a Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Rename QContiguousCache allocate and free functions to say "Data"Thiago Macieira2012-08-092-20/+20
| | | | | | | | | | | The important change is to use functions not called malloc and free. On some old systems or under some weird circumstances, they might be #defined to something different. More importantly, this allows us to quickly verify whether we're using the stdlib.h functions in our public headers. Change-Id: I66b963ac2bc75d64028c04542e62a929e4b36b19 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove use of ::free from qlist.hThiago Macieira2012-08-092-5/+13
| | | | | | | | | | | | | | | | | The memory is allocated in qlist.cpp, so it should be freed in qlist.cpp. Freeing it in qlist.cpp ties our hands about future improvements to the allocator. In addition, silence the warning by the too-smart-for-its-own-good GCC that we're trying to free a non-heap object: qlist.h:763:14: warning: attempt to free a non-heap object "QListData::shared_null" [-Wfree-nonheap-object] The warning is wrong. It should say "possibly" somewhere because GCC failed to account for all conditions in the path to free(). Change-Id: I34a6c16bba9a2197fc83eb3c7a63ae06fb25bf15 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Explained rectangle bounding in documentation.Leonard Lee2012-08-081-0/+1
| | | | | | Task-number: QTBUG-26756 Change-Id: Ifa56cbe249164e239f21c00fc31cd6ddd81705ad Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Explained degree unit in QPainter::rotate() function.Leonard Lee2012-08-081-1/+1
| | | | | | | Task-number: QTBUG-26757 Change-Id: I9a03480513819aefb78d914a7170fb4997181643 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>