Commit Graph

24102 Commits

Author SHA1 Message Date
Konstantin Ritt
735cd0ccf3 [QFontDatabase] Defer the fallback families list initialization
Use the same trick the WebKit related path has used for years:
if there is no explicit list that takes a precedence over the
default one (i.e. QFont("Arial,SimHei")), then defer the fallback
families list initialization until it gets requested.

Change-Id: If5a74294bdebb24865c619bc0d7328b3e706de76
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-07-31 09:49:21 +00:00
Jeremy Lainé
76ce564674 ssl: add support for EC keys to non-OpenSSL backends
Adds basic support for QSslKey reading / writing Elliptic Curve keys on
backends other than OpenSSL (i.e. WinRT / SecureTransport for now).

Change-Id: I67012dbe6b844a3ed5b22b63e0cdbacf0497a74a
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-07-31 09:08:47 +00:00
Thiago Macieira
0aedca2f97 Revert "Fix performance of recursive read-write locks"
This reverts commit 666486b3ef, which
removed the QHash that protected against reader recursion
deadlocks. Without this hash, a reader will block on
d->readerWait.wait() until the writer finishes its task. However, the
writer never starts because there's a reader that hasn't released the
lock. That's a deadlock.

Change-Id: I792373bb361db35eb9e5504229c099008821a665
Task-number: QTBUG-47530
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-31 07:38:17 +00:00
Topi Reinio
590d305f99 qdoc: Fix incorrect keyword details written to .qhp for QML properties
QDoc tried to refer to an non-existing node (a parent of a parent) of a
QML property when writing the unique ID of a QML property keyword.

Change-Id: I90ab92b6ac95cfa688ca79a2c4d6c72f0e30d018
Task-number: QTCREATORBUG-3708
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-07-31 07:28:50 +00:00
Topi Reinio
7a1045b647 qdoc: Fix string used in compatibility members page
Add a missing space in the comment generated at the top of the
compatibility members page.

Change-Id: I21e010f9fca41346bb50c4b400325b18ff672738
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-07-31 07:28:43 +00:00
Topi Reinio
f80143a69a Doc: Add a \target for license information within QImage documentation
This allows us to link to it from the Qt licensing information page.
Also, replace the \legalese command with \badcode in order to
keep the license text formatting intact.

Task-number: QTBUG-46478
Change-Id: I1b5100ca0373a533bd56852ab2a8f18e72404334
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
2015-07-31 07:28:37 +00:00
Topi Reinio
8f3e7e3b47 qdoc: Add images used in examples into .qhp
Images used as resources in examples were missing from the generated
.qch files.

Change-Id: I7cdfc65b646a418e3de0b22d9a075e9a413aca29
Task-number: QTBUG-46635
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-07-31 07:28:25 +00:00
André Klitzing
0d3c8feeeb Fix SNI for TlsV1_0OrLater, TlsV1_1OrLater and TlsV1_2OrLater
Since SslV3, SslV2 and UnknownProtocol do not support it we can
invert the IF clause here.

Change-Id: I42e942337d01f3a8c97885b268bffa568e40d335
Task-number: QTBUG-47528
Reviewed-by: Mikkel Krautz <mikkel@krautz.dk>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-07-30 19:50:59 +00:00
Jeremy Lainé
d113073203 ssl: add test certificates with DSA and EC keys
The QSslCertificate tests only covered certificates with RSA keys, this
extends the test coverage to DSA and EC keys.

Change-Id: Ibee26f449cf6c1d97cbac6b511972eb44d6f0bd2
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-07-30 11:31:40 +00:00
Martin Koller
0617834e0c xcb: Make it compile on systems with xinput2 < 2.2
Change-Id: I7e98d3540cd7717ac8af8d1993618d18320f811a
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-07-30 07:50:07 +00:00
BogDan Vatra
d800047dc5 QLineEdit should inherit the input methods from QComboBox.
Task-number: QTBUG-39088
Change-Id: I4dfe9a052c20a4cb0a9d6b0d3337cb5095a3694f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-30 07:06:27 +00:00
BogDan Vatra
17caa94190 Android: Start the application when we know the screen geometry.
Until now we'se set the screenGemetry to 0,0 until the layout is
created, but some controls needs it before that.

Task-number: QTBUG-44271
Change-Id: I7d00e2a142572e27fc77e46566bb2cdb37f58035
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-07-30 07:06:18 +00:00
Leena Miettinen
332d41d025 Doc: QFileDialog::ShowDirsOnly not supported on Windows
The native Windows file dialog does not support displaying
files in the directory chooser.

Task-number: QTBUG-46982
Change-Id: Ib58f3d888df564d42044b81ad8e67b8aeae5f3c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-30 06:15:30 +00:00
Joerg Bornemann
edb5f22b0a consistently handle empty program string in QProcess::start overloads
All overloads of QProcess::start will now check whether the program
string is empty and in that case
  - set error to FailedToStart,
  - set errorString to "No program defined",
  - emit error.

Until now only one of the three overloads behaved like this.

As a side effect, start(QString(), QStringList()) will not crash on
Windows anymore.

Task-number: QTBUG-47404
Change-Id: I2f93657204fe3643b1d74a74817843c05fc4a96b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-07-30 05:33:28 +00:00
Samuel Gaist
2a38265571 Fix typo in test results report for android
Change-Id: Ibb2319b1e96ce34d4c61c8504b7700a78462c56c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-07-28 21:16:19 +00:00
Samuel Gaist
454690c6a6 Fix typo in filterAcceptsColumn docs: row is used in place of column
Change-Id: Ic0ec62e4d5c4a4b1d71f14c5d3133657341d4fe3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-28 21:16:10 +00:00
Thiago Macieira
3a63bb0ea7 Let the linker find xcb_poll_for_queued_event for us
It's more efficient than we are. This also enables the code to work in
the unlikely case of an ELF platform without RTLD_DEFAULT.

Change-Id: Ib306f8f647014b399b87ffff13f12f8aeeb2589a
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2015-07-28 21:12:35 +00:00
Thiago Macieira
0d7af31e83 Make the function pointer to xcb_poll_for_queued_event not a member
In the normal case, this change is a no-op. In case RTLD_DEFAULT isn't
defined, this makes the job of the optimizer easier to detect that the
static variable is never modified and that it can do a lot of dead code
elimination.

This also enables the optimization in the next commit.

Change-Id: Ib306f8f647014b399b87ffff13f12f40a359233b
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2015-07-28 21:12:31 +00:00
Andrew Knight
2bcb2ce8c9 xcb: Fix build with QT_NO_CURSOR
Change-Id: I2391c2921274b7a178fbdde1d0f59f7fbaa3048e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-28 20:46:27 +00:00
Thiago Macieira
5cc734e0a3 forkfd: Fix build with uClibc <= 0.9.33
That version of uClibc has neither pipe2 nor eventfd.

There were two problems with our detection. First, it checked for glibc
incorrectly, so the comparison was always true as
	__GLIBC__ << 16 = 0x20000

Second, we needed to check for uClibc's version.

Task-number: QTBUG-47337
Change-Id: Ib306f8f647014b399b87ffff13f3023b7f8d6d4a
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-07-28 20:16:08 +00:00
Jeremy Lainé
ce87d82d4a ssl: fix comment typo in QSslSocket tests
The comment about non-OpenSSL backends not reproting a specific error
for self-signed certificates contained a typo, this fixes it.

Change-Id: I3010981d5d87d68ebf5e984c003b8bbbfb019b96
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-07-28 19:06:05 +00:00
Jeremy Lainé
2d43f8b79b ssl: fix QNAM self-signed certificate test for non-OpenSSL backends
Non-OpenSSL backends are not able to report a specific error code
for self-signed certificates.

Change-Id: I56bf130335b2afa65cf2bd5248a40ac0e32f74c2
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-07-28 19:05:55 +00:00
Leena Miettinen
c2406341fc Doc: uiplugin in the qmake variable reference
Task-number: QTBUG-47180
Change-Id: Ia563445e36b0abb0ef7707e7a0e4241d70e60cfd
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-07-28 12:17:57 +00:00
Shawn Rutledge
7e89c7b855 xcb: fix tablet proximity again
Patch 53d289ec4c caused it not to select
property change events, which are needed separately for each tablet
device.  It's not enough to select them on the master device.

Change-Id: Ibb6c7990d2edd865019eacfa7eed4bf818f7557e
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-07-28 12:03:20 +00:00
Richard Moe Gustavsen
8d6ef359c8 iOS: ensure we don't overwrite a projects qmake variables
Consider a project that does the following:

launch_images.files = $$PWD/LaunchImage.xib
QMAKE_BUNDLE_DATA += launch_images

In that case we end up overwriting launch_images.files in default_post, and
at the same time, add launch_images a second time to QMAKE_BUNDLE_DATA.
The result will be that we copy our own launch image twize into the bundle.

To prevent this, prepend our internal variables with qmake_

Change-Id: I24f870874017b5388248e3bfadecd461422ffe35
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-07-28 11:02:13 +00:00
Laszlo Agocs
56a4a34eb3 Fix the internal compositing flag for QOpenGL/QuickWidget
Compositing stays active for the window even when all such widgets get destroyed.

Task-number: QTBUG-46937
Change-Id: Ib4acc90689151fd7de234806c4b5c0c472c13a5c
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-07-28 10:05:56 +00:00
Jeremy Lainé
cb05a4e8be ssl: fix native parsing of certificates with DSA keys
Fixes a typo which breaks the parsing of certificates with DSA public keys
when using a non-OpenSSL backend (WinRT, SecureTransport).

Change-Id: I250ba9948d5bd7739e281d7cd1b95cfbcb10e402
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-07-28 05:26:00 +00:00
Friedemann Kleint
4ef3d985dd Windows: Split code paths for touch/native gesture events.
Fix up 2b5df245d6 which routed
WM_GESTURE through QWindowsMouseHandler::translateTouchEvent()
causing asserts on missing touch devices.

Task-number: QTBUG-47184
Change-Id: Ie843ebb343e34487bcac9c9dbea88de641d51e28
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-27 18:03:29 +00:00
Friedemann Kleint
17c236ad05 Clear qt_tablet_target only when all buttons are released.
Task-number: QTBUG-46694
Change-Id: Ie95a452dfffd6685dd2a32068872dc18f727c288
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-07-27 18:03:21 +00:00
Richard Moe Gustavsen
5f276d7a5f iOS: add missing Q_DECL_OVERRIDE
Add missing Q_DECL_OVERRIDE to silence clang.

Change-Id: I57261a39f0dcf4e0ffd8d9c079a95f2d3347d34a
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2015-07-27 09:36:01 +00:00
Richard Moe Gustavsen
404430dca5 iOS: use UIKeyboardTypeNumbersAndPunctuation for Qt::ImhPreferNumbers
Using Qt::ImhPreferNumbers means that we should use a keyboard that
has focus on typing numbers. But it's important that we don't restrict
typing to numbers only, it also needs to support normal text input.
And this seems to be exactly what UIKeyboardTypeNumbersAndPunctuation
does.

Task-number: QTBUG-47365
Change-Id: I5bb88cedcbe0e89ea884dc9c14d3ffd9fb368060
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-07-27 09:35:52 +00:00
Olivier Goffart
f01f1943e4 Fix compilation error while instantiating operator<< explicitly
Task-number: QTBUG-47375
Change-Id: Ibd260de88c174c1aa3833a56b153b8b74d337338
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-26 19:14:47 +00:00
Laszlo Agocs
150aa19042 ios: Do not drop the user-provided default QSurfaceFormat
Task-number: QTBUG-47195
Change-Id: I40bc7be816f5e23a63a2fe6d32842143b52f9d58
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-07-25 18:16:30 +00:00
Kai Koehne
f8be9b8321 Doc: Don't advertise QLocale::system() in QTranslator::load documentation
Usually you want to use just QLocale(), and not QLocale::system(). They
are both the same except when the user called QLocale::setDefault()
beforehand.

Change-Id: I2d9b13ac3ffec0005b1d9bf661eccdea276d34b1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-07-23 10:50:32 +00:00
Friedemann Kleint
3627d8b171 Windows/QClipboard: Fix crash in debug output of QMimeData.
Rewrite QDebug operator<<(QDebug d, const QMimeData &mimeData)
to take a pointer and handle 0 values. Change the formatting to the style
commonly used in Qt. Make it static as it is not used anywhere else.

Task-number: QTBUG-47393
Change-Id: I78174e10b75769bf4acd33a894acc0a51e525c39
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-07-23 09:42:05 +00:00
Paul Olav Tvete
a09b41bc9f Fix action shortcuts for QToolButton
Reverting change 4db5d3ccd1, since it
introduced two separate regressions:
1. QToolButton would prefer text() over iconText()
2. Actions with a mnemonic would create a shortcut when added to
   a tool button.

There is a fundamental problem here, which is impossible to solve
correctly: A menu item with the text "Short&cut" will create a mnemonic,
i.e. it will be triggered by pressing 'c' when the menu is open. However,
a button with the text "Short&cut" will create a shortcut that is triggered
by Alt+C as long as the window has focus. Also, iconText() is used for tool
tips, so it should not contain shortcut related '&'s.

This patch attempts to find a sensible compromise:
1. If the text is set through QAction::setText(), QToolButton will not
   create a shortcut, and will not display an underline.
2. Using QAction::setIconText("Short&cut") will create the shortcut.
3. Tooltips will not show any extra '&'s when generated from
   text(), but when using setIconText() directly, any '&' characters used
   to create shortcuts will also be visible in the tooltip.

Task-number: QTBUG-23396
Task-number: QTBUG-47306
Change-Id: Ieea2fc569807c862ca462349bf91922a4029700f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-07-23 09:40:54 +00:00
Venugopal Shivashankar
bfe4bca498 Doc: Amended the \inmodule statement for QSessionManager
The sources for QSessionManager live under Qt Gui so it doesn't make
sense to include the class under the Qt Widgets doc module.

Task-number: QTBUG-47274
Change-Id: I18b58c2a274bff323c7364cebbb0429a5a3a97d6
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-07-23 08:44:38 +00:00
Joerg Bornemann
50f064f788 fix -no-opengl build
Change-Id: Id3570cf10d86908ddff35be65103d16b353dad04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-23 07:10:03 +00:00
Timur Pocheptsov
7089c98383 QPdfEnginePrivate - fix for '-qreal float' build.
Literals 1. or 0. have type double, but QGradientStop.first is qreal and
thus can be float depending on platform/configuration, making
qBound call invalid (qBound(0., qreal_value, 1.) for example).

Change-Id: Idab668d417a148bffe2495009ae700de980b73cc
Task-number: QTBUG-47319
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-07-22 15:51:10 +00:00
Ron Bessems
a0e2e715f5 Fixed null pointer dereference
Crash in qtwidgets.dll when Qt app is used with accessibility tools like
Dragon. Crash due to null pointer dereference.

Task-number: QTBUG-47093
Change-Id: I140196ba44b68dfaf229dd8a8e6031379ea1acac
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-07-22 13:48:16 +00:00
Nico Vertriest
f9eb2534de Doc: Add Q_MV_IOS to ignored C++ directives
Enumeration QSysInfo::MacVersion uses a macro to define
enumeration values. QDoc gets confused about it and
prints a lot of warnings.

Adding the macro to ignored directives does not resolve
the documentation issue completely (enum values still
show up as '?'), but it gets rid of the warnings.

Task-number: QTBUG-43810
Change-Id: Ie4009646a78c62b5f1860d29855d3941e79d9388
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-07-22 13:47:35 +00:00
Nico Vertriest
e6ddae07e1 Doc:added doc to undocumented functions
Task-number: QTBUG-36985
Change-Id: Ic358682b276d67ef804f727bcf14191718613469
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-07-22 13:47:23 +00:00
André Klitzing
9499cf33b7 Replace old C-style cast
User gets compiler warnings for plugins if "-Wold-style-cast" is enabled

Change-Id: I142ae2676ca7690c8e8e10c73a4007e85d8f448d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-22 12:55:05 +00:00
Alexander Volkov
ae51e360f9 xcb: Ignore disabling of outputs in the middle of the mode switch
X server may send RROutputChangeNotify event with null crtc and mode,
when it switches an output mode. Request RROutputInfo to distinguish
this case from the case when the output is explicitly disabled.

Change-Id: I4c2356ec71dbcc8013009ea8a6f46dd11f19d6bb
Task-number: QTBUG-44158
Task-number: QTBUG-46786
Task-number: QTBUG-46822
Reviewed-by: Daniel Vrátil <dvratil@redhat.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-07-22 12:35:16 +00:00
Ralf Jung
b0b08cc0e4 When a screen comes back online, the windows need to be told about it
On my system, this fixes the misbehavior of Qt applications when the (only) active screen is
switched, e.g. from an external screen to the laptop.
This behavior is caused by the screen() of widgets to be set to NULL when their screen goes away.
When a new screen comes online, the widgets *should* be told about it, but they are not. The only
place that "maybeSetScreen" is called is when an existing screen changes its geometry, but not
when a screen gets enabled without its geometry being affected in any way (e.g. because it was
just disabled via xrandr, but has been connected all along). This makes sure that "maybeSetScreen"
is also called when a screen gets enabled.

Task-number: QTBUG-47041
Change-Id: Ic72d6beaa544bf9a4efdbea0830b1bc0d6ce5362
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-07-22 12:10:11 +00:00
Thiago Macieira
99e0fbbe1f Add the GPLv3 license text
LGPLv3 refers to it but does not include it in its body.

Change-Id: Ib056b47dde3341ef9a52ffff13eed18cf3504738
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-07-22 00:23:23 +00:00
Cesar Garcia Naranjo
5c67ce5d6d QTimeZone: Convert fractional timezones properly.
[ChangeLog][QtCore][QTimeZone] Fixed a wrong timezone conversion when
the POSIX timezone rule contains a fractional timezone (e.g. VET4:30).

Task-number: QTBUG-47037
Change-Id: I5d9052929bbcde174614ccf07c329264603e6431
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-21 22:50:39 +00:00
Thiago Macieira
9072edb5f7 Use jom instead of nmake to compile configure.exe
Change-Id: Ib463f09c2031e41515a7e3b1f9d1961712915413
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-07-21 22:50:30 +00:00
Thiago Macieira
e81b955b41 Doc: update the Q_OS_MAC documentation to be less misleading
The "open source" version it's talking about is that of Darwin, not of
Qt.

Change-Id: Ib306f8f647014b399b87ffff13f27bc651d78707
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-21 22:50:21 +00:00
Volker Krause
328199d52d Protect against a null widget pointer.
This fixes a crash when using the style for painting without a
corresponding widget.

Change-Id: I0742e4559ed7a78270dab3a1b0162c9617343053
Reviewed-by: André Klitzing <aklitzing@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-21 21:59:46 +00:00