| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version of ANGLE provides partial ES3 support, numerous
bug fixes, and several potentially useful vendor extensions.
All patches have been rebased. The following changes are noted:
0000-General-fixes-for-ANGLE-2.1.patch
contains compile fixes for the new ANGLE
0004-Make-it-possible-to-link-ANGLE-statically-for-single.patch
has incorporated patch 0015.
0007-Make-DX9-DX11-mutually-exclusive.patch
has been removed as it was fixed upstream.
0007-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch
has been moved up to fill the patch number gap.
0010-ANGLE-Enable-D3D11-for-feature-level-9-cards.patch
now contains patch 0014 and 0017.
0013-ANGLE-Allow-for-universal-program-binaries.patch
has been removed as it is no longer relevant.
0014-ANGLE-D3D11-Fix-internal-index-buffer-for-level-9-ha.patch
has been merged with patch 0010.
0015-ANGLE-Don-t-export-DLLMain-functions-for-static-buil.patch
has been merged with patch 0004.
0016-ANGLE-WinRT-Call-Trim-when-application-suspends.patch
has been removed and will be replaced by a follow-up patch using a
different technique.
0017-ANGLE-D3D11-Don-t-use-mipmaps-in-level-9-textures.patch
has been merged with patch 0010.
0018-ANGLE-WinRT-Create-swap-chain-using-physical-resolut.patch
has been removed and will be replaced by a follow-up patch extending
the EGL_ANGLE_window_fixed_size extension.
0019-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch
is now patch 0007.
[ChangeLog][Third-party libraries] ANGLE has been upgraded to
version 2.1, bringing partial support for OpenGL ES3 over
Direct3D 11, numerous bug fixes, and several new vendor extensions.
Change-Id: I6d95ce1480462d67228d83c1e5c74a1706b5b21c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Introduce functions to return class name and type name by type.
- Move QDebugStateSaver up.
- Add verbose output for DnD, tablet, native gestures, context
menu, enter and expose events.
Task-number: QTBUG-38858
[ChangeLog][QtGui][QEvent] The debug output for events has
been significantly improved.
Change-Id: I3f11e34c3c9d6a3c6db596be4051b801f00e6153
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|
|
|
|
| |
Change-Id: Ic91b9a74d0c28ec225d2708a13aafddd1e2c32af
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
| |
qlist.h(133) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
qlist.h(131) : while compiling class template member function 'QList<QString>::QList(std::initializer_list<T>)'
Change-Id: I8a11e298cd10da199490fbd8b269405a9e1cf5f3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix warning:
QWARN : tst_QGuiApplication::execAfterExit() SetProcessDpiAwareness failed: "COM error 0xffffffff80070005 (Unknown error 0x0ffffffff80070005)"
occurring when instantiating QGuiApplication repeatedly in tests.
Task-number: QTBUG-38993
Change-Id: Id6c8e915b25011bb60c2f8b1d0e4a794cd345647
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Keep track of the focus object in the input context ensuring
that events on canceling are sent to the right object.
Task-number: QTBUG-40402
Change-Id: I79820db94d97e21b47abc8fe2bae6fa012d31236
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This makes it easier to forward-declare the exported symbol from
other Qt modules without having to include the private headers.
This keeps the old API until dependent submodules are updated.
Change-Id: I08310a684b79f2f612f2ce897a601ff74178bee6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
| |
If this fails, we want to know about it when trying to debug.
Change-Id: I33f05186e93fcd9284a7e7c609d00fe7ac87cd4e
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
| |
FD types differ depending on the platform, so using the stream form is the
easiest way to make this work.
Change-Id: I00b1a303f3d865fe5e89ba97bd438c51c6cd8f09
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the option to disable subpixel antialiasing on QFont
basis. This can be useful when painting to offscreen surfaces. On OS X
this option disables the aggressive LCD font smoothing, which can be
necessary for certain fonts it may otherwise ruin.
Task-number: QTBUG-40396
Change-Id: I1664b636520ae63ee1503b5df7436748106b9f5c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
| |
Change-Id: Idc46a347009556d06db4bc1f7ce3e2613fb1a405
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sqlite 3.8.5 supports Windows Phone 8.1. Make required
adaptations and add it to the default build.
For WinRT and Windows Phone the QSqlQueryModel unit-test
fails, both with plugin compiled and using the system
sqlite. Root cause seems to be deep inside sqlite, hoping
for a fix soon. However, all other tests pass and hence we
should enable it.
Task-number: QTBUG-37770
Change-Id: I700dde4a44a8f1d74460ef6cb4a1e1d330073d66
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
| |
The "Fixed CE build of sqlite3" patch is preserved in this change.
(ea70ec8711af45128d63634a01dfc4c1a51ac331)
Change-Id: I8ae83bdb0006ee12e371a2a6f396b4a7b798a5e3
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We currently do not receive events from most multimedia keys on Windows
because they are sent using appcommand events instead of the normal key
events.
This patchs adds support for parsing appcommand events.
Change-Id: I19f568b6fa0d3d136e3a22318df1499a1fab6edb
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
|
|
|
|
|
|
|
|
| |
Android L adds support for 64 bit (arm and x86) and they did lots of
changes that are incompatible with old implementation.
Task-number: QTBUG-40120
Change-Id: I69b78a9eed896d2ddabc1bf2a55886faeae47974
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issuing a metacall from swapBuffers is dangerous since the window
may get destroyed by the time the slot is invoked.
This patch changes it to use an event, which is more efficient anyway,
that can be invalidated in case the QXcbWindow is destroy()'ed before
the event is delivered.
Change-Id: I44618ac1cb8b221aecce001ea39702164dcab6a5
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
|
|
|
|
|
|
|
|
|
|
|
| |
Mention QOpenGLContext::functions() which is used quite commonly in Qt
itself and also some examples.
Also, make it clear that new instances do not degrade performance since
function resolving is done only once.
Change-Id: I74ac194a0b3956a70e5078dd5a1bcdd277b5cc28
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QOpenGLWidget is now public.
In addition Qt::WA_AlwaysStackOnTop is introduced to support the
special case of semi-transparent QOpenGLWidget or QQuickWidget on
top of regular widgets.
hellogl_es2 becomes the qopenglwidget example. This example performs
painting both via QPainter and native GL commands and has the OpenGL
widget combined with other, normal widgets.
The widget stack receives some changes when it comes to renderToTexture
widgets like QQuickWidget and QOpenGLWidget. Calling update() will now
result in a paint event, which is essential for QOpenGLWidget since we
want it to behave like a regular widget. The dirty region handling is
extended specially for such widgets due to performance reasons.
(an OpenGL content update must not result in any backingstore painting,
and is thus handled as a different kind of dirtiness)
[ChangeLog] Added QOpenGLWidget. This widget serves as a replacement for QGLWidget.
Task-number: QTBUG-36899
Task-number: QTBUG-40086
Change-Id: Ibf7f82fea99b39edfffd2fc088e7e0eadbca25cf
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
|
|
|
|
| |
The position of high DPI icons is wrong in the Fusion style because
the pixel resolution is not taking into account when centering them.
Task-number: QTBUG-40277
Change-Id: I3593ed461ea57543c3ddfd473105fdc698789132
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Removes some debug output that indicates that we're dealing with a dock.
It looks like somebody was testing some implementation more than useful
output information.
Change-Id: I04ebbc1f0f1d29ed2099bab9d9e9fc18c9bf0c86
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
| |
Change-Id: I0a3272233de7e685c750f001eb45a5e326d0f35b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is used in the named timezone ctor and was using QByteArray::split(),
followed by size checks and a linear scan for invalid chars per section. The use of
split() resulted in a lot of memory allocations and, unsurprisingly, bad performance.
The new code just performs one linear scan through the byte array, calculating
section sizes on the fly.
Benchmark results (with the test data in tst_QTimeZone::isValidId_data()) show
typical speedups of ~10x for valid IDs:
RESULT : tst_QTimeZone::isValidId_bench():"minimal middle":
- 0.00036 msecs per iteration (total: 95, iterations: 262144)
+ 0.000035 msecs per iteration (total: 74, iterations: 2097152)
Even in the sweet-spot case of the old code---a space character anywhere in the
string, checked for before the split---the new code is anywhere between slightly
faster and not much slower:
RESULT : tst_QTimeZone::isValidId_bench():"invalid char ' ' front":
- 0.000011 msecs per iteration (total: 94, iterations: 8388608)
+ 0.000010 msecs per iteration (total: 86, iterations: 8388608)
RESULT : tst_QTimeZone::isValidId_bench():"invalid char ' ' middle":
- 0.000014 msecs per iteration (total: 62, iterations: 4194304)
+ 0.000016 msecs per iteration (total: 69, iterations: 4194304)
RESULT : tst_QTimeZone::isValidId_bench():"invalid char ' ' back":
- 0.000018 msecs per iteration (total: 79, iterations: 4194304)
+ 0.000023 msecs per iteration (total: 98, iterations: 4194304)
This is not surprising, as the space character was singled out for a fast-exit
check before. For any other invalid character, the new version is anywhere from
15x to 35x faster:
RESULT : tst_QTimeZone::isValidId_bench():"invalid char ? front":
- 0.00034 msecs per iteration (total: 91, iterations: 262144)
+ 0.000010 msecs per iteration (total: 87, iterations: 8388608)
RESULT : tst_QTimeZone::isValidId_bench():"invalid char ? middle":
- 0.00036 msecs per iteration (total: 96, iterations: 262144)
+ 0.000016 msecs per iteration (total: 68, iterations: 4194304)
RESULT : tst_QTimeZone::isValidId_bench():"invalid char ? back":
- 0.00035 msecs per iteration (total: 94, iterations: 262144)
+ 0.000021 msecs per iteration (total: 92, iterations: 4194304)
If there was a deeper reason to single out the space character, that fast-exit
path can easily be restored.
This function is often used in conjunction with availableTimeZoneIds(), which
currently vastly dominates the runtime of the function calling both, but I'll
add another optimization for the common use-case of just checking for a time-zone's
existence in a subsequent commit.
Change-Id: Ife1d096fcd39464083ea464c23e49ad98fabf345
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QImage::invertPixels may produce invalid data after inversions of
images with premultiplied alpha, because the inverted colors will be
larger than the alpha.
This patch converts any image with a premultiplied alpha channel to
ARGB32 before inverting the pixels, and then back to the original
format after the inversion.
Support is added for correct inversion of RGBA8888 and RGB30 formats.
Task-number: QTBUG-39901
Change-Id: Ief24c55f495e67ef2ad6429b5b418d02963a64dd
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
| |
Remove unused includes
Remove unused static vars
use Q_NULLPTR insead of 0 or NULL
Change-Id: Id8c99c83c64425c9725e441108010f3821bd3b44
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
|
|
|
| |
It seems that the second parameter of handleExposeEvent function is
about the region inside the window, not its position on the screen.
Change-Id: I89f5b2b13c9b0993253542823a84547d6a994c31
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an application is suspended on Android all its Gl surfaces
are destroyed and can't be used to render anymore, so we should
release them in order to give back to the system the memory used
by them.
[ChangeLog] [Android] Release all windows when the application is
suspended.
Task-number: QTBUG-29069
Change-Id: I038aaa2006da1f3188fccba943ec4ffb3e551cf0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main event loop will be paused when an application is suspended,
this is also the normal behavior of any Android application. When an
application is suspended on Android all its Gl surfaces are destroyed
and can't be used to render anymore. So, we need to pause the main
event loop in order to pause all the timers which might trigger
drawings. The event loop is resumed immediately after the application
is foreground. AndroidManifest.xml contains more info about how to
disable this behavior and what might happen if you do it.
[ChangeLog][Android][Important Behavior Changes] The main event loop is
now stopped when the app is suspended
Task-number: QTBUG-36274
Change-Id: I4c0ba5df9d95f348bca67ea5c76865d6d20775e4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
| |
Change-Id: Icee42515179e6f3ddefe0692af69e90054449618
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the user holds the Wacom Art Pen straight, rotation is zero;
when turning it counter-clockwise, it should have a negative angle,
whereas the driver sends a positive angle;
when turning it clockwise it should have a positive angle up to 180,
whereas the driver sends 360 going downwards towards 180.
These corrections make the angle reading consistent between Linux,
Windows and OS X.
Task-number: QTBUG-39570
Change-Id: I7a57cc1fb56d4f7128ca1add10aff2597f29c507
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-39458
Change-Id: I112107e392bf3b55771039b72271fdf887e2e5db
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The driver sends values in the range 0..1, but we want the "center"
value to be 0. This correction makes tangentialPressure consistent
between Linux, Windows and OS X.
Task-number: QTBUG-40469
Change-Id: Ia4aa777efdf015c2802b945f6ca7a8e442bbf5fc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
|
|
|
| |
- Use static invocation of QGuiApplication accessor.
- Use QInputMethod::queryFocusObject().
Task-number: QTBUG-40402
Change-Id: Ic1a7f66389df532acca88ddda37d35d6e7049a53
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
| |
Avoid redundant QStringRef to QString conversions.
Change-Id: I4a65119e7821206e2f72387a5d02cec5ce39dbfb
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functions can be used to optimize code that do not need to use
the split results as QString directly.
[ChangeLog][QtCore] QString can now split a string to a list of
QStringRef.
Change-Id: Ic2dc929e1fba82f9a060e37c51068a301cb5b866
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
| |
Avoid redundant QStringRef to QString conversion.
Change-Id: I93c4f19798e81515f483371f0cc6fcccc7fe36c7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
| |
Avoid redundant QStringRef to QString conversions.
Change-Id: I535e7ba02b4ac5abef6036f631e228205e63f32a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we wanted to make the list exhaustive for buildCpuArchitecture, we'd
add alpha, avr32, bfin, s390(x), and sh. I don't want to make it
exhaustive because that's cluttering the documentation and we'd have to
keep in sync with archdetect.cpp. And we can't make
currentCpuArchitecture exhaustive, since it depends on the output from
uname(2).
You can argue that neither IA-64, POWER, nor SPARC architectures are
typical these days...
Change-Id: I0a5310770947263e1bafd9443ea59420813c51a8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
| |
Totally untested.
Change-Id: I2c2347a66cb3fcb71d97782090ac628bef0b247f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's easier to read AVXState and AVX512State than 6 and 0xe6.
Also add a note that where we should have checked whether the SSE state
is being saved by the OS. However, we won't do it because it's just a
waste of CPU cycles: any OS Qt 5 runs on will enable the proper
state-saving.
Change-Id: Id87b59fe1388a6cab983c9412341e36a86dd15c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is documented to be, and the LanguageChange event is caught and processed.
However, retranslateStrings() uses QProgressDialog::setCancelButtonText(),
which unconditionally sets useDefaultCancelText=true, blocking any further
changes to the button text by subsequent LanguageChange events.
The fix is to use extracted QProgressDialogPrivate::setCancelButtonText()
which - quite intentionally - doesn't set useDefaultCancelText.
Task-number: QTBUG-40504
Change-Id: I6e701deda10c454cb088c0b0778ac2d6adff574a
Reviewed-by: David Faure <david.faure@kdab.com>
|
|
|
|
|
|
|
|
| |
This is in preparation of a fix for the broken online-retranslatability of
the cancel button.
Change-Id: Ie62540766e50e1f1ec07d251cc56a2ee0745d434
Reviewed-by: David Faure <david.faure@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
The associated test has unearthed that setBar() fails to make the new bar a child
of the progress dialog. This will be fixed in a separate commit.
Task-number: QTBUG-40502
Change-Id: I2d09ebb07ae6395449a4efe38a638df831eebdd7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
This is needed to make it possible to use the same interface for
retrieving the EGLDisplay on Windows and EGLFS, thus get rid of
cluttering ifdefs.
Change-Id: I37b848b1017eacbf8a29627cd157b74e22e5f40c
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The native interface implementation in QEGLPlatformIntegration
lower-cases the resource key strings, where as in the Windows
implementation we currently only check for camel-case resource
names to retriece the same resources.
Make it possible to use lower-case strings on Windows as well
by using the same key look-up mechanism as used in the eglfs
implementation.
Change-Id: Id2a594310df610cadbe420409c090f0abb316474
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/network/ssl/qsslsocket_openssl_symbols.cpp
Change-Id: Ic62419fa1fee5f4de6c372459d72e6e16f9a810b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some Linux distributions disable EC by default which causes compile
errors on those platforms.
Task-number: QTBUG-40394
Change-Id: If5816d473bd1d64b1d4977860db662704a83310f
Reviewed-by: Richard J. Moore <rich@kde.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Building QtDBus on Linux host for QNX target had two issues:
* Configure check failed, because dbus-1 library was not linked in,
if target platform doesn't support pkg-config.
* Host tools were not built, because pkg-config was not used to locate
dbus headers on the host.
Task-number: QTBUG-37324
Change-Id: I71d8309599fd40ef2dd8c9e3b44b93a7482019f1
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In some cases, depending on the proxy server response, the current
implementation of QHttpSocketEngine may write to memory beyond the
allocated buffer size. That will trigger undefined behavior on UNIX
systems and a buffer overrun exception if compiled with visual studio.
Change-Id: I5769d10c56b6a7483d6d94672aa4321287b82651
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes high CPU load for upload devices that don't generate
a constant stream of data. Their readData() function was called all the
time without returning actual data.
This was noticed when implementing an upload device that emits data in
a limited way for bandwidth limiting.
[ChangeLog][QtNetwork][QNetworkAccessManager] Fixed high CPU load when handling
POST/upload QIODevice that generates data on readyRead().
Change-Id: Iefbcb1a21d8aedef1eb11761232dd16a049018dc
Reviewed-by: Richard J. Moore <rich@kde.org>
|