summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Avoid races when destroying QFileSystemWatcherBradley T. Hughes2012-01-122-0/+2
| | | | | | | | | | | | | | | On Mac OS X, socket notifiers need to be disabled/destroyed before closing their associated file descriptor, otherwise we cause races inside the CFSocket system. The documentation for CFSocketInvalidate() says that we close the file descriptor after calling this function when the kCFSocketCloseOnInvalidate flag is explicitly cleared (QCocoaEventDispatcher clears this flag). Do the same on the Linux inotify watcher as well, for symmetry. Change-Id: I5592cc4bb5be4b752e48d895a685d3c92826acc7 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Docs: Forward-ported typo and link fixes from Qt 4.8Janne Anttila2012-01-111-1/+1
| | | | | | | | | | | | | This commit brings already accepted doc fixes to Qt5. Task-number: QTBUG-9224 Task-number: QTBUG-13442 Task-number: QTBUG-19858 Task-number: QTBUG-21447 Change-Id: I2ebc7c3e74427545367bdcec51e9e710a4925747 Merge-request: 1402 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QStyleHelper: Base DPI-calculation on QScreen.Friedemann Kleint2012-01-111-2/+1
| | | | | | | | | | | | | | | - Use qt_defaultDpiX() to obtain the resolution, which obtains it from QScreen. This implies that for X11, which previously used a hardcoded default of 96 DPI, the real resolution will be used (typically 75). - Since many tests (layouts, graphicsview) contain test data for 96 DPI, add an attribute to QCoreApplication making it possible to set the resolution to 96 DPI for testing. Change-Id: I77c8233a96b0d75de07406f58d48886a89c3de06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove unused QT_NO_TEXTSTREAM.David Faure2012-01-115-29/+1
| | | | | | | | It was checked in a few places, but it didn't actually remove QTextStream, so it was pretty useless. Change-Id: I8eaf28893cd6c7acbe1c0b69d58de90742aee755 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Add QModelIndex as a built-in metatype.Stephen Kelly2012-01-114-1/+23
| | | | | Change-Id: Ib87cfff8b4baee78189f3df5e20d2e1a00d690e1 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Fix Q_ASSERT_X to handle QT_FORCE_ASSERTSHarald Fernengel2012-01-111-3/+3
| | | | | | | This change aligns the behavior of Q_ASSERT and Q_ASSERT_X Change-Id: Iac9f399da6462fcf70826d3ce1177522bed9f897 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Remove redundant parameter from qVariantToHelper.Jędrzej Nowacki2012-01-111-26/+27
| | | | | Change-Id: I3664a74eb8602651547c0c80dc4f628f909d97b4 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove thread from QFileSystemWatcherEngine implementations.Robin Burchell2012-01-1010-184/+71
| | | | | | | | | | | | | | | | | | | | | | These threads are actually counterproductive, as generally speaking, processing watches is not that expensive an operation, so instead, they process at full speed and can (in the case of slow processing in the thread processing the events) stack up and consume resources for no good reason. Threads also have an additional resource consumption per engine (some ~8mb of thread stack on Linux), so doing away with them is nice. A side effect of this change is that events are now effectively rate-limited by the eventloop speed of the thread they run in, so if your thread runs too slow, and you recieve a lot of events, on some platforms, events may be dropped now where in the past, they would be read by the monitor thread and turned into Qt signals (thus not visibly showing as a problem, apart from invisibly bloating memory usage). Task-number: QTBUG-20028 Change-Id: I345a56a8c709f6f778ca9a0b55b57c05229ba477 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add defines for explicit virtual overrides.Stephen Kelly2012-01-101-0/+17
| | | | | | Change-Id: Ia9a610e81eeaaa0a08ca6ef4945b002bdb13fe8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make the supportedDragActions a virtual accessor.Stephen Kelly2012-01-102-8/+18
| | | | | | | Change-Id: I4001fcabc67e5b46465b3c9111c33247c52e5788 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Document timer accuracy behavior on UNIX.Bradley T. Hughes2012-01-101-1/+9
| | | | | Change-Id: I5e8b383cc4d8ce0d249be164c5ef596328bdc50c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove win*Message() exported functionsBradley T. Hughes2012-01-101-20/+0
| | | | | | | | They are nothing more than wrappers around the Win32 API, and marked for removable in Qt 5. Change-Id: Iaf34d463488feb7840185c7b46f65a031232e34a Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Use Qt::TimerType on Windows when starting timersBradley T. Hughes2012-01-102-10/+19
| | | | | | | | | | | | | | | | | | Make all Qt::PreciseTimers and timers with intervals < 20ms use Multimedia timers for maximum accuracy. Qt::CoarseTimers and Qt::VeryCoarseTimers use normal Windows timers, with Qt::VeryCoarseTimers having their interval rounded to the nearest full second. Note that the Windows timer implementation does not attempt to align timers and reduce CPU wakeups like the UNIX implementation does. This might be done in the future, though. However, this change does the best we can do now, keeping most timers working as-is, while allowing explicit use of Multimedia timers via Qt::PreciseTimer. Change-Id: I1898272b101c572a2a9b9454fef27a651eb178f5 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Make the roleNames a virtual accessor.Stephen Kelly2012-01-102-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | This is consistent with the rest of the API of QAbstractItemModel (which is virtual) and removes the need for code like this in the constructor (where it doesn't belong): QHash<int, QByteArray> myRoleNames = roleNames(); myRoleNames.insert(Qt::UserRole + 1, "myCustomRole"); setRoleNames(myRoleNames); in favor of MyModel::roleNames() const { QHash<int, QByteArray> myRoleNames = QAbstractItemModel::roleNames(); myRoleNames.insert(Qt::UserRole + 1, "myCustomRole"); return myRoleNames; } which is consistent with all other QAIM API (eg, flags()). This is a source compatible change. Change-Id: I7e1ce17f8dab2292c4c7b6dbd3c09ec71b5c793b Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Marius Bugge Monsen <marius@cutehacks.com>
* Reimplement QVariant to QDebug streaming.Jędrzej Nowacki2012-01-103-100/+57
| | | | | | | New implementation fixes some commented code marked as FIXME. Change-Id: If8f5bebedd65bcf8f839d804c2022ca79ef82ddf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update year in Nokia copyright headers.Jason McDonald2012-01-106-6/+6
| | | | | | | | The previous change missed some headers from years prior to 2011, and a few new files were merged after the previous change. Change-Id: Ib7d1a2b7062228c2a5373da64242b2ee1f0981e1 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add V3(md5) and V5(sha1) version for DCE in QUuidLiang Qi2012-01-102-4/+83
| | | | | | | | | | Add the above versions based on RFC4122 standard. Done-with: Hagen Rother Task-number: QTBUG-23071 Change-Id: Ieb90925374d1e3c85011b899b8dd3bb1a608c561 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Remove symbian debug macro definition.Stephen Kelly2012-01-101-9/+0
| | | | | Change-Id: I3c4cc5cfd8e157587dbda1589501bb829a5a18db Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* C++11 delete some contructors which are not wanted.Stephen Kelly2012-01-101-2/+2
| | | | | | | Change-Id: I844a0872e81f1824928814edb8d21c0b6384283d Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove wrong assert from QMetaType.Jędrzej Nowacki2012-01-101-6/+0
| | | | | | | | | | | | | | | We can't assert that QMetaType helper arrays are initialized. In rare situations it may happen that QMetaType compiled without support for an external type (without compiled Gui or Widgets libraries) will be asked for additional information for the type. For example (assuming Qt is compiled with --no-gui): // typeId it may be received over network (QMetaType::QImage) void *ptr = QMetaType::create(typeId); Change-Id: I018a59b23def35c7574e7c921019b5db4f06e800 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Small QMetaType optimization.Jędrzej Nowacki2012-01-101-6/+6
| | | | | | | Prefer compile time check over a runtime. Change-Id: Ib78563083c765d1fd72217c5aa529d0cbb951130 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Implement QDebug stream operators for builtin classesJędrzej Nowacki2012-01-108-0/+63
| | | | | | | | | | | QDebug stream operator was added for: QPixmap, QImage, QUuid, QBitArray, QLocale, QRegExp, QCursor, QPalette, QTextFormat, QTextLength, QIcon and QSizePolicy Change-Id: Ibcf5c9b599ba322d53cb106d8e5e157427ebe757 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Add define for C++11 explict delete methodsStephen Kelly2012-01-091-8/+8
| | | | | Change-Id: Ief4b8949acb528dcfc0be725b562ae71bd1640cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename handler/handlerManager.Stephen Kelly2012-01-091-4/+4
| | | | | Change-Id: Idbac004120ea686d403421ea4f2fb4db87f55149 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Export QTimerInfoListBradley T. Hughes2012-01-091-1/+1
| | | | | | | | | ... so that QCocoaEventDispatcher can use it to implement timer handling and benefit from the Qt::TimerType support in QTimerInfoList. Change-Id: I34b81502465963e2c9d528df463fa2eccd275ad6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clean-up the interface for QDate.Xizhi Zhu2012-01-092-94/+4
| | | | | | | | | | | | | | | | Four overload functions removed while keeping source compatibility: - shortMonthName() - shortDayName() - longMonthName() - longDayName() Two functions removed since they have confusing names: - gregorianToJulian() - julianToGregorian() Change-Id: Iaaea066a3fb77b1ee3499d3049fcec5563054cdf Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: John Layt <jlayt@kde.org>
* Remove the Q_TYPENAME define.Stephen Kelly2012-01-083-9/+3
| | | | | | | | | | | | | It is mostly not used (most places in Qt use typename directly), so is already not very useful. For example typename is used in: QDataStream& operator<<(QDataStream& s, const QVector<T>& v) Change-Id: I85337ad7d8d4ebbb424bfa2ab9a356456ff3e90f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QProcess/Win: direct forwarding of stdout and stderrJoerg Bornemann2012-01-082-26/+22
| | | | | | | | | | | | | We are now directly passing the standard out/err handles to CreateProcess instead of reading the output and writing it. The downside is, that we cannot automatically forward the process output of GUI applications anymore. This behaviour is intended by the CreateProcess API. Change-Id: Ic6e35c8c338dbea1a9f345567a37d938da1f34a2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Move keyboard locale and input direction to QInputPanelPekka Vuorela2012-01-071-2/+2
| | | | | | | | | | Deprecated QGuiApplication::keyboardInputLocale() and keyboardInputDirection(), introduced QInputPanel::locale() and inputDirection(). Change-Id: Ic48c77f10821a949751c73c73f22bd78e2192b9c Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Introduced input method hints for latinPekka Vuorela2012-01-072-0/+5
| | | | | | | | | | | On many cases especially latin input is wanted. Hint for these may, e.g., help virtual keyboards on changing the layout to a western one. Added a hint for requiring and another for preferring latin based input. Change-Id: I0ea79643665e25d9f916c3b8d0b7d7352843c2dc Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Copy qbasicatomic.h to qoldbasicatomic.hThiago Macieira2012-01-063-2/+4
| | | | | | Change-Id: I15df58f9dc29189419f8cbc0ce47bf11e9f17cf4 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QUuid a class.Friedemann Kleint2012-01-061-1/+2
| | | | | | | | Silence MSVC warnings about forward-declarations as class in the metatype system. Change-Id: I676662e5919585e98c87413fd8360d6f41f73631 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* split qprocess_win.cpp into Windows and WinCE partsJoerg Bornemann2012-01-063-75/+345
| | | | | Change-Id: I7f2cf2c42dd24ca162238e6dc6408ac39dfcd790 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QTimerInfo::expected is only needed for debuggingBradley T. Hughes2012-01-062-10/+17
| | | | | | | | | The code for calculating the expected time is only useful for debugging purposes. Don't compile this into the library unless QTIMERINFO_DEBUG is defined. Change-Id: I6530e6a70410a12544410ef286225df98ceddcee Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove all non-inline of qMalloc/qFree/qRealloc.Robin Burchell2012-01-0615-67/+71
| | | | | | | | | | | | We're trying to deprecate these, so don't use them anymore. The inline uses of these have been left intact, for the moment. Inline code will need to create their own non-inline allocation methods (for future-proofing to allow alterations in how e.g. individual containers allocate) Change-Id: I1071a487c25e95b7bb81a3327b20c5481fb5ed22 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove duplicate fnctl() call.Robin Burchell2012-01-061-1/+0
| | | | | | | | QInotifyFileSystemWatcherEngine's constructor calls this, there's no need to do it twice. Change-Id: Ic19e758a3f87f2e3a885e5b834f59a5a0fe13f4b Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Do not always compile in QTimerInfoList::repairTimers()Bradley T. Hughes2012-01-052-13/+13
| | | | | | | | | | | | This function is never called on systems that are guaranteed to have a monotonic click (like Mac OS X). Remove the dead code from the library. Change-Id: I95852c8dffaa3a9747367f0abe4a4c62e4f86421 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use Qt::TimerType on UNIX when scheduling timersBradley T. Hughes2012-01-052-7/+254
| | | | | | | | | | | | | | | | As stated in the documentation for Qt::TimerType, we allow for up to 5% error for CoarseTimers (the default timer type). PreciseTimers are not adjusted at all, and VeryCoarseTimers fire with one-second accuracy. The objective is to make most timers wake up at the same time, thereby reducing CPU wakeups. Note that this changes makes it possible for timers to fire early, which may be unexpected for some applications. Such applications should use PreciseTimers explicitly. Author: Thiago Macieira <thiago.macieira@nokia.com> Change-Id: Iaa70314c39a446adbc6dbb6fdfa7bafcd98a7283 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make socket descriptors qintptr.Jonas M. Gastal2012-01-053-3/+4
| | | | | | | | | | Windows x64 uses 64 bits integer for sockets, to ensure compatibility we should use ptr sized integers for our socket descriptors. Task-number: QTBUG-19004 Change-Id: I4b56023874a4f1bad107c66c054fecfedde33d88 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Use explicit Qt::TimerTypes when starting animation timers.Bradley T. Hughes2012-01-051-2/+6
| | | | | | | | | | | | | | | Similar to commit 4e1ad49998cf782ccc88e7e80fbd05c722658a16, we know that CoarseTimers are worst in their first firing, so we prefer a PreciseTimer for short pause animations to avoid inaccuracies. If the timeout is too big, we use a CoarseTimer anyway (current threshold is 2000ms). The timer that drives the QDefaultAnimationDriver is always a PreciseTimer. Change-Id: I0939357d768b804f9f9bab3adf5ed1d0f7e012e7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Fix compile error with qWarning() << myDateTime and QT_NO_DEBUG_OUTPUTDavid Faure2012-01-052-14/+17
| | | | | | | | | | | | | | | | All QDebug operator << in custom classes were disabled by QT_NO_DEBUG_STREAM, which was set by QT_NO_DEBUG_OUTPUT. Now QT_NO_DEBUG_STREAM is never set automatically, but remains available for reducing the feature set altogether (qconfig.h). Remove check on QT_NO_TEXTSTREAM: this define is meaningless, it doesn't even undefine QTextStream, and this is unrelated to QDebug streaming anyway. Change-Id: I5eeed0144fa684d0e790e9dfd9a4aeb956218c39 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove OS X FSEvents watcher.Robin Burchell2012-01-054-635/+2
| | | | | | | Per QTBUG-9249, this backend is buggy, and not recommended for use by Apple. Change-Id: I72ce88006a4badbbfdd825717020078778d16a36 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Removed Qt::ImhMultiLinePekka Vuorela2012-01-052-2/+0
| | | | | | | | | | | Multi line information does not really work that well as input method hint. Application developer is the one setting value for the hint, and thus would be responsible for always having right value for multi line. Change-Id: I6102be95549f6f6d4da40845f52d5c873cd46a47 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* CodeCoverage: Remove releaseCoverageTool() function.Caroline Chao2012-01-051-21/+0
| | | | | | | | | | | | | | | | | | | QLibraryPrivate::release() can be called multiple times and it is not appropriate to unregister and save the executed data for a library there. The library may still be used when it is released and it seems safer to save its data only once and probably when the application ends. Not calling __coveragescanner_unregister_library does not affect the coverage data. Calling __coveragescanner_register_library at load time without calling __coveragescanner_unregister_library means the plugin will stay loaded until the application ends. Removing the call to releaseCoverageTool() is so acceptable since the data will be saved when the application exits. Task-number: QTQAINFRA-416. Change-Id: I3135d2e203ecacfeff4a5b8ffdcd4d62fbc1db33 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Document that QBasicTimer::start(int, QObject*) uses Qt::CoarseTimerBradley T. Hughes2012-01-051-3/+4
| | | | | | | Change-Id: I553b33ac7adffb0a4fcdfc14d6e34b4e7a494c4d Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Warn when using QBasicTimer::start() incorrectlyBradley T. Hughes2012-01-051-2/+6
| | | | | | | | | | | Previously, QObject::startTimer() would warn when called from QBasicTimer::start() if there was no event dispatcher for the object's thread. QBasicTimer::start() should output a similar warning when there is no event dispatcher for the current thread. Change-Id: I1152f73216c3551c252a7a6995defebc9e1506c8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Update copyright year in license headers.Jason McDonald2012-01-05520-523/+523
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Added flag operators for Qt::InputMethodQueriesPekka Vuorela2012-01-051-0/+1
| | | | | Change-Id: I9e65e81c0a5a9854e28e24315a021371c9170f3f Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Registered QUuid in the metatype system as a builtin type.Denis Dzyubenko2012-01-054-3/+38
| | | | | | | Change-Id: I6be6129d9f6bf468ba8a5805cfa0f6f79199afb3 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* Removed obsolete function QUuid::operator QString()Denis Dzyubenko2012-01-052-12/+0
| | | | | | | | | | It is a source incompatible change, but I believe it is safe to say that it is a small change, which doesn't affect many people. Change-Id: Iad11befe4cca60484cf4e04cd3049c93a4ea5faf Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>