We can now directly use CancelIoEx. The fallback to CancelIo
was needed for supporting Windows XP.
Change-Id: I24a53a774caf695e6006f24a914abaa5ab204035
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Define WINVER, _WIN32_WINNT for MinGW in win.pri. Directly link to uxtheme and
dwmapi and remove dynamic loading of functions that are present in Windows
Vista onwards.
Remove duplicated declarations of constants that are now present in the SDKs.
Task-number: QTBUG-51673
Change-Id: I695a6673d7250b2788fd2f20aebd222fcabb0d47
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
When compiling on Windows to for example Android, we may be using the unix
generator, but the make command may be mingw32-make.
Task-number: QTBUG-53038
Change-Id: If8d1e1bea733cf1b4ed837c423a34ecfb3cafd1f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Remove the extra write buffer from QLocalSocketPrivate and use
QIODevice's new internal write buffer.
Change-Id: I4297774ee89da2df59782adae8b804296e7f3301
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Use QRingBuffer::append instead of an explicit reserve + memcpy.
Change-Id: I237d1e43a377e156c148e89e410e15e400e1e426
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Using multiple concurrent requests can cause a delay between a socket
closing and getting deleted. At that point the state was closingDown,
but not wasDeleted yet. Especially on slower arm devices, callbacks are
done from another thread causing synchronization issues.
Hence closingDown needs to be synced and handleReadyRead needs to have
more criterias to return early to avoid invalid access crashes.
Easiest to reproduce is heavy scrolling on the mapviewer example when it
downloads a huge amount of tiles and cancels those requests when not in
view anymore.
Change-Id: I442b6243bbefb3af938b6b1b3739a6a85b4887c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Replace the pointer member test widge by a widget
instiantiated on the stack where needed.
Remove empty functions.
Change-Id: Ie2da1d88bb23e56e85a2c57cc28220d74c63fae1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Use one simple widget of a suitable size per-test instead, removing
the need to reset palettes and fonts and to hide and re-show the
widget.
Task-number: QTBUG-38858
Change-Id: I3096af91ba68e419ad7383e59bcc5838c2363e32
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Allows to get rid of some QStringLiterals, reducing QtGui
text size by ~2Kib.
Change-Id: Ic033fad5673aadc85930842dfccc24299df154f7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QDialogButtonBox does not have translations, it queries
QPlatformTheme for button texts. So in order to ensure
that the buttons added to QColorDialog natively are
translated it should be set to use QPlatformTheme instead.
Change-Id: I67d0e509398aa81f9de9b8785544c1e23bb596d9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
QVariant::canConvert<Enum> was returning true for everything can can be converted
to integer, but not for integer itself. That's because in QVariant::canConvert
we set the targetType to Int of it's an enum, but the Int->Int case was not
on the conversion matrix. So this commits adds it to the conversion matrix
and now QVariant::canConvert<Enum> returns consistently true for int itself.
But even tough canConvert returned true, it did not actualy do any conversion
to the enum type itself. Fix that by handling the case properlt in 'convert'
[ChangeLog][QtCore][QVariant] Fixed QVariant::canConvert and conversion from
integer types to enumeration types.
Task-number: QTBUG-53384
Change-Id: I6ac066f3900e31bfcea7af77836ddfc7730bd60b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
fbGetDisplay() expects a context pointer, but the config test was
calling this function without any arguments, causing the test to
fail even when the Vivante EGLFS device integration is actually
supported.
This got broken in 5.7 by the INTEGRITY changes in
9b35b0e8dc.
Task-number: QTBUG-53282
Change-Id: I233d93618b1c8a31d12b31139d3bfbd3d6429839
Done-with: Carlos Rafael Giani <dv@pseudoterminal.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
7edd10e6c added this compression feature, but some applications may
need to disable it.
[ChangeLog][X11] It's now possible to unset AA_CompressHighFrequencyEvents
to disable the new X event compression feature that was added in 5.6.0.
This is a replacement for the WA_NoX11EventCompression flag in Qt 4.
Task-number: QTBUG-44964
Change-Id: I37a9c8a4831f1c02eda0f03b54125f3255d25500
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Introduce a function going up the widget hierarchy determining a QTransform
for mapping the coordinates applying the transformations of any QGraphicsView
instances found. In mapFromGlobal(), use the inverse of it. This fixes the
case of widget hierarchies embedded into QGraphicsView with transformations.
Increase fuzz in the tests due to float rounding errors.
Task-number: QTBUG-41135
Task-number: QTBUG-50030
Task-number: QTBUG-50136
Task-number: QTBUG-52507
Change-Id: I507e0bccd546250fe9c2d1b74ef38657d61490b4
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
So we know what we're looking at if there's a test failure. This is like
QNetworkInterface.
Change-Id: Id75834dab9ed466e94c7ffff1444bf51f615e944
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This will make it easier to use create backtraces in other contexts.
Change-Id: I56b838ab04d9810108fcdb7f8c2fd91255864850
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
The QFontDialog test will currently fail for some PCF bitmap fonts
because the list of smooth sizes it uses to populate its size list
contains unsupported sizes. We work around this by adding
QEXPECT_FAIL when we detect that the failure is going to happen.
Task-number: QTBUG-46056
Task-number: QTBUG-53299
Change-Id: Ia665cca220f3622405d1a2336e8d587545cccbc6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
The <QHash> only contains the container these days,
while <QHashFunctions> contains the qHash() function
overloads and related functions. This is where these
two functions belong, too.
This change is BC and SC, since qhash.h includes
qhashfunctions.h.
Change-Id: I2e7febb0ffca209af67fb9f2cd363596867a44e1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This reverts commit 11ad50074b.
Unfortunately, udpsocket strikes back this time on OS X < 10.10 -
never seens these test failing before. Since this prevents 5.6->5.7
merge, I have to revert it until the problem investigated/fixed on OS X.
Alas :(
Change-Id: I52f6512d88c25d2e3071cb845e91faefbd455e27
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
release_tools is not set in pure release builds - in fact, we complain
if it is.
Change-Id: Ifac73c0ef6f8967155b63f7fc9c9ce9de1acf337
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
In commit c6c9304, the earlier size limit of 128 was raised to the
format's defined maximum of 256. But the required special storage of
this size in the image structures was not implemented. Hence,
attempting to store such big icons would result in invalid image
files.
Fix the size storing details, and add some autotests of ico format
writing since that was practically uncovered.
Task-number: QTBUG-53259
Change-Id: I00e17a04e90c32dcf1124ba5adaf53728fb74dc7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Min and max expressions need matching types, which means we have to
take care both values are qreal.
Task-number: QTCREATORBUG-15851
Change-Id: I5f123e979fa896006ff6eafaac1f65b667db975d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
[ChangeLog][QtNetwork][QAuthenticator] Fixed crash when
comparing a initialized QAuthenticator with an uninitialized
QAuthenticator.
Task-number: QTBUG-53338
Change-Id: Ib8b732b9c65c02ee542885e5d6fe9bd1589a6b1a
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Mark these libraries as what they are: Q_FOREACH-free,
using QT_NO_FOREACH.
Change-Id: I2a567d9fe67e15e9b6f0784525810b553dc50e1f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Port the last remaining Q_FOREACH user in QtNetwork to
C++11 range-for and mark the library as Q_FOREACH-free,
using QT_NO_FOREACH.
Change-Id: I8977f151e3575422fc1154677e035274c018d66f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Remove the hardcoded size 16 from QLineEditIconButton. Replace
QLineEditPrivate::iconSize() by QLineEditPrivate::sideWidgetParameters()
returning a struct SideWidgetParameters containing icon size, widget size and
margins. The 32x32 icon will then be used on a High DPI screen without scaling.
Task-number: QTBUG-49374
Change-Id: I23c4a0cd078a58581c940aacfa65a3ad493c12dc
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
FontConfig requires FreeType, so choosing the system FontConfig (there
isn't a bundled FontConfig) means that the system FreeType must be used.
QNX ended up configured to include the bundled FreeType and the system
FontConfig which produced a fault when bundled FreeType structures got
passed through FontConfig to the system FreeType.
Task-number: QTBUG-52578
Task-number: QTBUG-51417
Change-Id: I56add73d34320c1d08f63b57cb0fef1ba06264e8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Let the user know that configure's switch from -no-freetype/-qt-freetype
to -system-freetype when -fontconfig is used is expected.
Task-number: QTBUG-35886
Change-Id: I95daaeffb0878bb785149f314096405a5c0fdc7a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
The "checking for xxx... [yes|no]" is chosen so that it matches exactly
what GNU Autoconf does. That way, any tools that parse the output will
have less trouble.
This feature is useful for us when debugging a build, as not all checks
produce output in the configure summary.
Change-Id: Id75834dab9ed466e94c7ffff14456edb646a1ced
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
15b42af111 changed the qt_cpu_features
variable to be an array and never fixed this #if branch of the code.
Change-Id: Id69569111e7d4e619e22ffff144cf930f86f478e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This is just a compile test for the the bootstrapped version of QtDBus
(no QObject). Nothing depends on it in regular, non-cross-compilation
builds.
Change-Id: Id69569111e7d4e619e22ffff144da8e646d037d9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Force overloads which relate to UDP or listening to fail with a
'UnsupportedSocketOperationError' error code.
Change-Id: I057c47864ee1d9c95b413edfda977dd0607844cb
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
In order to avoid pulling in QDebug when including QSharedPointer.
Change-Id: I14b86d1f100ed44a68258c91bbda394b655bac83
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This allows applications to use two or more QSystemTrayIcons.
Task-number: QTBUG-53021
Change-Id: I520db99c1c3718906669d1b544d44a8d2f71e1ce
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
...from the docs of the signals it emits.
Task-number: QTBUG-53228
Change-Id: Ifdd91404cae9dd6480ae29b31f2a48fa024df442
Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com>
Examples in binary packages now directly match the install path.
Change-Id: Ic1487bc766cfd3b0a0a340cc4ae4ba49d953eaa6
Task-number: QTBUG-52953
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Shared handles are not supported on Windows 7 and below. If the
according flag is set CreateTexture2D will fail with E_OUTOFMEMORY. The
check already happens with newer ANGLE versions, which we use in 5.7
but has to happen here as well. Otherwise Qt applications running on
Windows 7 and below will crash at startup.
Change-Id: I8f539f16dce298611fb1ec7b2f6804d4a04d04e0
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
The combination of vendor and device ID being 0000 indicates, that the
standard VGA driver is used, and happens when using Qt in a:
- Windows 7 machine without proper GPU drivers
- Windows 7 machine with disabled GPU
- HyperV vm
The default driver does neither support D3D9 nor D3D11 properly so that
we have to fall back to warp mode for ANGLE.
Change-Id: Ia766e32d680c910a50ec3d6b5002892cdb90fdbb
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Port the last remaining Q_FOREACH (over a QVarLengthArray,
no less) in winmain to C++11 range-for and mark the library
as Q_FOREACH-free, using QT_NO_FOREACH.
Change-Id: Ic561080f7dd61d1d853ceb9e211c9b8a23bf05a5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
All this code was skipped on all platforms, so keeping it is just
confusing.
Change-Id: I405d2e791b22a2494fe5ccac6e3bf08905dc4e5a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
This is a partial revert of 992f233c in Qt 4 repo. The rest of the
change cannot be reverted, since it added public API, but that
API might be useful anyway.
The patch was wrong, basically. QFont::exactMatch() should not claim
that you can get an exact match for a typeface alias. It also introduced
some weird inconsistencies: For instance, if the first font the alias
resolved to in FontConfig did not exist, then exactMatch() would return
false, even if it then resolved to the next one which existed. This
caused a test failure on OpenSuse, where the preferred font for "sans"
is Arial, which doesn't exist, so Roboto will be used instead.
[ChangeLog][QtGui][Important Behavior Changes] QFont::exactMatch() now
returns false when the provided typeface is an alias.
Task-number: QTBUG-46054
Change-Id: I7532d2879b492544620aa0d1d87dd493a4923af9
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Set the error mode flag SEM_NOOPENFILEERRORBOX when calling Win32 API
GetLogicalDrives() to prevent it from prompting to insert media
as does QStorageInfoPrivate::mountedVolumes().
Task-number: QTBUG-18729
Task-number: QTBUG-32457
Change-Id: I5c76afbb5bf2ec5ec84194650c316fe531578d5b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>