summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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>
* | | | winrt: Return correct value from QSysInfo::windowsVersion()Andrew Knight2014-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-38439 Change-Id: I26303d040cc4b958e6af90ea63e5b0d821e2bb74 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | | QAbstractProxyModel: Forward drop-related API.Friedemann Kleint2014-06-252-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forward canDropMimeData() and dropMimeData() to the source model. [ChangeLog][QtCore][QAbstractProxyModel] QAbstractProxyModel now forwards the drop-related API. Task-number: QTBUG-39549 Change-Id: Ib81fcec862586e4ecfb99b9e0f4eb1a16eace762 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.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>
* | | | Emit a notifications when defaultState and historyType are changed.BogDan Vatra2014-06-252-4/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to properly use QHistoryState object in QML we need to know when these properties are changed. Change-Id: I28c783436410c84bc64a919ac18c183f7a5eb9ad Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | | Emit a notifications when childMode, initial and errorState are changed.BogDan Vatra2014-06-252-6/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to properly use QState object in QML we need to know when these properties are changed. Change-Id: I37f8295e5201686a52d448cc42db331a8f8e792f Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.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>
* | | | Deprecate the C++14 compiler feature macrosThiago Macieira2014-06-191-26/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's now a C++ standards Standing Document that defines preprocessor macros in the same way that we used to. So we no longer need to define them ourselves. The current macros are kept for compatibility purposes, for the compilers where they used to be defined. The list will not be extended with new macros or for new compiler versions. [ChangeLog][Deprecation Notice] The Q_COMPILER_xxx macros for C++14 compiler features introduced in Qt 5.3 are deprecated and will not be updated for new compilers either. User code should be changed to use the macros from Standing Document 6 instead: http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations. This does not affect C++11 feature macros. Change-Id: I246afb84263f3d7ff72ccc0bc44bf86a6fc7cd96 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | | Add the C++11 feature macros for ICC 15 and complete for 14Thiago Macieira2014-06-181-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ICC 14 (Intel Composer XE 2013) already supported range for and explicit conversions, but looks like we missed adding them. ICC 15 (Intel Composer XE 2015) is C++11 language feature complete. Change-Id: I6eb8a3059f5df3604716666311aa01a6cf01918d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Fix references to platform-specific handlers in QMimeData documentation.Friedemann Kleint2014-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-39558 Task-number: QTBUG-39559 Change-Id: I2634c5ac16f19251628228c9d60011a355846a79 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | | Add the -qreal option to the Qt ABI informationThiago Macieira2014-06-172-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If -qreal float is passed, fullCpuArchitecture() will now include "-qreal_float". If something else other than "float" is passed to -qreal, we'll try to encode it (e.g., -qreal "fixed<int, 7>"). Change-Id: Ie33fd1a643f4376e6f01a7966e01c7c34e6fcffd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | | Metatype: Specialize IteratorOwner for vector<bool>Stephen Kelly2014-06-162-3/+35
| | | | | | | | | | | | | | | | | | | | Change-Id: I542af3a77b0a139e137a5a736b74042a8c25eb95 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | | Remove unused UserEventRegistrationBitFieldSizeShawn Rutledge2014-06-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It causes a clang warning (unused variable). Change-Id: If3d0ec0a0b493a9b1d36e7a07db6cbe29bf789cb Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | | json: Add defaultValue to QJsonValueRef toInt/toBool/toDouble/toStringHolger Hans Peter Freyther2014-06-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QJsonValue and QJsonValueRef behave differently in regard to the default values leading to confusion compile errors depending on which of the two types one is actually using. Before this change it was possible to write: QJsonValue value = jsonObject["item"]; QString name = value.toString(QStringLiteral("default")); but not: QString name = jsonObject["item"].toString(QStringLiteral("default")); Change-Id: Id1185acf339aa3a91e97848e85d068f84552df71 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵J-P Nurmi2014-06-0718-140/+138
|\ \ \ \ | | | | | | | | | | | | | | | refs/staging/dev
| * | | | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-0518-140/+138
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| | * | | Doc: Fix undefined variable in QMetaMethod::invoke() documentationTopi Reinio2014-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-38871 Change-Id: I5b7aef58c652d13110aa73b7856927b5ba6fea50 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | | qfreelist: fix data race on v[at].nextDavid Faure2014-06-051-5/+5
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detected by clang's -fsanitize=thread in tst_qcoreapplication. Task-number: QTBUG-39024 Change-Id: I60b7cece0384f89dc62ac5128faf39a4084e72e2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | Properly escape bytearray data outside the ascii range when using a codecLars Knoll2014-06-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some codecs can't handle the range outside ascii properly and would then fail to read the data back in correctly. Task-number: QTBUG-15543 Change-Id: I4c02921e787a939eeec0c7a11603b5896d756aef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | remove HSTRING instancesMaurice Kalinowski2014-06-034-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HSTRING needs to be released or handles will be leaked. Instead use HString which takes care of resource management on its own. Task-Number: QTBUG-38115 Change-Id: I2c767776c1f22f45acd8dd77b693f30d63d894b9 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| | * | add Windows 8.1 overrideMaurice Kalinowski2014-06-021-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Id8aa549e4ba5d8b550405823e26bb68da9403ced Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| | * | Fix QSysInfo::macVersion for OS X minor versions greater than 9.Jake Petroules2014-05-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gestaltSystemVersion's encoding only has room for a single version digit. Thus, OS X 10.10 would previously have been detected as OS X 10.9 (Apple's comments in the header even warn against this). Change-Id: I41c35b1507d39e2958a9aaffaa8c48ac380f61d9 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Update the QSignalBlocker docs to show actual behaviorThiago Macieira2014-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSignalBlocker resets to the previous state, which might have already been a blocked signal state. Task-number: QTBUG-39352 Change-Id: I918cc6ea346755b940e027cee5d6704824fbba32 Reviewed-by: David Faure <david.faure@kdab.com>
| | * | QAbstractProxyModel::sibling: treat row/column as offsets within the proxyJan Kundrát2014-05-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt5 allows QAIM subclasses to reimplement the sibling() method. Unfortunately, the default QAbstractProxyModel's reimplementation differs in behavior to what the Qt4 version was doing. In particular, the Qt4 version used to use the row and column as positions within the proxy model, while the Qt5 version mistakenly does this at the level of source model. This is arguably broken; the caller asks for a sibling of the proxy index, not for a sibling within the proxy model. This change makes the QAPM::sibling work explicitly in the same way as the Qt4 code behaved. The reimplementation of QAbstractProxyModel::sibling was introduced in 9dfba89c28bbff3316cb7aed6c07f90c0f2d5a22. It was subsequently fixed with commit 999109866dbd350a29cc70815d0c772545c85746 not to return indexes from the source model, but the logic was still different from the Qt4 version. [ChangeLog][QtCore][QAbstractProxyModel] Fixed QAbstractProxyModel::sibling to work in the same manner as the Qt4 code used to behave. Previously, Qt5's implementation would treat the row and column as positions in the source model instead of a position in the proxy itself. Followup-to 9dfba89c28bbff3316cb7aed6c07f90c0f2d5a22 and 999109866dbd350a29cc70815d0c772545c85746 Change-Id: Ia25027b2ad9e4777ba28de2d2226d48f8cccf587 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * | Remove unused QMapNode{,Base}::minimumNodeThiago Macieira2014-05-281-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These functions are not used anywhere. Since the classes are not documented, we're free to remove the inline functions. The implementation of the const function in QMapNode is also bogus: it discards a const qualifier. Task-number: QTBUG-39301 Change-Id: Ib8fd10a4da4b58a62cef17017ea6127c4d964325 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | UTF-8: always store the SIMD result, even if invalidThiago Macieira2014-05-271-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For ASCII content, this improves the throughput because the conditional is no longer on the codepath to storing, so the processor can perform the store at the same time as it's doing the movemask operation. However, the gain is mostly theoretical: benchmarking with mostly ASCII content shows the algorithm running within 0.5% of the previous result (which is noise). For non-ASCII content, we're comparing the cost of doing a 16-byte store (which may be completely overwritten) with the loop copying and shifting left. Benchmarking shows a slight gain of a few percent. Change-Id: I28ef0021dffc725a922c539cc5976db367f36e78 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
| | * | Fix typos in comments (qfreelist and qmutex)David Faure2014-05-262-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I782b18b9f82a72a29371564838252e1838faf86c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | WinRT: Fix compile warningsMaurice Kalinowski2014-05-262-0/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: If223dd73b9558a0f5144be38f19a61316f8c807b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| | * | Fix the doc so it uses the defined parameter names for the signalsAndy Shaw2014-05-241-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation needs to use the defined parameter names for the signals as this is what QML will make them available as if they are used in a connection to that signal. Task-number: QTBUG-35694 Change-Id: I0f56b9e1ace45cfff72c45273dd64766e3c792f2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * | fix and de-duplicate qprocess apidocsOswald Buddenhagen2014-05-233-78/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - rectify confusion and outright disinformation about argument quoting - say that open() is an alias for start(), not the other way round, as this is more consistent - apply some trickery to hide mergeable startDetached() overload - rename program -> command where it stands for a joined command line, for consistency - copy less information to the various overloads - misc language fixes and reshuffling Change-Id: I1b9c8dbed003f551ee6855044bbfc0aedddb4757 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | | | Do not try to handle OOM exceptions in loggingKai Koehne2014-06-061-77/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We duplicate quite some code here in an attempt to still print messages, even in OOM situations. However, we've in general given up on handling OOM exceptions gracefully in Qt: On modern systems you hardly reach the point of not being able to allocate (smaller) chunks in the first place, since the system will usually overcommit, or bring the system to halt by heavy paging. In 7cafb62538661863e5c we removed already similar logic in QDebug class. Change-Id: I4f84641c41c5e230a60dc0b7a5b0a13dec20f90f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QSaveFile: error out in open when the file is a directoryOlivier Goffart2014-06-041-0/+6
| | | | | | | | | | | | | | | Change-Id: Ifb1697fedf6dd28fe317282c8b4824f34ec61981 Reviewed-by: David Faure <david.faure@kdab.com>
* | | Update for the newest Darwin-family operating systems.Jake Petroules2014-06-033-1/+22
| | | | | | | | | | | | | | | Change-Id: Ieca4b3841d0d652b5e9b819209f883773c2e7c74 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QSaveFile: follow symbolic linksOlivier Goffart2014-05-302-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QSaveFile] Now follows symbolic links while writing to a link instead of replacing the link with the contents. Change-Id: I5afd519cb9f96ae68fa4c23c33a18de75671a301 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | Make QWeakPointer's ctor constexprGiuseppe D'Angelo2014-05-291-1/+1
| | | | | | | | | | | | | | | Change-Id: Ia23406ee80e83071a129606b76f78e2b6d0cf32e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QTimer: add convenience singleShot methods for functorsDario Freddi2014-05-282-4/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings QTimer::singleShot on par with QObject::connect in terms of the new Qt5 syntax. With this patch, it is now possible to connect singleShot to a member pointer, a static function pointer and a functor (with or without a context object). The short code path for 0 msec is not yet implemented - it will require further modifications to QMetaObject before it will be. An additional SFINAE on the new singleShot overloads had to be implemented to prevent tricking the compiler into believing const char * might be a function pointer. [ChangeLog][QtCore][QTimer] Implemented new style connect syntax, including functors, in QTimer::singleShot Task-number: QTBUG-26406 Change-Id: I31b2fa2c8369648030ec80b12e3ae10b92eb28b4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Add support for single-file multi-target intrinsics in QtThiago Macieira2014-05-272-19/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.9 now allows us to #include any and all intrinsics headers, not just the one for which we're compiling code, a behavior that ICC and MSVC have had for some time. With that, we're able to have the functions for different targets in the same source file. See the GCC manual: http://gcc.gnu.org/onlinedocs/gcc/Function-Multiversioning.html This functionality is notified by the QT_COMPILER_SUPPORTS_HERE(XXX) macro, which indicates that all the intrinsics from QT_COMPILER_SUPPORTS_xxx are available and enabled. To complement, a QT_COMPILER_SUPPORTS(XXX) macro is also added. Unlike ICC and MSVC, GCC requires a special function attribute, which will also cause code optimization. That's the QT_FUNCTION_TARGET macro. Note: because of the absence of the target attribute, ICC and MSVC will not generate instructions with the VEX prefix unless they only exist with the VEX prefix or if -mavx / -arch:AVX are enabled. Change-Id: I0c1880c20324bd8e0fc68a863e36d1fa7755dff0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | | Load winsys and gl dynamically in the windows pluginLaszlo Agocs2014-05-222-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dynamic builds (-opengl dynamic) are now functional on Windows. In such a build no components in Qt link to any OpenGL libraries directly and qmake will not automatically add any such libraries to the applications' makefiles. Instead, the libraries are chosen and loaded during runtime and applications are expected to use QOpenGLFunctions instead of direct OpenGLfunction calls. Set the environment variable QT_OPENGL to desktop or angle to skip testing and force the given implementation. The application attributes (AA_UseOpenGLES and such) are also taken into account. The testing logic is same as before: We try to load opengl32 and resolve a shader related function. If this fails, ANGLE is chosen. This allows utilizing full desktop OpenGL on systems that have proper drivers, while a transparent fallback to ANGLE will be done automatically for systems that don't. The latter includes also remote desktop connections. Software rendering via Mesa llvmpipe is supported too. The fallback is automatic on systems where the desktop test fails and ANGLE fails to load or initialize (e.g. due to missing libs like d3dcompiler), as long as a suitable patched build of Mesa is available. [ChangeLog][QtGui] Dynamic OpenGL implementation loading is now supported on Windows. This requires Qt to be configured with -opengl dynamic. Task-number: QTBUG-36483 Change-Id: Ie8bb25a6d55b3a1609b00150aeccd909aec27313 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2014-05-2210-33/+65
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-05-2210-33/+65
| |\| | | | | | | | | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| | * | Disable hash seeding for bootstrapped toolsThiago Macieira2014-05-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Any bootstrapped tool is a development tool, by definition. So the effects of seeding the hash with a random number can cause the same source input to produce different binary results, which can throw some caching tools into disarray (like the Open Build System). There should be minimal fall out from the reduced protection against DoS. Since those are only development tools, "specially crafted" input implies the developer is DoS'ing him/herself. Note: the change to qhash.cpp applies to moc and rcc, which are always bootstrapped. Change-Id: I061ab52036e40627c0703f1bf881455cbf848f43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
| | * | Fix minor coding style issues in new code in QtCoreThiago Macieira2014-05-194-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I444daf8e81257f55746f9d32fbcb60a2e1b69444 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Call tzset() before localtime_r() as the docs say.Gunnar Sletta2014-05-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without it, one might run the risk of QDateTime::currentDateTime() returning an invalid QDateTime the first time after changing timezone. Change-Id: I3efb04d41e7fe4685f6cc5fb41b68424eb4b9eb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2014-05-162-9/+37
| | |\ \ | | | | | | | | | | | | | | | refs/staging/stable
| | | * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-142-9/+37
| | | |\| | | | | | | | | | | | | | | | Change-Id: If1abbe7810ea43ae750db91066f9f579c79b2289
| | | | * Fix an off-by-4 error in qHash with CRC32Thiago Macieira2014-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I tested only the 64-bit build. The 32-bit build was reading garbage past the end of the strings in some cases. Change-Id: If6d239754e16a17cc4e8bb71e2b7778429dfa7ba Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | | | * Fix stateful handling of invalid UTF-8 straddling buffer bordersThiago Macieira2014-05-131-8/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a UTF-8 sequences is too short, QUtf8Functions::fromUtf8 returns EndOfString. If the decoder is stateful, we must save the state and then restart it when more data is supplied. The new stateful decoder (8dd47e34b9b96ac27a99cdcf10b8aec506882fc2) mishandled the Error case by advancing the src pointer by a negative number, thus causing a buffer overflow (the issue of the task). And it also did not handle the len == 0 case properly, though neither did the older decoder. Task-number: QTBUG-38939 Change-Id: Ie03d7c55a04e51ee838ccdb3a01e5b989d8e67aa Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | | Revert "fix build for MSVC 2010"Joerg Bornemann2014-05-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The condition in WinUser.h is _WIN32_WINNT >= 0x0602. The original #if was correct. This reverts commit 42d162addf82aa2064600219b9b3224836f676ac Change-Id: I7a3098ced143fba7b31b138cc7aaaf8f6920bef3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | | Fix error when reading newlinesFrederik Gladhorn2014-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix error 'operation priorities' identified by static analysis from http://www.viva64.com/en/b/0251/ '!=' operator's priority is higher than that of the '=' Change-Id: I2668171acb506992e3a15b113682ac04ba309532 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Move the hex digits out of _q_toHexThiago Macieira2014-05-141-2/+2
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids them being duplicated several times in QtCore Change-Id: Idee0168ed9d452a572ad46e2a14d2d4d3c7d2f7e Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>