Commit Graph

31431 Commits

Author SHA1 Message Date
Thiago Macieira
b9e82f206c Mark Clang 4.0 as warning-free
Change-Id: If337c17c98844a98b196fffd146e63c38ce1ee7b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-31 23:13:44 +00:00
Oleg Yadrov
bc232b2bef QCommonStyle: fix a few typos and formatting issues
Change-Id: I7855795bf010865d5c2b8dd51538c446cdff1974
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-01-31 22:24:36 +00:00
Thiago Macieira
b7247ac945 linux-icc: Remove -falign-functions=16
There's no reason to have that. Let the compiler decide whether it wants
to align or not. Current versions seem not to want to align beyond
multiple of 2.

Change-Id: Iab7c358838e1487387a2fffd149d73e0a218d3c2
Reviewed-by: Dominik Haumann <dhaumann@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 19:55:07 +00:00
Thiago Macieira
71b54cc244 QtCore & winmain: Remove dead code
The last use of qWinMain was removed in commit
390598cb43, "Winmain:  Remove Windows CE."
It used to be used on non-WinCE, but that was dropped in commit
9b121e5579.

Change-Id: Idc347fbb462f4122b044fffd1490a210358a61b1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-01-31 19:09:31 +00:00
Thiago Macieira
14f0964344 QVariant: don't do fuzzy comparisons with NaN and infinities
There was a test that tested this, but was wrong.

[ChangeLog][QtCore][QVariant] Fixed a bug that caused wrong results for
comparisons of QVariants containing either NaN or infinite numbers.

Task-number: QTBUG-56073
Change-Id: I33dc971f005a4848bb8ffffd1475d29d00dd1b7f
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 19:09:28 +00:00
Gabriel de Dietrich
f6c17c37ba QCursor: Remove old pixmaps and use native cursor on macOS
The DragCopyCursor part is a regression from ed55c4a14c.

Change-Id: Id98a40c372e48f09d8c1824a4c2c1df2a3bdd052
Task-number: QTBUG-58378
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2017-01-31 18:34:12 +00:00
André Klitzing
9369eca108 Update bundled libpng to version 1.6.28
Merged in the upstream version.
The remaining diff to clean 1.6.28 is archived in the qtpatches.diff file.

This fixes CVE-2016-10087 but Qt was never vulnerable to that issue!

[ChangeLog][Third-Party Code] libpng was updated to version 1.6.28.

Change-Id: I46712103fb160f31702eb7496fdd5c492a59ba5b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-01-31 18:28:54 +00:00
Thiago Macieira
bba4abd35f QXmlStream{Reader,Writer} don't need QtXml
They're in QtCore.

Change-Id: I63e21df51c7448bc8b5ffffd148f03c5e80b6fea
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-01-31 17:54:35 +00:00
Eirik Aavitsland
33ebe60098 PNG image handler: Avoid "invalid distance too far back" error
For certain slightly miscoded png images, newer versions of libpng
will trigger the mentioned zlib error and fail to read the image. This
miscoding has until now been safely ignored by all png
implementations, so such images exist in the wild, and users expect
them to work. Since the cost of the workaround is only a missed
opportunity of a tiny saving in memory usage during decoding, enable
it.

Task-number: QTBUG-58171
Change-Id: I820a9faef6d5b7af79c04404ebdceb48a096f29a
Reviewed-by: André Klitzing <aklitzing@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-01-31 14:34:39 +00:00
Glen Mabey
3ab7016632 New qfloat16 class
This constitutes a fairly complete submission of an entirely new
floating point type which conforms to IEEE 754 as a 16-bit storage
class.  Conversion between qfloat16 and float is currently performed
through a sequence of lookup tables.  Global-level functions
qRound(), qRound64(), qFuzzyCompare(), qFuzzyIsNull(), and
qIsNull() each with a qfloat16 parameter have been included
for completeness.

[ChangeLog][QtCore] Added new qfloat16 class.

Change-Id: Ia52eb27846965c14f8140c00faf5ba33c9443976
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 14:21:42 +00:00
Glen Mabey
e5d303cb9f tst_qvariant: fix comparison ambiguity for QMetaEnum value
Under certain circumstances, VS2015 reported ambiguous options in using
the operator>(Enum,int) operator.  This change adds a static_cast<qint64>
to remove any ambiguity.  In the process of testing this change, a gap
in the existing logic was identified: the handling (just in the test
code) of large negative enum values.  Consequently, and additional
test case was added, and additional if-conditions were added to account
for that case.

Change-Id: Ife2c471ba4caa4b9a0107722042114e58145c4d0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 14:21:02 +00:00
Eskil Abrahamsen Blomfeldt
098d87c63f Fix clipping error on some RTL text
There was a false assumption that the bidi level of text is only
used for visualizing the text, not for calculating its bounding
box. But the bidi level is required for shaping (indeed many
OpenType rules check for reading direction) and the glyphs used
to represent a given text may be different based on its
directionality. The effect would be that the bounding rect we
calculated for text would sometimes be too small for RTL text, and
we would end up clipping pixels.

[ChangeLog][QtGui][Text] Fixed clipping errors and too small
bounding rects for some right-to-left text.

Task-number: QTBUG-48005
Change-Id: Idd12ae1b0033d518034b582204ba47ae41795293
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-31 13:45:08 +00:00
Laszlo Agocs
39fb26376c Remove unused logging category from QOpenGLFunctions
Change-Id: I54b533036f24ee9bd63004d1c5513f847e12065d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-01-31 12:41:05 +00:00
Erik Verbruggen
36f8816555 Fix 2 clang warnings
The first one was already suppressed for GCC, so also do that for clang:

/Users/erik/dev/qt5-dev/qtbase/tests/auto/corelib/tools/qstring/tst_qstring.cpp:1076:16: warning: format string is not a string literal (potentially insecure)
      [-Wformat-security]
    a.sprintf( zero );
               ^~~~
/Users/erik/dev/qt5-dev/qtbase/tests/auto/corelib/tools/qstring/tst_qstring.cpp:1076:16: note: treat the string as an argument to avoid this
    a.sprintf( zero );
               ^
               "%s",

The second one could also occur with other compilers, so fix it in a
generic way.

/Users/erik/dev/qt5-dev/qtbase/tests/auto/corelib/tools/qstring/tst_qstring.cpp:6382:5: warning: ignoring return value of function declared with
      warn_unused_result attribute [-Wunused-result]
    string.repeated(3);
    ^~~~~~~~~~~~~~~ ~
2 warnings generated.

Change-Id: Id999179e795580a37b5be673ee54d6fa1a006dd7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 09:27:56 +00:00
Kimmo Ollila
60f48dd09a Remove -uvfd flag on INTEGRITY
The uvfd flag is implicitly defined when -Olink is used.
This causes the compiler to generate a warning for every
file being compiled in release mode.

Change-Id: I75759151864da7cf2f6d9c812e466a52c1208444
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-31 09:27:53 +00:00
Kimmo Ollila
8d9da54dd5 Add a configure check for alloca()
Alloca() is not supported on all platforms, like
INTEGRITY on ARM, so adding a configure check for it.
This can be used when building QtQml and 3rd party
code, in particular PCRE2 and SQLite.

Change-Id: I9785e16c21f67d1a68fef567e18c3356170f027e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-31 09:27:43 +00:00
Topi Reinio
07218826e5 Doc: Normalize \since usage
Although it's permitted to specify the project name together with
a version number for \since, it's unnecessary for Qt classes and
functions.

This change also normalizes the version formatting: '<major>.<minor>'

Change-Id: Ie5a43662077d13c31e241bcde8a7a2849d27d330
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-01-31 08:59:50 +00:00
Friedemann Kleint
41e4b4de91 QtGui/painting benchmark test: Fix Clang warning about uninitialized value
benchmarktests.h:323:18: warning: field 'm_as_pixmap' is uninitialized when used here [-Wuninitialized]
benchmarktests.h:371:18: warning: field 'm_as_pixmap' is uninitialized when used here [-Wuninitialized]
benchmarktests.h:417:18: warning: field 'm_as_pixmap' is uninitialized when used here [-Wuninitialized]

Change-Id: Ica496e3baa19e0701c64222ce8ab92ec94178db7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-01-31 08:37:56 +00:00
Friedemann Kleint
cc786350ae qsslsocket_openssl_symbols.cpp: Fix signedness warning in DEFINEFUNC2
Fix warning:
qsslsocket_openssl_symbols.cpp157:78:warning: implicit conversion changes signedness: 'int' to 'unsigned long'
note: expanded from macro 'DEFINEFUNC2'

Amends change 2cf63c71eb

Change-Id: I694c5199d272d05f0070288af2e00b6fce42fc91
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 38a446b69e)
2017-01-31 08:29:12 +00:00
Giuseppe D'Angelo
1b488d8b49 Streamline #include <type_traits>
It's included by qglobal.h, so we get it for free in other headers.

Change-Id: I90072156e313271a5354a39cbf78a83a6885c431
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 08:24:03 +00:00
Marc Mutz
d258d6962a QLocale(Win): fix pessimizing use of QStringBuilder
Instead of

   result += QString(string builder expression);

forcing a QString creation incl. memory allocation, do

   result += string builder expression;

using the overloaded QString += QStringBuilder operator.

Change-Id: I23023c76620fa6bb7bf9f2786c22f6a2ec0d87c2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-01-31 08:06:37 +00:00
Thiago Macieira
e2c0d1ea2e Read the .ini file back in text mode
Because on Windows, the .ini files are saved with CRLF, but the files in
the Qt resource are just LF (.gitattributes makes them so).

Task-number: QTBUG-25446
Change-Id: I5eab0d9620bd1ba675b0a87c554f62cef0f98fcc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 06:03:39 +00:00
Marc Mutz
714100f631 QSizePolicy: implement transpose() via transposed()
Having two implementations was nice for testing, but now remove
one of them.

Change-Id: I70dc7d16496427dd36ba2464c9f650ec865202b1
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2017-01-31 00:39:06 +00:00
Marc Mutz
f66319faa1 QtWidgets: convert some users of QSizePolicy::transpose() to transposed()
Change-Id: I492c3825ac10145c6ca69029ad1bcda6efc971b7
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2017-01-31 00:38:53 +00:00
Marc Mutz
6a9cd5604e Don't narrow lengths in qHash() implementations
The crc32() functions take a size_t length, but the hash() functions
wrapping them took int lengths.

That makes no sense and actively hurts adding hash functions for STL
types or QStringView, so port the hash() interface to size_t.

Change-Id: Id303d6df4b698560fce656cec8ed693b01daac1c
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 00:38:37 +00:00
Allan Sandfeld Jensen
85468f7bcc Manually vectorize ARGB32toARGB32PM for SSE4.1 and NEON
Manually vectorizing is significantly faster because we can optimize
for common cases like long stretches of opaque or transparent pixels.

This is both smaller and faster than the auto-vectorized version, it is
also much faster than the autovectorized version for AVX2 which then can
be removed.

Change-Id: I0fa80ce273a8387cc6cd084879822ad9bade385c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-31 00:14:11 +00:00
Thiago Macieira
c20fa2879e Regroup the x86 QT_FUNCTION_TARGET_STRING_xxxx macros
Easier to have an overview of them.

Change-Id: I445bb15619f6401494e8fffd149db6dec4851f6d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-01-30 18:16:56 +00:00
Thiago Macieira
0159cbb1a2 Move the declaration of SSE3 & newer macros above their use
Change-Id: I445bb15619f6401494e8fffd149db66da3405b48
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-01-30 18:16:50 +00:00
Jake Petroules
ad4f7b59ea Fix iOS build
This fixes a regression introduced in the merge 318b5856.

Due to the removal of actual simulator_and_device in 5.8 (397f345a6),
conditions using it have become meaningless.

Task-number: QTBUG-58440
Change-Id: I9f874f9f85efa590c40602dbcd07793ff17d35f5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2017-01-30 17:31:28 +00:00
Liang Qi
5a70c5e7f5 Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/dev 2017-01-30 17:31:21 +00:00
Liang Qi
246799d8a7 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	examples/network/network-chat/peermanager.cpp
	src/widgets/util/qsystemtrayicon.cpp
	src/widgets/util/qsystemtrayicon_qpa.cpp
	src/widgets/util/qsystemtrayicon_win.cpp
	src/widgets/util/qsystemtrayicon_x11.cpp

Change-Id: I1c026df83818c0ccaf956980370e7522960627db
2017-01-30 12:46:20 +01:00
Paul Olav Tvete
bec3658e19 Fix build with -no-feature-animation
Change-Id: Ieecb9cdbf4373e295148ae5b3d59c43aaf46175e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-30 11:39:08 +00:00
Timur Pocheptsov
84fa396d84 SecureTransport - remove (now) redundant standalone function
It was first introduced when we had to work-around old macOS SDK (<= 10.7) with
missing API; so we split the original code into two functions, one for
iOS (any supported version) and macOS > 10.7, another function (with all
ifdefs needed and old, deprecated API usage) for macOS <= 10.7. Now that
support for those versions was dropped and the second function gone, having
the remaining code in some external function looks illogical. It can be moved
into the member-function back.

Change-Id: Ib6355f225b5df3d92a70bd7679545cc89c450228
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-01-30 11:28:18 +00:00
Thiago Macieira
77b33e4b85 Re-fix Clang-cl and ICC support on Windows
Instead of using the actual compiler version to determine which C++11
features to enable, let's just use the Mirosoft compiler version that
the actual compiler is claiming compatibility with. That is because the
limiting factor is often the standard library, not the compiler itself.

This will cause some features that do not depend on the library to also
be disabled, but oh well. Better upgrade your Visual Studio version
instead.

Task-number: QTBUG-57696
Change-Id: I3e4e5051937c40319d6efffd14912cd4fdab25fb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2017-01-30 01:29:12 +00:00
Pier Luigi Fiorini
5ad191850b Modes API for QPlatformScreen
Add an API for modes (that is screen size and refresh rate).

This will allow platform plugins to list modes available
for a screen.

[ChangeLog][QtGui][QPA] Add an API for modes.

Change-Id: I91851c51cc60a1544465dfa3b4d96cc667237a0a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-01-28 16:13:38 +00:00
Friedemann Kleint
fed6c35461 QAccessibleCache: Replace Q_GLOBAL_STATIC by instance pointer
QAccessibleCache is a QObject which emits signals at destruction time.
This can lead to crashes in situations where the library is unloaded
after QApplication has been deleted, for example in PySide2.
Change it to a pointer instance variable that is cleaned up by a
post routine.

Task-number: PYSIDE-452
Change-Id: If0d673c7dfe33c8d2d7298bc081824f9d6d7efdc
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-01-28 11:49:13 +00:00
Marc Mutz
8b9b27bced QSizePolicy: add a transposed() method
In some situations, this allows for nicer code. It's also possible to
make this constexpr in C++11, whereas the mutable transpose() would
require C++14-style constexpr.

The new function should also be faster, since it just swaps the member
variables.

Because of constexpr-function limitations, the way the return value is
constructed needs to depend on the level of the compiler's C++11 support.
This is not the only class that requires uniform init to provide a fully
constexpr interface (QUuid and QBasicAtomic come to mind), so this should
probably be generalized across Qt at some point.

Added tests.

[ChangeLog][QtWidgets][QSizePolicy] Added transposed() method.

Change-Id: Ic1077a0d5a861e7c63bd1daeeb42b97c3a2f71ef
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2017-01-28 07:46:27 +00:00
Marc Mutz
ce3402b5ef QSizePolicy: add some constexpr
Also add a basic test for constexpr expressions involving QSizePolicy.

GCC < 4.8.0 has problems with initializing variant members in constexpr ctors:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54922

Instead of revoking its Q_COMPILER_CONSTEXPR, which is a source-incompatible
change, simply note the fact so we can selectively provide constexpr for
QSizePolicy.

Change-Id: Iba8e5a7cdf847d73e8e2b6bb6211fb3c9846aa0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-28 07:46:22 +00:00
Thiago Macieira
e0ecdebaa1 Unbreak the build with ICC on Windows
Commit 52d64fca66 made qlibraryinfo.obj be
compiled with an extra -D argument, but that doesn't take effect since a
precompiled header is in effect.

 Warning #673: the initial sequence of preprocessing directives is not compatible with those of precompiled header file "qmake_pch.pchi"
 qlibraryinfo.cpp(61): catastrophic error: cannot open source file "qconfig.cpp"

Change-Id: Iab7c358838e1487387a2fffd149d74a9aa2be338
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-01-27 23:04:58 +00:00
Thiago Macieira
72f49ef46a MSVC: Fix use of POPCNT instruction without CPU check
The __popcnt family of intrinsics with MSVC generates directly the
POPCNT instruction and are documented to do so:
  https://msdn.microsoft.com/en-us/library/bb385231.aspx

So we can't use __popcnt unless the target processor supports it.

[ChangeLog][Windows] Fixed a bug that caused applications to crash with
"Illegal instruction" faults when compiled with Visual Studio and run on
some older processors.

Task-number: QTBUG-58446
Change-Id: I445bb15619f6401494e8fffd149d83bd2a7e3376
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-01-27 23:04:52 +00:00
Friedemann Kleint
1aea3c1229 XCB: Use member initialization
Shorten or remove constructors accordingly.

Change-Id: I9c8bcf512c922c3c72be8a965d9557589bc9874f
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-01-27 22:32:07 +00:00
Jake Petroules
944110089d Build Qt libraries with -fapplication-extension
This ensures at compile-time that Qt libraries do not use any APIs that
are not safe for use in application extensions, and fixes warning
messages that appear when linking to Qt libraries that are not built
with this flag, when used in an application extension.

This is especially important on watchOS where *all* "applications" are
actually application extensions, and on other Apple platforms if
application extensions are developed using Qt.

Task-number: QTBUG-40101
Change-Id: I022046f2584e0222253d33052b0abc221d7c93d6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-01-27 22:10:01 +00:00
Friedemann Kleint
af7cefd272 Widgets/qwidgetbackingstore.cpp: Fix developer build with MinGW
In  showYellowThing_win(), replace the switch by an array of COLORREF
and simplify the code accordingly, fixing:

kernel\qwidgetbackingstore.cpp: In function 'void showYellowThing_win(QWidget*, const QRegion&, int)':
kernel\qwidgetbackingstore.cpp:188:39: error: 'brush' may be used uninitialized in this function [-Werror=maybe-uninitialized]
         FillRect(hdc, &winRect, brush);
                                       ^

Change-Id: Id60be0e01e1edb2fa939d64abaf2e58357bcc14d
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-01-27 17:16:14 +00:00
Andy Shaw
c6ecbd4762 Win: If the combined key is unknown then fall back to the original key pressed
When pressing a combination of keys it is possible that it ends up being
seen as a Key_unknown and as a result it can give strange results when
used. Therefore if the key is Key_unknown in that case then it should
fallback to the unmodified key. For example on a French keyboard, this
means it will correctly allow CTRL+< as a shortcut instead of showing
it as CTRL+\.

Task-number: QTBUG-58304
Change-Id: Iae4c11a1e6e2d4343134ed1e3f9049b6df2613af
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-01-27 16:15:50 +00:00
Allan Sandfeld Jensen
099f286870 Fix MIPS DSP configuration
The patch fixes a number of bugs in code, and removes dead logic
clarifying that MIPS DSP, like ARM NEON, has no runtime detecton.

Change-Id: If2f4eea68da5b2eaa80b8e9c8258206d8c1b7173
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-27 15:08:57 +00:00
Jake Petroules
9c9edaa6f5 Use qtConfig where appropriate
Change-Id: Ib865f074b930eab89c7552d0677bf2beb020f3ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-01-27 10:38:46 +00:00
Alexander Volkov
30d0e1770c Use std::enable_if instead of QEnableIf
Change-Id: Ideca8283141484cb6da47c50333f5c96e416f082
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-01-27 10:30:31 +00:00
Andy Shaw
02cc57f4ed QKeySequenceEdit: Allow for the case where pressing SHIFT+letter gives a different letter
On some keyboard layouts it is possible that pressing SHIFT+letter does
not give the upper case version of the character. So we depend on QKeyMapper
here to give us the right keysequence as then it will compare against
a shortcut created with this combination then.

Task-number: QTBUG-57928
Task-number: QTBUG-57931
Change-Id: I9421f3ab4d3f8d1ee42f9680200d4b017d551057
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-01-27 01:56:52 +00:00
Tasuku Suzuki
9febc58d07 Fix build without features.movie
Change-Id: I244a618f8660262249455ee707b62e6355583a74
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-27 01:01:41 +00:00
Timur Pocheptsov
20f7cfcbda qnetworkproxy_mac - fix proxyAutoConfigCallback
We have an invalid pointer dereference in our callback.
Apple's docs are quite ambiguous, whatever we receive in our callback's
'client' parameter is our PACInfo, not clientContext's address.

That's what we pass to CFNetworkExecuteProxyAutoConfigurationURL:

"clientContext - A stream context containing a client info object and optionally
retain and release callbacks for that object."

This 'client info' is our PACInfo struct with 2 pointers.

Now in a callback, 'client':

"The client reference originally passed in the clientContext
parameter of the ..."

So apparently we should read this as "client info originally passed in ...."
Otherwise incorrect cast results in invalid pointer (apparently
the value of retain/release/copy pointers we carefully set to 0)
and a crash on dereference.

Task-number: QTBUG-56747
Change-Id: I89378f1582679638cd29a36c563e506d8f5af518
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-01-26 20:32:24 +00:00