| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Ifb1697fedf6dd28fe317282c8b4824f34ec61981
Reviewed-by: David Faure <david.faure@kdab.com>
|
|
|
|
|
| |
Change-Id: Ieca4b3841d0d652b5e9b819209f883773c2e7c74
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
[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>
|
|
|
|
|
| |
Change-Id: Ia23406ee80e83071a129606b76f78e2b6d0cf32e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
refs/staging/dev
|
| |\
| | |
| | |
| | | |
Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |\
| | | |
| | | |
| | | | |
refs/staging/stable
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: If1abbe7810ea43ae750db91066f9f579c79b2289
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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 '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>
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This injected quite some code on every use of qDebug and friends,
while not giving any measurable performance benefits.
Change-Id: I7b51f99130f18f1252da01e313f7b97c43a5480d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
AVX2 brings the new PMOVZXBW instruction that extends from one 128-bit
SSE register to an 256-bit AVX register. With that, the main decoding
code is just two instructions (the loop requires a couple more to
maintain the offset counter and do the end-of-loop check).
This buys us another 4% performance improvement in the fromLatin1 code,
calculated on top of the VEX-encoded SSE2 code (which is already a little
better than plain SSE2).
Change-Id: I675fa24de4fa97683b662f19d146047251f77359
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's a common need to assign a variable to something when entering a
code block, and then revert it upon exit. qscopedvaluerollback can
be used for this. But as a convenience, this patch adds an
extra constructor so that you can "protect" and set a variable
in one go instead of using two lines.
Change-Id: If4b89d3a5ba32ef2304bda058b1b6050932612ed
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The existing waitForNotified method has the design limitation that it
doesn't allow the tracking of multiple I/O operations on a single
file handle.
Therefore we introduce an additional method waitForAnyNotified that
returns a pointer to the triggered OVERLAPPED object.
Change-Id: I536ed7f6828daa2b0ce03f2d662eeb10aa89ca99
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce function to set the spontaneous flag to
QCoreApplicationPrivate to solve a few cases.
Change-Id: I7c1f1f3644defe00deea9cecb244ca258afd5b94
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
First and foremost, the STL-style iterators don't do this. Those don't
provide a guarantee that the container won't get shared again while the
iterator is active.
Second, there's no protection against a second mutable iterator being
created and resetting the sharable flag back to true.
[ChangeLog][Important behavior changes] The mutable Java-style iterators
like QListMutableIterator and QHashMutableIterator no longer set the
parent container to unsharable mode. If you create a copy of the
container being iterated on after the iterator, any changes done with
the iterator might affect the copy too.
Discussed-on: http://lists.qt-project.org/pipermail/development/2014-February/015724.html
Change-Id: Iccfe411d5558c85ae459cff944215614c392388e
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Iff7d9ec85a095c6712e6045e7708bb88eac629e1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The class no longer exists in Qt 5.
Change-Id: Icd98c151f8e06910a3240d0bec6fff333a8ef3e3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Up to now, Qt had at least 3 different implementations of the mid().
Only QString::mid implementation was not crashing on edge cases and
was protected against overflows, therefore I picked that one as the
base implementation, even if it has weird semantics for an invalid
input.
As a side effect QVector::mid was slightly optimized to not detach in
all cases (which follows current QList behavior). Documentation of
QVector::mid and QList::mid was updated to not mention "copy of data"
which could suggest that the mid() result is detached.
QStringRef::mid was fixed and now it follows general Qt behavior, by
returning a null value for a null input.
Change-Id: Ie9ff5d98372bd193d66508e6dd92b6ed1180ad9b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Split the Windows CE/Desktop Windows code paths in winmain.
Use CommandLineToArgvW() to obtain argv[] for Desktop Windows.
[ChangeLog][QtCore][Windows] Command line parsing on Windows
now uses the WinAPI function CommandLineToArgvW() to exactly
match the quoting of the command interpreter.
Task-number: QTBUG-35432
Task-number: QTBUG-23687
Change-Id: I6743e73649d953497642f7717d3731a83ffda2a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Per Oswald's suggestion, just don't touch PCRE if it's not needed.
This can save ~500kB between text and data in QtCore.
Change-Id: Ia10c819c7fff562dda84ab0b77194baffbc8904e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qguiapplication.cpp
Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QPpsObject was only compiled for BlackBerry and not for QNX. Now, QNX
platform is included together with lpps lib.
Change-Id: Ib521664b430b202c0e67987d0bfda8373d2be70e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make it very clear that this is a path, so it's relative to the working
dir, not relative to tempPath().
Task-number: QTBUG-38266
Change-Id: Ib7ca8df76b5a03c1631fe00d6b329d86538d4b5a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It may return null during program exit, due to QCoreGlobalData global
static already having been destroyed. If that's the case, QTextStream
needs to fall back to Latin 1, like QString::toLocal8Bit and
fromLocal8Bit already do.
Task-number: QTBUG-38316
Change-Id: I5949c8dec15b60f4a13b5d9307ed6abfc799fe20
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, this produced wrong results, for example -3:30
became -3:-30.
Change-Id: I10efdfb48e5542b917c86b29cf8a99bfc26f7fe0
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, parsing negative timezone offsets with minutes != 00
produced wrong results.
Examples (in -> out)
-00:15 -> +00:15
-01:15 -> -00:45
Change-Id: I6fa30810a08bdf2996365661720b2e362e8aeb93
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: John Layt <jlayt@kde.org>
|
|\ \ \
| | | |
| | | |
| | | | |
refs/staging/dev
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Manually changed enum to LibGL in
src/plugins/platforms/xcb/qglxintegration.cpp
Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-38772
Change-Id: Ibc71acfafcb93d0c7e6c8ae84d412c34aacd2967
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When replaying the mouse events synchronously, nested calls
of QEventLoop::exec() may happen in conjunction with menus.
Task-number: QTBUG-38550
Change-Id: I2b1dafdac59d1a080775af5f165d1e594ea58804
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| | |\ \
| | | | |
| | | | |
| | | | | |
refs/staging/stable
|
| | | |\|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Manually fixed up: isES -> isOpenGLES
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I943af28c47b396aa35173da2a1294b86c8a522fa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Several objects are released without being retained.
This causes double free crash.
Task-number: QTBUG-37582
Task-number: QTBUG-35890
Change-Id: Ic64419c22ab555ba77ada1864feaff247798d3ad
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QLoggingCategory objects are meant to be mere 'handles' for the
registry. It's therefore not recommended to
- manipulate them directly (via setEnabled()), except in a filter
- export them across module boundaries
- subclass them
Subclassing QLoggingCategory also breaks compilations in a certain
circumstances (no variadic macros).
Task-number: QTBUG-37283
Change-Id: Ib12fb43d955902c7fa4583296d64afc5eca01200
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
m_nstz is released in the destructor but
not retained when using the QTimeZone(QByteArray)
constructor.
Task-number: QTBUG-35890
Task-number: QTBUG-37582
Change-Id: Ia569830bcd3c2f2cea04ad6696e681c4f2a3c137
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When generating documentation, the Qt namespace declared in Qt Core
collides with the Qt global object declared in Qt QML. This caused
the C++ Qt namespace documentation to go missing.
This change works around the issue by removing the dependency
between Qt Core and Qt QML.
Task-number: QTBUG-38630
Change-Id: Ifd250a19c476bc30e2a2ed561573c8b6b3b2dba5
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ifdab4184f048572c6f0e0496f6d6be2c5f92d1cc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
According to the documentation, Qt doesn't even attempt to handle OOM
issues anymore. It's questionable in the first place why this should
be available only for the stream operator logging ...
Change-Id: If94c971793bc6c6773daf3997fe82b410a29538d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On Windows, Qt5Core does not link against ICU anymore.
So it's worthwhile to point out that QLocale::toUpper(),
QLocale::toLower() will just fall back to QString equivalents
/ "C"-locale conversions.
Change-Id: Icadc20f3033aa39fcee93e61e082562945951c08
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|