Commit Graph

371 Commits

Author SHA1 Message Date
Andrew Knight
916cfede05 ANGLE: Allow Windows Phone to communicate swap region
eglPostSubBufferNV is used to communicate the size of the window, as
otherwise there is no way for the renderer to know if the last frame was
rendered in landscape or portrait, causing rendering glitches when the
orientation changes. The rotation flags are utilized in a few additional
places now to fix some corner cases where the rotation was not applied.

This patch should be squashed into "ANGLE-Improve-Windows-Phone-Support"
during the next ANGLE rebase.

Task-number: QTBUG-44333
Task-number: QTBUG-43502
Change-Id: Iec37f7531854184819c30c87eab82d96d56ff133
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-05-08 02:34:03 +00:00
Bjoern Breitmeyer
05f8c8c719 Fix WEC2013 build of zlib.
Change-Id: I4d1908f1175ed39e2df8717fb0b5a17befe88744
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-28 15:16:17 +00:00
Liang Qi
aed5a71683 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/statemachine/qstatemachine.cpp
	src/corelib/statemachine/qstatemachine_p.h
	src/gui/painting/qdrawhelper.cpp
	src/plugins/platforms/xcb/qxcbnativeinterface.cpp
	src/plugins/platforms/xcb/qxcbwindow.cpp
	src/plugins/platforms/xcb/qxcbwindow.h
	src/testlib/qtestblacklist.cpp
	src/tools/qdoc/node.cpp
	src/tools/qdoc/node.h
	tests/auto/gui/painting/qcolor/tst_qcolor.cpp

Change-Id: I6c78b7b162001712d5774293f501b06b4ff32684
2015-04-22 09:25:54 +02:00
Liang Qi
605617b5dc Merge remote-tracking branch 'origin/5.4' into 5.5
Change-Id: I004854a25ebbf12b1fda88900162fe7878716c58
2015-04-15 09:09:24 +02:00
Giuseppe D'Angelo
a36adfc73e Upgrade PCRE to r1546
Thanks to LLVM's libFuzzer a dozen of assorted buffer overflows has
been discovered, see [1, 2]

[1] http://vcs.pcre.org/viewvc/code/trunk/ChangeLog?view=markup
[2] http://blog.llvm.org/2015/04/fuzz-all-clangs.html

Change-Id: Ib9fd8dfaee8dc50e1899ebac83a74ac1107a0bd2
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-04-12 18:18:41 +00:00
Bjoern Breitmeyer
11bd02e4c2 Fix WEC2013 build of harfbuzz-ng
Errno is available on WEC2013 and the locale setting isn't
necessary either.

Change-Id: I648d03d842c17b04afdd2d89674119ce020769a4
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-04-11 12:54:00 +00:00
Eirik Aavitsland
68c137cc72 Update bundled libpng to version 1.6.17
Merged in the upstream version, which obsoleted many of the local
patches. The remaining diff to clean 1.6.17 is archived in the
qtpatches.diff file.

Change-Id: I5065435dc5a922d3f4a46eb37a23a4877dde2ee6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-09 12:14:28 +00:00
Andrew Knight
a218a252c4 Upgrade ANGLE to 2.1~99f075dade7c
This aligns with Chromium branch 2356.

This version brings more complete OpenGL ES 3 support as well as various
bug fixes and performance improvements.

The following changes were made to earlier patches:

-0000-General-fixes-for-ANGLE-2.1
  Removed. All changes are now handled elsewhere.
+0001-ANGLE-Improve-Windows-Phone-support
  Consolidated remaining parts from 0009/0010.
+0002-ANGLE-Fix-compilation-with-MinGW
  Remaining issues from patch 0016.
+0003-ANGLE-Fix-compilation-with-MSVC2010
  Remaining issues from patch 0015.
+0004-ANGLE-Dynamically-load-D3D-compiler-from-list
  Renamed from patch 0008.
+0005-ANGLE-Add-support-for-querying-platform-device
  Renamed from patch 0013.
-0004-Make-it-possible-to-link-ANGLE-statically-for-single
  Removed. Fixed by adding defines to project files.
-0008-ANGLE-Dynamically-load-D3D-compiler-from-a-list-or-t
  Renamed to patch 0005.
-0009-ANGLE-Support-WinRT
  Removed. Mostly fixed upstream; remaining parts in patch 0001.
-0010-ANGLE-Enable-D3D11-for-feature-level-9-cards
  Removed. Mostly fixed upstream; remaining parts in patch 0001.
-0012-ANGLE-fix-semantic-index-lookup
  Removed. Fixed upstream.
-0013-ANGLE-Add-support-for-querying-platform-device
  Renamed to patch 0005.
-0014-Let-ANGLE-use-multithreaded-devices-if-necessary
  Removed. No longer needed.
-0015-ANGLE-Fix-angle-d3d11-on-MSVC2010
  Moved remaining parts to patch 0003.
-0016-ANGLE-Fix-compilation-with-MinGW-D3D11
  Moved remaining parts to patch 0002.
-0017-ANGLE-Fix-compilation-with-D3D9
  Removed. Fixed upstream.
-0018-ANGLE-Fix-releasing-textures-after-we-kill-D3D11
  Removed. Fixed upstream.
-0019-ANGLE-Fix-handling-of-shader-source-with-fixed-lengt
  Removed. Fixed upstream.
-0020-ANGLE-Do-not-use-std-strlen
  Removed. Fixed upstream.
-0020-ANGLE-Fix-compilation-with-MSVC2013-Update4
  Removed. Fixed upstream.

[ChangeLog][Third-party libraries] ANGLE was updated to Chromium branch
2356 (2.1~99f075dade7c).

Change-Id: I32ccbfe95e10986bd94be7191dfd53445ea09158
Task-number: QTBUG-44815
Task-number: QTBUG-37660
Task-number: QTBUG-44694
Task-number: QTBUG-42443
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-09 10:31:12 +00:00
Thiago Macieira
f25d6ad2aa forkfd: Fix compilation with older glibc
glibc 2.9 is required for pipe2 and version 2.7 for eventfd.

Bionic added them to Android version 2.3.1, but I can't find a version
macro.

uclibc masquerades as glibc version 2.2, so this function won't be
thread-safe with uclibc.

Change-Id: Iee8cbc07c4434ce9b560ffff13cd3c3b63dd7e83
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-04-01 14:44:42 +00:00
Liang Qi
ce9519593a Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
	mkspecs/android-g++/qmake.conf
	qmake/generators/unix/unixmake2.cpp
	src/gui/image/qimage_conversions.cpp

Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
2015-03-31 10:03:31 +02:00
Konstantin Ritt
f2486adc1b Build bundled freetype as qt_helper_lib
And thus do not disable warnings for the whole module when
configured with -qt-freetype.

Change-Id: I601a7c2990c8e3377531a28078db73800c138ec1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-27 21:54:22 +00:00
Konstantin Ritt
f2ec2fcd55 Update bundled HarfBuzz to 0.9.40
Change-Id: I88c3608c3f15e39e89a00cfc23c184aebe7097e4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-23 07:12:53 +00:00
Thiago Macieira
17cfe1b35f Relicense forkfd under an MIT license
The difference between BSD and MIT is the need to reproduce the
copyright in the documentation and the non-endorsement by a particular
company (the name of which was stale in the forkfd code).

Change-Id: Iee8cbc07c4434ce9b560ffff13cd0174934935e9
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-03-23 06:16:21 +00:00
Konstantin Ritt
aa2c5ba995 Stop doing s/HAVE_CONFIG_H/PCRE_HAVE_CONFIG_H/g in bundled PCRE sources
As we build PCRE outside of QtCore, there is no need to do that anymore.

Change-Id: Ib184966062f6afe7a449b860058e61e1ab2f7939
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-20 18:12:13 +00:00
Konstantin Ritt
b5e0e433cc Build bundled PCRE copy as qt_helper_lib
We already have an infrastructure for that.

Change-Id: I9110b74dcf7f93362586687da6f112e72cb663a4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-20 18:12:09 +00:00
Konstantin Ritt
0a27532890 Introduce icu_dependency.pri
Simply to hide the magic bahind the scenes.

Change-Id: I69a159eb14712e68117f10e78745bdfbad46b6f2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-20 18:12:04 +00:00
Konstantin Ritt
7ff3a7d3a3 Apply Qt-specific changes to the bundled FreeType
Enable TT_CONFIG_OPTION_SUBPIXEL_HINTING instead of deprecated
TT_CONFIG_OPTION_UNPATENTED_HINTING to improve hinted rendering.

Change-Id: I63efae235a2abb1a9f4bbba5fec900670e1ffe9a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-20 13:42:38 +00:00
Konstantin Ritt
2eaf0cf8fd Update bundled FreeType to 2.5.5
Removed everything, imported with help of import_from_tarball.sh script,
and then added a pre-generated builds/unix/ftconfig.h

Task-number: QTBUG-44648
Change-Id: Iea948e41f7761f1580382b3763d04c7a61383382
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-20 13:42:29 +00:00
Thiago Macieira
4da46bbb9a forkfd: dynamically detect whether the Darwin waitid is broken
The Darwin kernel that came with Mac OS X 10.7 has a broken
implementation of waitid when passed a P_ALL first argument. It does
tell us that there is a process that can be wait()ed, but does not fill
in the siginfo_t structure.

See commit 9931fa9df4 for more
information.

Change-Id: Iee8cbc07c4434ce9b560ffff13cafa4c88cdabd6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-16 19:28:13 +00:00
Alex Richardson
eea7791fd4 Fix build of forkfd_qt.cpp on FreeBSD
It no longer compiled after 614f37c8b5 due to
the following:
- forkfd_qt.cpp set _XOPEN_SOURCE to 500
- It then includes qatomic.h which include sys/cdefs.h (the FreeBSD header
  that parses and sets _POSIX_C_SOURCE, _XOPEN_SOURCE and other macros)
- sys/cdefs.h redefines _POSIX_C_SOURCE to 199506 due to _XOPEN_SOURCE's
  value
- Several libc symbols expected to exist by libc++ are hidden due to
  _POSIX_C_SOURCE's value and the build fails

Setting _XOPEN_SOURCE to 700 ensures that _POSIX_C_SOURCE is set to
200809 which is required for libc++ to work correctly

Task-number: QTBUG-45006
Change-Id: Iac93220d19ca5ab9ba8ac61a79748252283c3c47
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-03-15 22:26:40 +00:00
Thiago Macieira
614f37c8b5 forkfd: make only one of forkfd or spawnfd be compiled
We only ever use one, never both.

Change-Id: Iee8cbc07c4434ce9b560ffff13caf94c05dba338
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-14 02:17:36 +00:00
Konstantin Ritt
6c372d46f8 Introduce src/3rdparty/freetype.pri for better maintenance
This deduplicates qmake rules in platformsupport and platform plugins.

Change-Id: Ie9c7d933c4433b96bf502e9753a12faa238b4569
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-14 00:18:24 +00:00
Thiago Macieira
e039555d0e Update strto(u)ll.c to not produce a warning with -Wcast-qual
This only works if you #include from a C++ source, of course.

The diff is updated to apply over the following sources:
 https://raw.githubusercontent.com/freebsd/freebsd/release/10.1.0/lib/libc/stdlib/strtoull.c
 https://raw.githubusercontent.com/freebsd/freebsd/release/10.1.0/lib/libc/stdlib/strtoll.c

Change-Id: Ia0aac2f09e9245339951ffff13c8d5e2113d4f36
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-12 04:23:54 +00:00
Konstantin Ritt
b50e52ed16 Update bundled HarfBuzz copy to 0.9.39
Change-Id: I48d130a1639fef3b8ec2de5622848eb56fadc1c7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-11 21:47:19 +00:00
Konstantin Ritt
6ca406d43d Bring harfbuzzng.pri naming in par with the other .pri-s in src/3rdparty
Change-Id: I59bf922e3085a03a4c2c370f42418cb005456d3e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-11 21:46:58 +00:00
Thiago Macieira
7acc7a8eb3 Fix const correctness in Harfbuzz
to_tis620 modifies cstr, so it mustn't be const.

Change-Id: Ia0aac2f09e9245339951ffff13c8d77c886f767d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-11 01:50:27 +00:00
Giuseppe D'Angelo
14fdd946f6 Upgrade PCRE to r1530
Include a couple of hard-to-backport fixes for stack/heap overflows
and regressions from previous PCRE versions (cf. the changelog [1])

[1] http://vcs.pcre.org/viewvc/code/trunk/ChangeLog?view=markup

Change-Id: I618c3633e9265ef1b9fd56b58e2c6c714335aae8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-06 13:43:12 +00:00
Frederik Gladhorn
34b14a8472 Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
	examples/xml/htmlinfo/simpleexample.html
	examples/xml/rsslisting/rsslisting.cpp
	qmake/generators/win32/msbuild_objectmodel.cpp
	src/3rdparty/harfbuzz-ng/src/hb-private.hh
	src/corelib/global/qlogging.cpp
	src/corelib/io/qstorageinfo_unix.cpp
	src/corelib/thread/qwaitcondition_unix.cpp
	src/gui/kernel/qguiapplication.cpp
	src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
	src/testlib/doc/src/qt-webpages.qdoc
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp

Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
2015-02-24 21:02:08 +01:00
Oswald Buddenhagen
69196b38c4 fix non-git shadow builds
the qt headers live in the source dir in this configuration.

instead of hard-coding the path in the project file, use the correct
module variable. this requires harfbuzz-ng to be built after corelib.

Change-Id: If1b64b59a0939d3b5190331fcf70da566d4eeedd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-02-16 15:12:30 +00:00
Jani Heikkinen
2b75c156b6 Updated BSD licensed file headers
Change-Id: I6441ff931dbd33b698d762e6f6784898f3f60fe7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-15 07:41:17 +00:00
Konstantin Ritt
ce0d3f4e72 [HarfBuzz/CoreText] Re-apply fix for QTBUG-38113
Task-number: QTBUG-38113
Change-Id: Icdedfdb240a2888e0a084a156db5598c033495de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-02-14 01:18:28 +00:00
Konstantin Ritt
b1a106f793 Apply CoreText shaper changes from HarfBuzz upstream
Task-number: QTBUG-38363
Task-number: QTBUG-39504
Change-Id: I754c19c131645d6e6e40092c1b820ccf896c74e7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-02-14 01:18:25 +00:00
Konstantin Ritt
01203a94b5 Update bundled HarfBuzz to 0.9.39
No significant changes, just stick to a released version.

Change-Id: Ib9c4ce6f7da07727e890a4ac3265fc4574e89821
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-02-12 10:05:24 +00:00
Jani Heikkinen
83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Frederik Gladhorn
fc35f71434 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro
	src/gui/image/qimage_conversions.cpp
	src/gui/opengl/qopenglextensions_p.h
	src/gui/text/qtextengine.cpp
	src/network/ssl/qsslsocket_openssl.cpp
	src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
	src/plugins/platforms/eglfs/qeglfsscreen.cpp
	src/plugins/platforms/eglfs/qeglfswindow.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
	src/plugins/platforms/windows/qwindowsnativeinterface.cpp
	src/plugins/platforms/windows/qwindowsscreen.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/plugins/platforms/windows/qwindowswindow.h
	src/plugins/platforms/xcb/qxcbdrag.h
	src/widgets/itemviews/qabstractitemview.cpp
	src/widgets/kernel/qwidget.cpp
	src/widgets/util/qsystemtrayicon_p.h
	tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp

Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp
conflicts.

Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
2015-02-10 09:42:25 +01:00
Thiago Macieira
d6ce94ae63 Force Harfbuzz-NG to use the Qt atomics when built inside Qt
For most cases, the GCC/Intel atomics (__sync functions) are fine, but
there are some systems for which libgcc is incorrectly built (QNX
6.5.0). Additionally, this will allow Harfbuzz-NG to be supported in
exactly the same systems as Qt itself.

Task-number: QTBUG-43850
Change-Id: Ib53f57f70d4ad46863c45e74d60b0eb45ba9bd02
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-02-10 03:21:08 +00:00
Thiago Macieira
e024eb55c6 Remove #define inline from Harfbuzz-NG
This code is C++ only. There isn't a single C++ compiler that fails to
understand the "inline" keyword, since it's required by C++98. Any
compiler older than C++98 is likely to choke on the template usage
further down, so this isn't necessary.

Moreover, the C++ standard says you cannot define macros.
[lib.macro.names] says "Nor shall such a translation unit define macros
for names lexically identical to keywords." -- technically, it's a
promise that the Standard Library headers won't do it, the wording means
that the entire translation unit won't do it, which implies no source
can do it.

MSVC complains about it:
fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.

Change-Id: Ic2a0a03a0af47386e34bb698454a2040ef3f6a9d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-02-10 03:21:02 +00:00
Jan Arve Saether
3f431e279a Do not compile in dlldata.c or ia2_api_all_c.c
These files are only required for a COM server, but since the
IAccessible2Proxy will actually be the effective server (inside our
process). We just have to make sure we respond to the correct events, and
reimplement the virtual functions as required.
This is already done, so these files can be removed.

Task-number: QTBUG-30838
Task-number: QTBUG-28645
Change-Id: Ic95101945bad263a6da63c08b3e47cc0c9d5734a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-02-04 14:59:03 +00:00
Mark Brand
611bcc3cd3 update bundled sqlite to 3.8.8.2
The "Fixed CE build of sqlite3" patch is preserved in this change,

Change-Id: I2ffcf1666b1d6838ae1ddba76b836f962e118f8d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-02-03 11:35:10 +00:00
Konstantin Ritt
ed56e79b53 [HarfBuzz-NG] Fix build on WinRT
This adopts c26d5cf6ef
and moves some code around.

Change-Id: Icbc1f4e0cfa6c6b994c3e5096cf1cc66bc0b32f9
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-01-25 08:41:11 +01:00
Konstantin Ritt
3de9bc9cb1 Update bundled HarfBuzz-NG to 0.9.38
Most important changes:
* Fixes for Arabic, Hangul, Hebrew, Indic,
  Mandaic, Myanmar, and New Tai Lue shapers.
* Fixed out-of-bounds access in Indic shaper.
* Build and stability fixes, various optimizations.

Change-Id: I4f0e32c017f62fe576bee41a430d3da6d571de80
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-25 08:41:05 +01:00
Thiago Macieira
f3459a43af Add spawnfd for use where fork / forkfd can't be used
In certain environments, using fork() is not recommended due to the need
for an MMU. This commit adds support for those environments, by using
posix_spawn. Limitations of this environment are:
 - we cannot reliably detect failure to exec (e.g. non-existing executable)
 - we cannot do setsid(); we do setpgrp(0, 0) instead
 - we cannot thread-safely chdir() to the requested dir

Because of the former limitation, the QProcess unit tests that rely on
failure-to-start error conditions are either skipped or marked as
expected failures. There's a non-reliable solution that is implemented
in a another commit.

This change also makes it easier to transition the QNX builds to using
fork(), which is supported from QNX Neutrino 6.6 and onwards.

Change-Id: I5cb46abf2ef8783941525d35cc991f00d2bf2d58
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-23 19:13:12 +01:00
Thiago Macieira
9931fa9df4 Fix forkfd on OS X 10.7 and earlier
dtruss logs show that the signal handler does enter and is active, since
it does the first waitid() call, but then returns immediately:

 waitid(0x0, 0x0, 0x7FFF62D7C468)               = 0 0
 sigreturn(0x7FFF62D7C9A0, 0x1E, 0x0)           = 0 Err#-2

Since there was no error return, we conclude that si_pid was zero on
return. Source code for OS X 10.7 confirms that si_pid is set to zero
unconditionally, which is rather stupid:
 http://fxr.watson.org/fxr/source/bsd/kern/kern_exit.c?v=xnu-1699.24.8#L1330

This is fixed for OS X 10.8:
 http://fxr.watson.org/fxr/source/bsd/kern/kern_exit.c?v=xnu-2050.18.24#L1399

Without that information, we have to scan each child anyway, so
just disable the waitid() solution on OS X. This is a "hammer" solution
which will get forkfd working. We can later try and detect at runtime
whether waitid() is working.

Change-Id: Ic5d393bfd36e48a193fcffff13bb584927cdeafe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-23 19:13:07 +01:00
Thiago Macieira
bd1be70e0e Fix compilation of non-waittid forkfd() outside of Linux
POSIX.1 does not guarantee the presence of the si_utime and si_stime
members. So instead of trying to set those members to zero, ask the
compiler to initialize everything for us.

This was found on OS X when HAVE_WAITTID was removed.

forkfd.c:192:11: error: no member named 'si_utime' in '__siginfo'
forkfd.c:193:11: error: no member named 'si_stime' in '__siginfo'

Change-Id: Ic5d393bfd36e48a193fcffff13b90aa6ccf592ae
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-23 19:12:59 +01:00
Thiago Macieira
c8849dd8d5 Use waitid with WNOWAIT in forkfd
The previous implementation required one syscall per child we're waiting
on to see which one exited. That means the algorithm was O(n).

This implementation uses WNOWAIT to find out which child exited and then
goes straight to that one. So it's O(1) on the number of children, but
runs 2 * number_of_children_that_exited + 1 syscalls, assuming there are
no race conditions with other threads. If there are or if a child not
started by forkfd exits, we'll still iterate over each child we're
managing to see which one exited.

It modifies the existing code so that it will do a waitid() with WNOWAIT
to check on the status of the child: if the child has exited, we'll try
to lock the entry so only one thread will do the final wait(). In the
case we read the PID, then the child exited, was reaped by another
thread, the PID got recycled and that child exited again, we'll fail to
lock the ProcessInfo entry so no harm comes. If by an absurd coincidence
this other child was started by forkfd() and its ProcessInfo is exactly
the one we are looking at, then we'll succeed in locking but that's a
benign race: we'll do what the other thread was trying to do and the
other thread will give up.

Future improvements to the algorithm are discussed in the Gerrit change.

Change-Id: Ie74836dbc388cd9b3fa375a41a8d944602a32df1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-23 19:12:53 +01:00
Shawn Rutledge
cec103897f QSystemTrayIcon uses D-Bus org.freedesktop.Notifications on Linux
If StatusNotifier is working, then QSystemTrayIcon::showMessage() will
send notifications using the org.freedesktop.Notifications protocol.
https://developer.gnome.org/notification-spec/

Task-number: QTBUG-4011
Task-number: QTBUG-31762
Change-Id: Ia1925ec3dd81b1b7b8f3b490b6364aaf8f93f395
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-23 05:34:00 +01:00
Mark Brand
e267505d54 update bundled sqlite to 3.8.8.1
The "Fixed CE build of sqlite3" patch is preserved in this change,
which causes sqlite's own localtime implementation to be used for
wince. This is extended by #undef HAVE_LOCALTIME_S to override the
new assumption that localtime_s is available on wince and should be
used. Also, removed HAVE_LOCALTIME_S=0 since this must now be
undefined instead of 0.

Change-Id: I418e138ddc47d1bfbb80de0f4e4205a79c425f10
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2015-01-22 22:43:54 +01:00
Shawn Rutledge
38abd65377 QSystemTrayIcon uses D-Bus StatusNotifier on Linux when possible
Implementing org.kde.StatusNotifier DBus interface
http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/
as well as org.canonical.dbusmenu for the limited purpose of showing
the tray icon's context menu.  If a desktop environment (such as
KDE or Unity) has a StatusNotifierWatcher listening, then tray icon
information is sent to be displayed by the tray implementation
instead of being rendered directly in an XEmbed window.  This is
necessary because some modern tray implementations no longer provide
XEmbed "hosting".

[ChangeLog][QPA][Xcb] QSystemTrayIcon uses StatusNotifier D-Bus
protocol when the desktop environment supports it

Task-number: QTBUG-31762
Done-with: Marco Martin <mart@kde.org>
Change-Id: I3b1f744d621eefc7e9c61d1469460ebfcc77fc54
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2015-01-22 12:50:51 +01:00
Frederik Gladhorn
b6191b16d4 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/global.pri
	src/corelib/global/qcompilerdetection.h
	src/corelib/global/qglobal.h
	src/corelib/tools/qdatetime.cpp
	src/plugins/platforms/xcb/qxcbscreen.h
	src/plugins/platforms/xcb/qxcbwindow.h
	src/widgets/dialogs/qcolordialog.cpp
	src/widgets/dialogs/qcolordialog_p.h
	tools/configure/configureapp.cpp

Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
2015-01-21 11:10:14 +01:00
Konstantin Ritt
64c6bfd1f4 Fix crash with multi threaded QFont/QTextEngine usage
Since we don't configure HB-NG via its configure script, we have to
define all optional switchers we do care about by our own.
Some of these switchers were missing in harfbuzz-ng.pro, causing
HB-NG to be built with no threading support.

Task-number: QTBUG-43850
Change-Id: I0944a68fe0bfae3306a3e6085e25704f0d0d0efc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-20 05:47:32 +01:00
Mark Brand
2f010390ad update bundled sqlite to 3.8.7.4
The "Fixed CE build of sqlite3" patch is preserved in this change.

Change-Id: I5461571e5e0b60678727c96a9faee93f9624588c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2015-01-16 12:14:15 +01:00
Thiago Macieira
3d051d41a3 Fix forkfd build when O_CLOEXEC isn't defined.
O_CLOEXEC was introduced with the 2008 revision of POSIX.1 and it's the
only way of doing child processes safely with fork(2) in multithreaded
applications.

But we need to support pre-2008 systems, so we can't use that constant.
So let's just choose two arbitrary values for both of our constants --
we need to change both because we need to be sure that FFD_CLOEXEC won't
be the same as FFD_NONBLOCK.

Linux will probably implement them to the O_ constants, like epoll,
signalfd and inotify have done.

Change-Id: I20a5aa6e6264e7a219e19759eeb8747e01df05ff
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-01-16 03:12:09 +01:00
Ashish Kulkarni
da6a706eb3 fix error when cross-compiling with --system-zlib
This is broken since 1f461ac45b, where
Z_PREFIX was defined to namespace the bundled zlib symbols. The
bundled zlib is used by bootstrap.pro when cross-compiling which uses
the namespaced symbols. This breaks linking of rcc when --system-zlib
is used, as it will try to link to compress2 instead of z_compress2.

To fix this, the aliases are pulled in via zconf.h and the bundled
zlib is prepended to the INCLUDEPATH (i.e. before the system zlib).

Change-Id: Iec76cbdead40f888e2ac6a887ec8f3b7bc7db501
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-08 09:31:49 +01:00
Simon Hausmann
e281537f20 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/platformsupport/platformcompositor/qopenglcompositor.cpp
	src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I5422868500be695584a496dbbbc719d146bc572d
2014-12-18 12:12:58 +01:00
Maurice Kalinowski
3466950837 [ANGLE] Fix compilation with MSVC2013 Update4
Update4 provides a native Sleep implementation. Hence the wrapper
needs to be disabled.

Change-Id: I162da45934b02c262ac09b557c66c3363c276e54
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-15 09:19:48 +01:00
Kai Koehne
87e9e76d97 ANGLE: Do not use std::strlen
This is a cherry-pick from upstream change

e7cfb3dd2029c1bfe5c175ad994c03cac221ad4d

Change-Id: Iefe01545319f9ad268c0c6bf8e8b2181e09d8a84
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-11 14:39:05 +01:00
Simon Hausmann
015002fec9 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	doc/global/template/style/online.css
	mkspecs/android-g++/qmake.conf

Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
2014-12-10 07:58:06 +01:00
Kai Koehne
fec53bf5ed Remove support for NTLMv1
NTLVMv1 is of historic interest only, since even Windows NT 4.0 already
supported NTLMv2. NTLVMv1 is also considered to be insecure.

Removing the code (that was not compiled in by default anyway) allows us
also to get rid of 3rdparty/des.

Change-Id: I5a9778f4250e1974c270ee6be539332318c09443
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-12-08 09:56:04 +01:00
Andrew Knight
c609a83426 ANGLE: Fix handling of shader source with fixed length
This is a cherry-pick of upstream f60fab6d154f4c9bf599e92976cd8cee7f8633e0
(See https://chromium-review.googlesource.com/231612)

Task-number: QTBUG-42882
Change-Id: I7b4bdc4b68a1b93ff514f09ce35dbf4e9360af9b
Reviewed-by: Marko Kangas <marko.kangas@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-03 13:45:00 +01:00
Frederik Gladhorn
34aba4724f Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/io/qiodevice.cpp
	src/plugins/bearer/linux_common/qofonoservice_linux.cpp
	src/plugins/bearer/linux_common/qofonoservice_linux_p.h
	src/plugins/platforms/android/qandroidplatformtheme.cpp
	src/tools/bootstrap/bootstrap.pro
	src/widgets/styles/qmacstyle_mac.mm

Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
2014-11-24 13:39:13 +01:00
Kai Koehne
155306ffee ANGLE: Fix releasing textures after we kill D3D11
Cherry-pick upstream commit cc4cd2925b9a4f1142a86df131345a861c9d7cd9
to fix crashes on exit.

Task-number: QTBUG-42772
Change-Id: Ib74be17f2b5fdd58f9e0568e1da74ba19e943019
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-24 13:04:38 +01:00
Giuseppe D'Angelo
800f832201 Apply r1513 to our PCRE bundled copy
Fixes CVE-2014-8964.

Upstream diff: http://www.exim.org/viewvc/pcre?view=revision&revision=1513

Change-Id: I59dc1f4c290e29ab5f22ed68eaeba702f4232e0e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-11-21 16:48:32 +01:00
Kai Koehne
40a4e446f3 ANGLE: Fix compilation with D3D9
Fixes a regression introduced in c6df5fe3ed that
broke compilation with d3d9 (namely, -target xp).

Task-number: QTBUG-42714
Change-Id: I1a5e9682d5463bfa082a5d0c062399a131a7cf52
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-17 20:03:39 +01:00
Andrew Knight
c6df5fe3ed ANGLE: Upgrade to version 1.2.30d6c255d238
The following patches have been changed:

0001-Fix-compilation-for-MSVC-2008-and-std-tuple.patch
  Removed because it is no longer possible to build ANGLE with MSVC2008

0002-Fix-compilation-of-ANGLE-with-mingw-tdm64-gcc-4.8.1.patch
  Removed because the minimum version of MinGW moved to 4.8.2

0005-Fix-build-when-SSE2-is-not-available.patch
  Removed because it was fixed upstream

0006-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch
  Removed because older versions of MinGW are not supported

0007-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch
  Removed because it was fixed upstream

Task-number: QTBUG-41903
Change-Id: I976d30802f7f6fee725cf9a9f1325d5e82609835
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-11-14 19:01:38 +01:00
Thiago Macieira
c36b559196 Import forkfd into qtbase
forkfd is a tool that I designed to facilitate spawning
sub-processes. It's implemented in C, not C++, so that it could be
used by other libraries as well.

To work in all platforms Qt supports and with all compilers Qt is
known to work with, we'll need to replace the generic GCC atomics that
are provided here.

Change-Id: I0a6f86cc220a7c52c8d4284bb7140c56d5cf836a
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-11-04 19:19:41 +01:00
Thiago Macieira
9150e04b17 Import the FreeBSD strtoXX functions
Obtained from:
http://freebsd.googlecode.com/git-history/4658f9721d395818ba760a79b1cb0b54957d4576/lib/libc/stdlib/strtoull.c
http://freebsd.googlecode.com/git-history/4658f9721d395818ba760a79b1cb0b54957d4576/lib/libc/stdlib/strtoll.c

Changes:
 - remove the #includes and the SCCSID
 - rename from strtoxx_l to qt_strtoxx (merging the two functions)
 - remove __restrict
 - remove the locale_t parameter and use ascii_isspace instead of isspace_l

Change-Id: I1e522e12da90eb35eefcf4025102dc11b22c60a5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-10-30 22:49:51 +01:00
Bjoern Breitmeyer
7ebc151bcf Fix X86 Wince builds.
Windows CE does not have all _BitScanReverse
intrinsics, so disable those for Q_OS_WINCE.

Change-Id: I34a3c02c6ffdfff2a209b2c9c1b80bef4566ee39
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-29 09:26:37 +01:00
Jocelyn Turcotte
0db6230cf6 ANGLE: Delete the ShaderImpl on gl::Shader object destruction.
Cherry-picked from https://chromium-review.googlesource.com/224106

Task-number: QTBUG-41588
Change-Id: I27d75da76cec0b3341f549a3e6891c1c6d321358
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-10-27 15:20:44 +01:00
Frederik Gladhorn
881ceeff42 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
2014-10-09 17:56:52 +02:00
Andrew Knight
311157c3c6 ANGLE: Upgrade to 2.1~abce76206141
Upgrade to address issues discovered since the last upgrade.

Patch notes:
0000-General-fixes-for-ANGLE-2.1.patch
  added removal of the unused third-party tracing functions

0003-Fix-compilation-with-MinGW-gcc-64-bit.patch
  removed as it is no longer needed

0011-ANGLE-Fix-compilation-error-on-MinGW-caused-by-trace.patch
  removed as it is no longer needed

0016-ANGLE-Fix-compilation-with-MinGW-D3D11.patch
  now supports MinGW 64-bit

[ChangeLog][Third-party libraries] ANGLE updated to 2.1~f8602ad91e4f

Task-number: QTBUG-40649
Task-number: QTBUG-40658
Task-number: QTBUG-41031
Task-number: QTBUG-41081
Task-number: QTBUG-41308
Task-number: QTBUG-41563
Change-Id: I9f776c8d5cb94ddb12d608a8d5630bfc54437bea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-09-29 16:09:29 +02:00
Oswald Buddenhagen
189dc655bb Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/tools/qbytearray.cpp
	src/gui/image/qimage.cpp
	src/gui/image/qppmhandler.cpp
	src/gui/kernel/qguiapplication.cpp
	src/gui/painting/qpaintengine_raster.cpp

Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
2014-09-29 14:08:49 +02:00
Mark Brand
095f760463 update bundled sqlite to 3.8.6.0
The "Fixed CE build of sqlite3" patch is *updated* in this change.
Since sqlite 3.8.6, SQLITE_OS_WINCE isn't defined early enough so we
have to check _WIN32_WCE directly.
(ea70ec8711)

Change-Id: I63ee5163fb915274c9780c169e1f8673755bba47
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-09-26 07:22:52 +02:00
Matti Paaso
974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
Oswald Buddenhagen
d572ab1bb4 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Id4997327cc01bd4bb397a463bdffbd15e80398ef
2014-09-10 11:42:50 +02:00
Andrew Knight
8f88cc2c0f ANGLE: Fix compilation with MinGW + D3D11
Provide workarounds for things GCC doesn't like, and define a number
of macros not found in the MinGW headers.

Change-Id: I254c208209c0071fae5efb6727f2b3cfd5542da6
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-09-04 15:09:34 +02:00
Andrew Knight
ffceaf6213 ANGLE: Fix -angle-d3d11 on MSVC2010
Allow the D3D11 renderer to build with the June 2010 DirectX SDK.

Change-Id: I2343acedab16845d6a0d4a53cf3145f583efc4a7
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-01 14:28:07 +02:00
Frederik Gladhorn
2dfc786c26 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I2811ff0b9d4097f0be60ff16e9664a5060cff23e
2014-09-01 11:35:53 +02:00
Michael Brüning
6b52e6ead9 Let ANGLE use multithreaded devices if necessary.
This is needed to prevent lock-ups in application that use ANGLE from
multiple threads, as e.g. QtWebEngine based applications do.

The environment variable QT_D3DCREATE_MULTITHREADED is used to
communicate this from the QtWebEngine module.

Change-Id: Ibd5a5c75eb68af567d420d9a35efb3490c93b27c
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
2014-08-28 11:09:55 +02:00
Eskil Abrahamsen Blomfeldt
c26d5cf6ef Harfbuzz-NG: Compile on WinRT
There is no environment (like WinCE) and the basic version
of InitializeCriticalSection is unsupported.

Change-Id: I7c5038115f0dbfdc616bce89a9be166b5f2a1dcc
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-08-19 09:30:12 +02:00
Giuseppe D'Angelo
75b62f3a17 Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4 2014-08-19 00:42:00 +02:00
Frederik Gladhorn
f7af3e6171 Update 3rdparty/atspi2 constants
Change-Id: I2c3db774ae706936be59afefe3577ba685b4b251
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-18 15:29:24 +02:00
Frederik Gladhorn
d5bf787fc0 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Ia03a010d1fbfc89c04144c1c106336f0e1c45ec1
2014-08-18 15:25:11 +02:00
Andreas Holzammer
2635b94607 Fix compile for harfbuzz-ng for wince
CRITICAL_SECTION has different members, so adjust that

strdup is only there as _strdup so use that

There is no MemoryBarrier()

There is no environment so dont use getenv

There is no locale so dont use it

There is no errno so just fake it

Change-Id: Ia7197c4f0df50513078c906ed503aec33ee42b82
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-08-14 02:08:57 +02:00
Frederik Gladhorn
b2a7d865b2 Update IAccessible2 to 1.3.0
In addition change to the one in all file instead of individual
interfaces. Future updates only have to copy the new version of
ia2_api_all.idl and run nmake.

Change-Id: Ie7a1e65c8dd0c73809ac97aae2d586f425337f18
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-08-13 16:51:27 +02:00
Frederik Gladhorn
ca524e5b70 Merge remote-tracking branch 'origin/5.3' into 5.4
Manually included changes from
3a347a4e70
in src/opengl/qgl.cpp.

Conflicts:
	src/opengl/qgl_qpa.cpp
	src/plugins/platforms/android/androidjnimain.cpp

Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
2014-08-12 13:05:02 +02:00
Giuseppe D'Angelo
3924805d59 Apply upstream patch r1498 to our PCRE copy
It's actually a subset of the patch (tests, docs, other whitespace
fixes were dropped).

Fixes a stack overflow issue on pathological regexps reported upstream:
http://bugs.exim.org/show_bug.cgi?id=1515

Change-Id: Ie36536e820d79ff842d90efa6bec22b701423793
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-08-10 14:18:28 +02:00
Giuseppe D'Angelo
00ca499787 Apply upstream patch r1495 to our PCRE copy
It's actually a subset of the patch (tests, docs, other whitespace
fixes were dropped).

Fixes a stack overflow issue on pathological regexps reported upstream:
http://bugs.exim.org/show_bug.cgi?id=1503

Change-Id: If080e4c1e7a86c86459bbbc631c8d8bb3cd7b99f
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-08-10 14:18:26 +02:00
Andrew Knight
093e179b71 ANGLE: Add support for querying platform device
The EGL_EXT_device_base extension allows for querying the platform
device of the graphics hardware via eglQueryDisplayAttribEXT().
As that extension is not supported by ANGLE, this patch adds similar
functionality to the existing eglQuerySurfacePointerANGLE API. When
EGL_DEVICE_EXT is passed as the queried attribute, the underlying
D3D/DXGI device pointer is passed back to the caller via the value
argument.

The D3D device is needed for video support in QtMultimedia as well as
the IDXGIDevice3::Trim() calls required by the Windows Store.

Change-Id: Ibdf228d81d6604e56db9dd8597d7cd2983ebc428
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-05 16:43:34 +02:00
Andrew Knight
a6a12d8c0f ANGLE: upgrade to 2.1~07d49ef5350a
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>
2014-08-05 16:43:22 +02:00
Maurice Kalinowski
3ce554bef0 Add sqlite to Windows Phone default build
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>
2014-08-02 20:10:33 +02:00
Maurice Kalinowski
4354165e92 update bundled sqlite to 3.8.5.0
The "Fixed CE build of sqlite3" patch is preserved in this change.
(ea70ec8711)

Change-Id: I8ae83bdb0006ee12e371a2a6f396b4a7b798a5e3
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-08-02 20:10:22 +02:00
BogDan Vatra
c0c80f14af Android: Fix exceptions in ExtractStyle.java on Android L
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>
2014-08-01 22:12:41 +02:00
Konstantin Ritt
461c2b2004 Update bundled HarfBuzz-NG copy to 0.9.32
- Unicode 7.0 support
- New shapers
- Multiple improvements in Arabic, Indic, and Hebrew shapers
- Build fixes, optimizations, etc.

Change-Id: I0ba14b619c3e6fb35cddd9d65e694af41197d6ae
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-20 01:12:24 +02:00
Frederik Gladhorn
a09a8d509a Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/network/socket/qnativesocketengine_winrt.cpp
	src/plugins/platforms/android/androidjniaccessibility.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp

Manually adjusted:
	mkspecs/qnx-armle-v7-qcc/qplatformdefs.h
	to include 9ce697f2d5

Thanks goes to Sergio for the qnx mkspecs adjustments.

Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
2014-07-01 16:25:19 +02:00
Thiago Macieira
4cb03924c1 Fix ANGLE build with Microsoft Visual Studio "14" CTP
This version has a few new C99 support added, including snprintf.

Change-Id: I5776456fd94254a64f08791f59bc775cb24c9b7f
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-06-20 21:54:54 +02:00
Gabriel de Dietrich
abcea1c5f0 harfbuzz-ng: Pre-allocate enough space for CoreText buffer
This fixes an assert in OS X 10.10 Yosemite, where the pre-
allocated buffer would be too small to hold 3 successive calls
to ALLOCATE_ARRAY.

Task-number: QTBUG-39504
Change-Id: I5a0ae36170636eb97ab21c5903b96674e2a99547
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-06-18 13:39:37 +02:00
J-P Nurmi
0fcce50af0 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/features/qt.prf
	src/plugins/platforms/xcb/qxcbwindow.h
	src/tools/qdoc/qdocindexfiles.cpp
	src/widgets/kernel/qwidget_qpa.cpp

Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
2014-06-05 22:26:44 +02:00
BogDan Vatra
09ed9e3eae Android: Extract data for native style on startup
When Ministro is not in use, we need to extract style
information on startup in order for the native Android style
to work.

The code to extract data from the device is contributed from
the Ministro project.

[ChangeLog][Android] Enable using native style also when
Ministro deployment mechanism is not in use.

Task-number: QTBUG-36019
Change-Id: I2afef5219b4e8fbb2f3e387cbc5e570da1f41011
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-22 18:20:02 +02:00
Andrew Knight
c32295eb80 ANGLE WinRT: Create swap chain using physical resolution
ANGLE has been creating the framebuffer in logical pixels instead of
physical pixels, which leads to unexpected results and side effects like
smudged anti-aliased text. This fixes the issue by multiplying the DIP
resolution by the scale factor, making the framebuffer match the physical
pixel resolution of the screen.

Change-Id: I3594995ce8e18a31b47e27165f72bc6a391b97b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Simon Hausmann
508b95899d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
2014-05-22 07:46:17 +02:00