Commit Graph

18802 Commits

Author SHA1 Message Date
Frederik Gladhorn
b5552bab40 Merge remote-tracking branch 'origin/stable' into dev
Manually changed enum to LibGL in
    src/plugins/platforms/xcb/qglxintegration.cpp

Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
2014-05-13 14:21:22 +02:00
Frederik Gladhorn
12ba0d2cb3 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-05-13 14:16:46 +02:00
Andy Shaw
79d35b331a Fix horizontal scrolling on Windows when ALT + mouse wheel is used
Task-number: QTBUG-30833
Change-Id: I366d2979060ba67f745f7c783dee8d7669ebdf57
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-13 14:12:02 +02:00
Thiago Macieira
9a747cb5b7 Fix an off-by-4 error in qHash with CRC32
I tested only the 64-bit build. The 32-bit build was reading garbage
past the end of the strings in some cases.

Change-Id: If6d239754e16a17cc4e8bb71e2b7778429dfa7ba
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-13 12:47:30 +02:00
Allan Sandfeld Jensen
a8877f529d Scrolling devices should not override touch or tablet devices
XISelectEvents override any earlier set event mask for the same device
ids. This may cause touch devices to stop reporting touch events if they
export scroll buttons or axis.

The patch checks for each scrolling device if they are also a touch
devices and includes the necessary bitmask if they are, and skips
any devices also recognized as tablet devices as they already capture
all relevant events.

In addition tablet event handling will no longer block handling of wheel
button events for scroll devices with the same device id.

Task-number: QTBUG-38935
Change-Id: Ifd4657beb0a0cebffe89d3470ef2bd605eb3552e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-13 12:47:16 +02:00
Allan Sandfeld Jensen
7cc175c9d6 Assume unlabelled mouse buttons are default buttons
This patch fixes legacy wheel scrolling for XInput2 drivers that fail to
label mouse buttons correctly.

Task-number: QTBUG-38937
Change-Id: I659890517e749dc0039489e0b7a8c38be1065d33
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-05-13 12:47:12 +02:00
Thiago Macieira
b23e72a772 Fix stateful handling of invalid UTF-8 straddling buffer borders
When a UTF-8 sequences is too short, QUtf8Functions::fromUtf8 returns
EndOfString. If the decoder is stateful, we must save the state and then
restart it when more data is supplied.

The new stateful decoder (8dd47e34b9)
mishandled the Error case by advancing the src pointer by a negative
number, thus causing a buffer overflow (the issue of the task).

And it also did not handle the len == 0 case properly, though neither
did the older decoder.

Task-number: QTBUG-38939
Change-Id: Ie03d7c55a04e51ee838ccdb3a01e5b989d8e67aa
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-13 12:37:19 +02:00
Tor Arne Vestbø
6e5410e5b5 qpa: merge qrawfont_qpa.cpp
Change-Id: I8552199c8b3e365adefbc2bb096c8153e222cec8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-13 12:18:26 +02:00
Tor Arne Vestbø
6e90a48920 qpa: Merge qfont_qpa.cpp
Change-Id: I5c3564aa9c10833957de14a4c28dbd2fb7eb11e4
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-13 12:18:22 +02:00
Tor Arne Vestbø
98d33d3ce9 qpa: Merge qkeymapper.cpp
Change-Id: I9730247371ccf0e83579b71e13a9f3d8adcf0fff
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-13 12:18:18 +02:00
Tor Arne Vestbø
ef7e9b5cf7 qpa: Merge qcursor.cpp
Change-Id: I1a79a47f625515062f018e0fbad9b1247d2fe346
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-13 12:18:13 +02:00
Tor Arne Vestbø
4c3666c0f2 qpa: Merge QClipboard
Change-Id: Ibc2e2e1097ff6b3503cac24edc894ae9ded20976
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-13 12:18:08 +02:00
Bernd Weimer
8094bb537a QNX: Silence startup warnings
Missing PPS objects for navigator, virtual keyboard and buttons can be
expected on QNX and should not lead to warnings.
Virtual keyboard info message does not contain locale object any more.

Change-Id: I447d439ffbf4ea6e03f6a8bca4422a9a121d85f4
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-13 08:42:46 +02:00
Nedim Hadzic
d075df993c QPpsObject compile added for QNX platform
QPpsObject was only compiled for BlackBerry and not for QNX. Now, QNX
platform is included together with lpps lib.

Change-Id: Ib521664b430b202c0e67987d0bfda8373d2be70e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-13 08:42:30 +02:00
Gunnar Sletta
c99b58a3dc Make handling of QEvent::Close consistent with QWindow::close()
The event handler would ignore the close if the window was hidden
while the close() function would not. In addition, the close()
function would force removal of focus etc while the event handler
did not. Make it consistent by calling close() from the event
handler.

Change-Id: Ia05b08299f218620fb40a8cad5d3771158c4701e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-13 07:58:46 +02:00
Oswald Buddenhagen
f2619db300 fix doc references to webkit
we can't derive the doc index paths from QMAKEMODULES, as the mkspecs dir
may not live at the repo's top level.
instead, explicitly announce the repo's top level build dirs in QTREPOS,
and use that accordingly.

Task-number: QTBUG-38862
Change-Id: I643ad2bf63c8fca0ffc44ce3457dbe8a16dcab07
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-13 07:12:43 +02:00
Richard J. Moore
650e214d3d Fix the documentation on how to use -openssl-linked.
You set the environment /before/ you run configure.

Change-Id: I6954656f892214f41b5f2ec4e3f4926eb5a9e247
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-13 07:12:37 +02:00
Jake Petroules
32742959a2 Use the new unified toolbar implementation in examples on OS X.
Change-Id: Ica3476d16a4baab1f75e253eb406505f88018d47
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-12 21:40:43 +02:00
Eskil Abrahamsen Blomfeldt
c1af2ced2d Mac OS X: Fix crash in Harfbuzz-NG
CoreText does not support multithreading, so we would get a
crash in tst_qglthreads. So we disable multithreading for
HB-NG.

Task-number: QTBUG-38762
Change-Id: I0473037c16017ff77cbba9b11fc0b396775ef789
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-12 19:24:51 +02:00
Bernd Weimer
da6dc40f75 QNX: Don't build QNX-only parts on BlackBerry
Only really required source files will be included when building for
BlackBerry.

Change-Id: Ic66b09221c48672358bba7601bc18663ad7fa07a
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-12 18:15:20 +02:00
Joerg Bornemann
41ef1095b4 remove automagic command path fixing misfeature
Qmake tried to extract the actual executable part of an
extra compiler's commands and depend_command value and
then "fix" it by replacing the directory separators in
it with their local versions and calling QDir::cleanPath
on it.

This misfeature was implemented incompletely and led to
unexpected results (see the numerous attempts to fix
QTBUG-16372).

The user is responsible for passing a correct command by
calling the shell_quote or shell_escape functions if
necessary.

Change-Id: Ic4bfe9eeb697775cd99c865e7a9d335e63605dea
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-12 18:14:13 +02:00
Thiago Macieira
547627b212 Add the static/shared split to QLibraryInfo::build()
Change-Id: I6682dcb4fdd940e4bd75c4afe4a2a4097f94960d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-12 18:06:19 +02:00
Thiago Macieira
00e893eef7 Remove the use of __DATE__ from QtCore
Using __DATE__ is a bad idea since it makes builds that are not bitwise
identical for the same sources. The GCC 4.9 warning option -Wdate-time
can warn about this.

Change-Id: I06af89fb5d0811de6bb66fa7b5d30dbe67983df0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-12 18:06:14 +02:00
Thiago Macieira
b323473114 Update QLibraryInfo::build() to use the arch-detection from QSysInfo
Change-Id: Ib6ece8d1a8de28222e719deb4e14c5191b46b19f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-12 18:05:52 +02:00
hjk
82a6d37b99 Wiggly example: Modernize/compactify code
Change-Id: Iacfb308baac8eea60d56bf559113b36acb79d82a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 18:00:25 +02:00
Andreas Holzammer
5883b6a22c [QNX]Clear transparent regions
If a region gets painted the buffer beneath needs
to be cleared, as it could be that there are
leftovers from the last blit.

Change-Id: I51f19aa010015059e9a6d9d5e5e4f25fb9532d4e
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-05-12 17:30:57 +02:00
Tor Arne Vestbø
7df4c545ad qpa: Rename qplatformsystemtrayicon_qpa.cpp
Change-Id: I1b8db310d2f32102fbc834a898df6081780c4f6e
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-12 17:26:19 +02:00
Frederik Gladhorn
73bc91c9df Merge remote-tracking branch 'origin/release' into stable
Change-Id: I9300572e2b74f0564b2589cbd0fbdf24850f68df
2014-05-12 14:01:46 +02:00
Tor Arne Vestbø
5a060a5ad3 CoreText: Prevent creation of CGContext for glyphs with empty bounding box
If the alphaMapBoundingBox of a glyph is empty we don't want to create
a CGBitmapContext on it, as that will fail, and any further operations
on the invalid context will result in possibly fatal errors from CG.

This issue can be observed when drawing some glyphs of the Apple Color
Emoji font.

Change-Id: Ia45ba858b5fb6afa91e6d686a9c55e350d4095f3
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-12 13:44:59 +02:00
Tor Arne Vestbø
a669564597 Allow QFont lookups using localized family names by adding family alias
After fbaa6d3ca6 QFont family names are non-localized on iOS/OS X,
which means applications that try to initialize QFont with a localized
family name (explicitly, or from user input), will fail, and get the
fallback font instead.

We now add font family aliases for the localized family names, so that
font matching will work even for localized family names. Note that
QFontDatabase::families() still returns a non-localized list.

Task-number: QTBUG-38628
Change-Id: Id351befa69916ce162c939733bbfcc774f075120
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-12 13:44:51 +02:00
Louai Al-Khanji
6c42ddf31f Direct2D QPA: Choose linear interpolation for smooth pixmap transform
Let's do the same thing the raster engine does. Much faster too.

Change-Id: I88ea9d2c2ac78feee1193b75a9e96c62a7bd5979
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 13:44:42 +02:00
Louai Al-Khanji
17dda3917d Direct2D QPA: Never queue more than one frame
Microsoft recommends setting the maximum frame latency to 1:

http://blogs.windows.com/windows/b/appbuilder/archive/2013/12/18/optimizing-directx-apps-for-low-latency-input-and-longer-battery-life.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/hh780339(v=vs.85).aspx

Apparently it slightly reduces power consumption and it also slightly
increases performance. So let's set it.

Change-Id: I8a540f1e54e83d6dc13f25564e10b751e202ce66
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 13:44:38 +02:00
Laszlo Agocs
a57b8409a2 Fix up examples for dynamic opengl builds
Change-Id: Id311b00fe7783a3175dc1c4a38f627c78c470761
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 10:34:34 +02:00
Andrey Volykhin
793b7e8008 QTextLayout: Fix cursor position calculation for BiDi text
Due excess 'break' in loop, function xToCursor() with "CursorOnCharacter" option
for BiDI text returns wrong cursor position (start glyph position) all time.

Task-number: QTBUG-38846
Change-Id: Iba6671905e0785da6f343db19d6c3bb3e2cf5e8a
Reviewed-by: Andrey Volykhin <andrey.volykhin@lge.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-12 10:26:14 +02:00
Giuseppe D'Angelo
fd80cad07e QRegularExpression: allow users to skip the UTF-16 check of the subject string
PCRE does not handle invalid UTF-16 sequences. For this reason we always
check a subject string's UTF-16 validity before attempting any match
over it (actually we let PCRE do that).

The only exception so far has been global matching -- once the first
match was done, we skipped re-doing the check over and over again the
same string (PCRE actually checks the /entire/ string, not only the part
it uses for matching).

Still, users had no way to skip this check if they were 100% sure the
string was a valid UTF-16 string. This commit introduces a way for them
to skip the check.

Change-Id: Iea352c06f531aa2153863b3a1681acaab7ac375c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-12 09:47:19 +02:00
Eskil Abrahamsen Blomfeldt
3cf9621fa0 Respect fixed pitch request when font family is not available
In particular, if you have a <pre> tag in your HTML, this will
become a QFont with family "Courier New" and fixedPitch==true.
On Android, there's no "Courier New" font, and since the
style hint is AnyStyle, we will just return Roboto, which is
a proportional font.

Note that this exactly matches the condition when fetching the
fallback families for the font in the loadEngine() function,
which was introduced by 06568ff89c48dee8aab278b8b0538c331aa84595
in Qt 4.

[ChangeLog][Text] Respect QFont::fixedPitch() for fallbacks
when font family cannot be matched.

Task-number: QTBUG-36083
Change-Id: I64787c547dc492b9dd3c49f1edf0d9626d198260
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-12 09:31:46 +02:00
Thiago Macieira
9bde391da4 Update changelog for Qt 5.3.0
Change-Id: I575938a761f1328c22777a7c5f00716d2856db58
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-12 06:39:55 +02:00
Takumi Asaki
4532669285 EvdevTouch: Added "invertx" and "inverty" parameters
In some cases the event axises reported by evdev are inverted.
This commit adds plugin parameters invertx and inverty to
invert X- and Y-axis.

Change-Id: Idaa63affd8321aa47974788c32d978fc21eb3dec
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-12 06:34:32 +02:00
Richard J. Moore
50e8e95385 Add support for loading PKCS#12 bundles.
Add support for loading certificates and keys from PKCS#12 bundles
(also known as pfx files).

Task-number: QTBUG-1565

[ChangeLog][QtNetwork][QSslSocket] Support for loading PKCS#12
bundles was added. These are often used to transport keys and
certificates conveniently, particularly when making use of
client certificates.

Change-Id: Idaeb2cb4dac4b19881a5c99c7c0a7eea00c2b207
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
2014-05-11 23:50:03 +02:00
Peter Hartmann
3e9904b98b QSslCertificate::isSelfSigned(): add since tag in documentation
Change-Id: I6a4e96fb1a94a1a55eabe6b3e0df09b5d27fd8a2
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-05-11 13:51:03 +02:00
Daniel Molkentin
0065b55da4 Ignore expired certificate during certificate validation
OpenSSL has a bug when validating a chain with two certificates.
If a certificate exists twice (which is a valid use case for renewed
CAs), and the first one it hits is expired (which depends on the order
on data structure internal to OpenSSL), it will fail to validate the
chain.

This is only a bandaid fix, which trades improved chain validation
for error reporting accuracy. However given that reissuing of CA certs
is a real problem that is only getting worse, this fix is needed.

See also: https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html#WARNINGS

[ChangeLog][QtNetwork][QSslSocket] Added a workaround to an OpenSSL problem
that may cause errors when the trust store contains two certificates of the
issuing CA, one of which is expired.

Task-number: QTBUG-38896
Change-Id: I8f17972ac94555648098624e470fff0eff2e7940
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-11 11:34:21 +02:00
Thiago Macieira
0a0cc6afc8 Doc: change the name of the QTemporaryDir parameter name
Make it very clear that this is a path, so it's relative to the working
dir, not relative to tempPath().

Task-number: QTBUG-38266
Change-Id: Ib7ca8df76b5a03c1631fe00d6b329d86538d4b5a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-11 05:13:58 +02:00
Thiago Macieira
f2a40fa071 Don't assume QLocale::codecForLocale always returns non-null
It may return null during program exit, due to QCoreGlobalData global
static already having been destroyed. If that's the case, QTextStream
needs to fall back to Latin 1, like QString::toLocal8Bit and
fromLocal8Bit already do.

Task-number: QTBUG-38316
Change-Id: I5949c8dec15b60f4a13b5d9307ed6abfc799fe20
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-05-11 05:13:49 +02:00
Martin Smith
47b898cdaf qdoc: Now lists variable in namespaces
qdoc never did list variables declared in a namespace. It was
probably an oversight, because there are currently no uses of
the \variable command in namespaces. But recently a developer
tried to use \variable to document a namespace variable, and
it didn't work. This update corrects that problem.

Task-number: QTBUG-38734
Change-Id: I47b6234f2bafbb73dfb755a2ad82c9596a4489b1
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-10 10:30:39 +02:00
Sean Harmer
ec81021664 Enable support for OpenGL 4 on OS X 10.9
Change-Id: Ifc3aeea8bf4bada821d09cc329748cad16923d6a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-10 08:59:45 +02:00
Robin Burchell
d11530c2a1 Change debug output to use stream version of debug.
df757e30f8 may have fixed this for one platform,
but different platforms appear to have different ideas on what constitutes a FD.

Just use the stream operator to avoid having to face this nightmare all the
time.

Change-Id: I298c5a4b31e8a4af6b613d039cb9aee6e8263b5a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-05-10 03:03:01 +02:00
Thiago Macieira
df70d5ad80 Limit the QString pretty outputs to 256 characters
Change-Id: I88e71e517827af7d82e3a47d88d40787051ed827
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-05-09 23:57:33 +02:00
Thiago Macieira
918f20ee47 Document the X11 DISPLAY variable in the -display option docs
Change-Id: I20412616c91d187e2befc39134a480369347b8cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-05-09 23:55:47 +02:00
Thiago Macieira
7a89ee08ce Doc: fix -qwindowgeometry and -qwindowtitle option docs
The former was documented twice and the latter was missing the qdoc
formatting.

Change-Id: Id8dfb21a0c2fd26134b5738448971fe2627a12d6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-05-09 23:55:44 +02:00
Thiago Macieira
cd9c59b5d6 Document that the -reverse option is only for debugging and its default
You should never force that option. Just let Qt automatically detect
from the environment.

Change-Id: I43ae4951969d2067cc111eff6302921a0af82658
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-05-09 23:55:40 +02:00