- 14 Jan, 2016 - 5 commits
-
-
Jani Heikkinen authored
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Added new header templates and corresponding license files. Unnecessary ones will be removed later when license header change is done to all Qt modules Change-Id: I8c482d81e40c03f0c6395e437f55527617aa6b58 Reviewed-by:
Tuukka Turunen <tuukka.turunen@theqtcompany.com> Reviewed-by:
Iikka Eklund <iikka.eklund@theqtcompany.com> Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Anton Kudryavtsev authored
Change-Id: I2a8ced0eff726911daa71eb11e135f69612a9090 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Marc Mutz authored
... use QByteArray::append(char*,int) instead. Also cache the return value of the out-of-line function xcb_get_property_value_length(). Saves ~120b in text size, and a heap allocation. Change-Id: I4d1deafdcd3345f2b7dfbf8c45702cfee733a269 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Marc Mutz authored
Required to change an erase() loop into std::remove_if to avoid running into quadratic behavior. While at it, made QXcbXSettingsCallback a proper struct, used aggregate initialization, and ported another loop to C++11 range-for. Saves ~0.5KiB in text size on optimized GCC 5.3 Linux AMD64 builds, and a lot of heap allocations. Change-Id: I228bb853519ed2590375dc511e527f47bb8daa34 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Anton Kudryavtsev authored
Change-Id: Iaa4349914fbeca9c64863addb9892412e1bad65b Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
- 13 Jan, 2016 - 7 commits
-
-
Alex Trotsenko authored
This adds a way to resume reading from a stream after a ReadPastEnd error. This is done by introducing a stream read transaction mechanism that keeps read data in an internal buffer and rolls it back on failure. [ChangeLog][QtCore] Added QDataStream startTransaction(), commitTransaction(), rollbackTransaction(), abortTransaction() functions to support read transactions. Task-number: QTBUG-44418 Change-Id: Ibf946e1939a5573c4182fea7e26608947218c2d9 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Oswald Buddenhagen authored
the presence of a [Paths] section causes QLibraryInfo to derive all property values according to the Qt default directory layout, disregarding the compiled-in paths from configure. consequently, we need to write them all to qt.conf as well. Change-Id: I3558e9aef1fce956812ea91e216f53bf7934c285 Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by:
David Schulz <david.schulz@theqtcompany.com>
-
Oswald Buddenhagen authored
there is no point in overriding the built-in defaults with the same values. Change-Id: I24f66b86f751f7044625b5256f3d979ece782cf7 Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by:
David Schulz <david.schulz@theqtcompany.com>
-
Erik Verbruggen authored
Same as the SSE4.2 implementation: use the (optional) ARMv8 crc32[bhwd] instruction to calculate hashes for strings. For Aarch64, support for the instruction is dynamically detected. For a 32bit ARM binary, dynamic detection is only done when the compiler is explicitly told to target ARMv8. When telling the compiler to target an other/older version, the crc32 code is not compiled. Change-Id: I51ebc1a4545dede4988247e75043f29a64c2a6c5 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Erik Verbruggen authored
Change-Id: I3cfac90dfa137d0bf3d124d87262eb2dbb56459c Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Simon Hausmann authored
-
Dan Cape authored
Added a new overload function that allows the developer to specify the desired precision. Until 6.0, it will require the symbol and precision to be passed to it. Once Qt is at version 6.0, it will replace the overload function that requires a value and optionally a symbol. [ChangeLog][QtCore][QLocale] Added an overload for toCurrencyString() that allows the decimal precision to be specified. Change-Id: I1fb7dde3583f46de2ed20ec2a7abaeca23a903ef Task-number: QTBUG-46595 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
- 12 Jan, 2016 - 20 commits
-
-
Marc Mutz authored
... so we can drop the user-defined copy special member functions and the destructor. As a side-effect, enables the move special member functions, which were previously inhibited by the presence of the now-removed functions, and makes the copy constructor safe for self-assignment. Change-Id: I430f83a6a08b1f5ee94b52f52e4d80fa1139d1c1 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Alex Trotsenko authored
Make a private member mutable to enable default assignment operator. Change-Id: I1216875c186ed800e07c6b41a5bae18c3b71b2fa Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Alex Trotsenko authored
Introduce a transaction mechanism that gives the ability to read the data atomically. Current implementation supports transactions for both types of devices. For sequential devices, it records the whole input stream during transaction. For random-access devices, device position is saved when transaction starts. If an error occurs, the application may be able to recover the input stream by rolling back to the start point. Also, QIODevice::peek() was rewritten to make use of transactions internally. The replacement of QIODevicePrivateLinearBuffer by QRingBuffer is closely entangled with that, which makes it unfeasible to do separately. Bump the TypeInformationVersion field in qtHookData, to notify the Qt Creator developers that the offset of QFilePrivate::fileName was changed and dumpers should be adapted. [ChangeLog][QtCore] Added QIODevice's startTransaction(), commitTransaction(), rollbackTransaction(), isTransactionStarted() functions to support the read transactions. Task-number: QTBUG-44418 Change-Id: I3564b343ebeeaaf7c48a1dcdb7ef0a7ffec550f2 Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Anton Kudryavtsev authored
Change-Id: Ic4be53d64e08a60149e3a4d9a2ac10c5d45b4f34 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Anton Kudryavtsev authored
Change-Id: Ib4df3ca1cff2ff2cd09515b94e63741a32b2580b Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Simon Hausmann authored
Change-Id: I5839bded07e23af65ced9491c4f50242f964dd31
-
Edward Welbourne authored
This fixes the problem as long as we have C++ 11's semantics for in-function statics. The Q_GLOBAL_STATIC_WITH_ARGS() is a non-trivial wrapper whose destructor gets unloaded with the plugin, leading to a crash-on-exit if the global it wraps outlives the plugin. The plain (in-function) static manages to avoid this by avoiding the wrapper. As the static was only needed in one place, this proves a sufficient solution to the plugin-unload problem *in this case*. Task-number: QTBUG-45891 Change-Id: I599fbee0b55ece4dceb4bf7202db374b507f5388 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Anton Kudryavtsev authored
Change-Id: I0c0e69aecdb7a15228d44688116a88b6afb44a50 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Alex Trotsenko authored
The same message is already printed on UDP and buffered TCP. Change-Id: I533baf97fe7e1359a38db3c3eb31d0463fe158e5 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Alex Trotsenko authored
The code was checking the write buffer in a branch for unbuffered sockets. Change-Id: I4dc722e7f182562332c3d167e6ebbab7f53f51e7 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
... such as GCC. truncate(0) was chosen because it is already used throughout the function. Using clear(), say, which is inline, produces slightly more code. As is, saves 160b in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I415d09ad2b4547f1d69f78d85e2aa1c1f9a17ed3 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com> Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Marc Mutz authored
- Don't repeatedly truncate a (shared) QString, truncate a QStringRef instead, preventing a detach. Change-Id: I1a9cf7fc5bc9ea06279f7e2548f2bd144b8780a3 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com> Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Marc Mutz authored
Saves just 168b in text size on optimized GCC 4.9 Linux AMD64 builds, but most for loops are in non-Linux code. Change-Id: I4f20a65c2e4953011308ff831c9e8fa37a25274b Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
It was already movable, so it's BC. Only needed to add nothrow member-swap and nothrow move assignment. Change-Id: Iefedb877078da8ee075eb67185eef221143ddec1 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
For HSL colors, the (heavily over-parenthesized) code compared hslHue values mod 36000, _and also_ for equality. Of course, the second comparison is dead code. This was a cut'n'paste error from the non-HSL comparison. So, remove it. And also some of the over-parenthesization. There are no tests for operator==, and the HSL color comparison is completely opaque for me, so I'm not going to write any for this trivial change. Change-Id: I74572273730cb5cc9f427c524c268ba3f90304c1 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Marc Mutz authored
Saves a bit more than 0.5KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I3b7e4751c4799c3e2c9f8f23b769e1659d863579 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
It just prevents the compiler from synthesizing move special member functions, something that is very much desired, seeing as there's a QVector member. Change-Id: I4daabb380cd73dcacf3f514827b84562767a7a20 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Anton Kudryavtsev authored
Change-Id: I934cb9d40fa0c0c06e8552f522d58c5326754f37 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Anton Kudryavtsev authored
... because that's what it does. Change-Id: Ia3d4eefe2e675e4b2c2a4f01b8339ba69a40a5e9 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Anton Kudryavtsev authored
... instead of using erase in a loop, with quadratic complexity. Change-Id: I4ac03ac0e893fc5dbb5e45131fcbfe82f1564bee Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
- 11 Jan, 2016 - 8 commits
-
-
Marc Mutz authored
... each time around the loops. Cache it. Also use QStringLiteral, since the string will never be modified. Also saves 96b in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I0269586235da18f3073a553739561ea7db6356e8 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Marc Mutz authored
For almost the whole of its life time, 'realname' has the same prefix, but the old code used the same string-builder expression to construct it over and over again. If QStringBuilder would re-use the capacity of the LHS object, that would boil down to just a bit more copying of characters than necessary. But assigning a QStringBuilder expression to a QString works by implicit conversion of the QStringBuilder expression to a QString, followed by move-assigning the new QString into the old. The new code keeps the common prefix around, resetting 'realname' to that prefix with truncate, only appending the varying suffixes. In this way, one memory allocation per assignment is saved (ignoring a potentially required capacity increase in one of the appends here), and also some out-of-line QString dtor calls, since op+=(QString&, QStringBuilder...) doesn't create a temporary QString. Also saves ~1KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I0872a69c9111d7218567f06f8fefb010f2430532 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Richard Moe Gustavsen authored
It turns out that f558bde was not enough to stop a crash when trying to access forceTouchCapability of traitCollection. The reason is that traitCollection is available on UIScreen starting from iOS 8, while forceTouchCapability is available on UITraitCollection starting from iOS 9. So only checking the former will cause a crash when running on iOS 8. Change-Id: I44f9fb785349694004fbf2f48fe3b85bb01d9a5a Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
-
David Faure authored
Whether or not to call XInitThreads() doesn't apply since Qt-5.0's switch to XCB. Change-Id: I5f1e5e664a251c98af6357c87fc9a6bb03a46ce3 Reviewed-by:
Martin Smith <martin.smith@theqtcompany.com> Reviewed-by:
Topi Reiniö <topi.reinio@theqtcompany.com>
-
David Faure authored
The code says (for Q_OS_UNIX) if ((mode & QAbstractSocket::ShareAddress) || (mode & QAbstractSocket::ReuseAddressHint)) socketEngine->setOption(QAbstractSocketEngine::AddressReusable, 1); so clearly ReuseAddressHint does the same as ShareAddress, which is: setting SO_REUSEADDR. Change-Id: Ic2ab4d139c3f58c3c63723fc609a9d4f71bac97a Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by:
Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Anton Kudryavtsev authored
... instead of using erase in a loop, with quadratic complexity. Change-Id: I9686d117e092f5d74c6e74a462adf503a7b7ae79 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Maurice Kalinowski authored
This has only been identified by WACK for Windows 10. QWinRTWindow::setVisible adds a Window to the screen and immediately tries to set the native visibility. This only works when the system events are handled immediately. While this is the case most of the time, certification tests revealed that this is not always the case. We have to flush before setting the element visibility. Change-Id: Ifce4c045c185c57bc386a4e832074fb84f5d0053 Reviewed-by:
Andrew Knight <andrew.knight@intopalo.com> Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Maurice Kalinowski authored
According to MSDN Tls* is inline replaced by Fls* on Windows (Phone) 8.1 and beyond. However, this does not seem to be the case for Windows 10. An application links against Tls* and the certification step fails due to using non-allowed APIs. Hence we do the inline replacement manually. QThreadStorage and QThread tests continue to work, so it seems to be an oversight by Microsoft. Task-number: QTBUG-50292 Change-Id: Ice1b6e54fcee238c94af5c6fb1753d903db7476d Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-