Commit Graph

42120 Commits

Author SHA1 Message Date
Lorn Potter
809a96d6d9 wasm: fix setting translucent background
We need to set the requested SurfaceFormat which may contain
the alphaBufferSize in order for
the GL context to have the alpha attribute

Fixes: QTBUG-77303
Change-Id: I39860e24de49a255ab7e73bca78af92e6c074d0d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-01-01 10:18:06 +10:00
Shawn Rutledge
4b1d370f75 Check platformNativeInterface pointer before dereferencing
QApplication::platformNativeInterface() returns null if started with
-platform offscreen.

Fixes: QTBUG-80946
Change-Id: I3ad03ad27148c8576bd3fab0b136827bb8d171ae
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2019-12-31 09:08:59 +01:00
Robert Loehning
663d00c716 cborstreamwriter: Fix developer-build with clang
Both functions are unused which results in a build error.

Change-Id: If7e7a47cd62b91fbfc5bbf5330825bbb341a734b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-30 18:24:24 +01:00
Alexandra Cherdantseva
a63969081c wasm: support all cursor shapes
Every Qt::CursorShape is supported.
Tested in Chrome, Firefox and Safari.

Change-Id: I38c9024dba4af70af789ac84ad7e38f749c847d7
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-12-30 14:30:22 +03:00
Tuomas Heimonen
27d1391280 QLocale: Support Indian number formatting
When QLocale::Country is set to QLocale::India numbers are written so that
after first three from the right and then after every second will be comma.
E.g. 10000000 is written as 1,00,00,000

Task-number: QTBUG-24301
Change-Id: Ic06241c127b0af1824104f94f7e2ce6e2058a070
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
2019-12-30 13:04:23 +02:00
Christian Ehrlicher
411c2e3e4f QCommonStyle: make sure to pass the widget to pixelMetric()
QStyle::pixelMetric() expects the affected QWidget as third parameter.
Some (external) styles rely on this to return the correct value.
Therefore add the widget to the function calls where possible.

Fixes: QTBUG-80971
Task-number: QTBUG-1857
Change-Id: I768ebb61a914cdba6e0549f841d46cf3edb0a2a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-12-28 10:10:32 +01:00
Giuseppe D'Angelo
6e3b4ddd92 QRegularExpression: adjust the error codes matching PCRE2 10.34
Change-Id: I78ecda1bdc784b8d7a69a4927dbe3b0f08c1d907
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-12-28 01:33:25 +01:00
Qt Forward Merge Bot
4054c0d6ed Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	.qmake.conf
	src/plugins/platforms/xcb/qxcbscreen.cpp
	src/widgets/accessible/qaccessiblewidget.cpp

Change-Id: Ib3138e61ba7981610940509a7ff02ba2dd281bf0
2019-12-27 09:29:30 +01:00
Giuseppe D'Angelo
25101f0984 Update PCRE2 to 10.34
Also adjust the import script to handle new files.
The RTEMS patch is not upstreamed and had to be-reapplied.

Change-Id: Ie3102d56a25674b50c67edd3cce25ffe7040a215
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-25 00:49:19 +01:00
Giuseppe D'Angelo
d24a1d4323 QRegularExpression: improve docs about porting from QRegExp
Change-Id: Ie5d737188977b0e4dc1070c2d7329d0ecb6a9308
Reviewed-by: David Faure <david.faure@kdab.com>
2019-12-24 22:28:59 +01:00
Joerg Bornemann
fa39d34043 Doc: Add the relocatable feature to configure's help output
Task-number: QTBUG-80928
Change-Id: I71dda94f9fc758864e65dae9fa262389934d4b2a
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-12-24 13:28:54 +01:00
Christian Ehrlicher
2ad3348031 QPrintDialog: don't access dangling pointer when cups is disabled
When no cups support is available, ui.pagesRadioButton is destroyed in
QPrintDialogPrivate::init() but was accessed later on. Fix it by moving
the cups check one line above.

Fixes: QTBUG-80945
Change-Id: Ieb062b39e1461f39665ef612dfea1d7757274b7e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-23 16:05:48 +01:00
Christian Ehrlicher
e0b9beb63d QFileInfoGatherer: don't pass empty list to QFileSystemWatcher
When an empty list is passed to QFileSystemWatcher::unwatchPaths() a
warning is printed out. To avoid this, check if the container is not
empty before calling unwatchPaths()

Fixes: QTBUG-80965
Change-Id: I23a7946e1e16a8d899abf6cce6b75a6f3662ca0f
Reviewed-by: David Faure <david.faure@kdab.com>
2019-12-23 16:05:39 +01:00
Tor Arne Vestbø
7ac4e55cb9 macOS Don't throw away backingstore buffers when backing properties change
Clients such as QtWidgets that do their own dirty tracking will assume
they can just flush in response to the expose event, without repainting
anything. Since we have no way at the moment to inform these clients that
the backingstore content might be invalid we can't just throw it away.

It turns out that to pick up changes in color spaces we can just tag
the existing buffers with the new color space, so we don't need to
throw it away. And for the older surface-backed mode we tag the color
space on flush, so we didn't need to invalidate anything in the first
place.

Fixes: QTBUG-80844
Task-number: QTBUG-77749
Change-Id: Icb1ceb178894bb43887cdf03fb855d2d614b5ab0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-23 13:55:50 +01:00
Ulf Hermann
6c2052f9d7 Doc: Fix name of no_check_exist flag
There is only one 's' in there.

Change-Id: I02288c138784086e535c339660b02bf9c33f8fda
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-12-23 10:33:36 +01:00
Ulf Hermann
3ea7caed6f metatypes: Add no_check_exist to INSTALLS rule
Without this, the metatypes files are not installed if they don't exist
when qmake runs.

Change-Id: I014fcc1d1c41a7fab48870842f5e27f5b62dfed3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-12-23 10:33:22 +01:00
Timur Pocheptsov
7e7f76bc55 QMacStyle: fix tab widget's tab bar
Alas, this thing strikes back: I have to use clip to remove the
part of NSBox coming through the transparent buttons, but this
works (as I've noticed recently) only for 'North' and 'West' tab
positions. For 'South' and 'East' different geomety adjustments
are required.

Change-Id: Id1f77bc1869e82e710132a2f4402cc3c8be3ab01
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-12-21 14:53:42 +00:00
Tor Arne Vestbø
761025d08c Contain Qt::AA_SetPalette logic in QApplicationPrivate::setPalette_helper
Change-Id: I88b36e800139389895ecb1a15553207a24b3e3a4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-21 14:30:14 +01:00
Tor Arne Vestbø
c7ecff0460 Simplify QApplication::palette
Change-Id: I1f1be554a72a385985eeee0b79b49acdfcf40d8e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-21 14:30:11 +01:00
Tor Arne Vestbø
fe784abc80 iOS: Silence GL deprecations until we can fix them
Change-Id: I1222708be5017a0dca381f365349fce5887a0bcb
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-20 12:23:37 +01:00
Giuseppe D'Angelo
a2ddd96ac8 Introduce QString(View)::isValidUtf16
QString(View)s can be built or manipulated in ways that make them
contain/refer to improperly encoded UTF-16 data. Problem is,
we don't have public APIs to check whether a string contains
valid UTF-16. This knowledge is precious if the string is to be fed in
algorithms, regular expressions, etc. that expect validated input
(e.g. QRegularExpression can be faster if it can assume valid UTF-16,
otherwise it has to employ extra checks).

Add a function that does the validation.

[ChangeLog][QtCore][QStringView] Added QStringView::isValidUtf16.

[ChangeLog][QtCore][QString] Added QString::isValidUtf16.

Change-Id: Idd699183f6ec08013046c76c6a5a7c524b6c6fbc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-20 11:13:22 +01:00
Jordi Pujol Foyo
556712f511 Allow hiding tabs in QTabWidget / QTabBar
Add 2 methods to set/ask if a tab is hidden.

[ChangeLog][QtWidgets][QTabWidget/QTabBar] Tabs can now be
hidden with setTabVisible

Fixes: QTBUG-63038
Change-Id: I7b07ecdb485e1f6c085d03515ef2b73baae889de
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2019-12-20 09:41:09 +00:00
Friedemann Kleint
c24404dbda Unbreak developer build with clang-cl
Move the macro definitions for Q_DECL_UNUSED_MEMBER along with
a definition for Q_DECL_UNUSED from the scope excluding icc
and cl into a separate one for plain clang and cl since the
attributes work with clang-cl as well.
Remove the check introduced in
9782938045
since it is assumed that all clang versions have the attribute now.

Fixes:
include\QtCore/../../src/corelib/io/qloggingcategory.h(87,32): error: private field 'd' is not used [-Werror,-Wunused-private-field]
    Q_DECL_UNUSED_MEMBER void *d; // reserved for future use
                               ^
include\QtCore/../../src/corelib/io/qloggingcategory.h(108,31): error: private field 'placeholder' is not used [-Werror,-Wunused-private-field]
    Q_DECL_UNUSED_MEMBER bool placeholder[4]; // reserved for future use

Task-number: QTBUG-63512
Change-Id: I651771b085408443bb02e96698a980170fcaeb6d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-20 09:43:36 +01:00
Milla Pohjanheimo
3ea2c18faa Add binary compatibility files for qtbase 5.14 branch
BC files built against 5.14.0 added.

Change-Id: Ifaf79d8ebb057e3bcccd6134868890b3fccf8720
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-12-20 10:41:11 +02:00
Thiago Macieira
5034f8d8d5 forkfd: fix build with GCC 4.8 & 4.9
Prior to GCC 5.x, std::atomic_int was a typedef to __atomic_base<int>,
which meant we couldn't use it in atomic_compare_exchange that requires
pointers to std::atomic<int>. That changed in 5.x (r219790) in response
to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60940.

Easy fix, though.

Fixes: QTBUG-80896
Change-Id: I46bf1f65e8db46afbde5fffd15e1d625154f8d59
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2019-12-19 17:51:31 -08:00
Allan Sandfeld Jensen
23d4c0c34b Remove some uses of QImage::setAlphaChannel
Remove once where it did nothing, and once where using composition mode
masking avoids first creating a masking image.

Change-Id: Ia4c93eac6ebb11fcdab34d306d943a7f87906b7e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-12-19 21:24:39 +01:00
Jordi Pujol Foyo
9d6b4d1142 New features for QPdfWriter
Added new API setDocumentXmpMetadata/documentXmpMetadata and
addFileAttachment

[ChangeLog][QtGui][QPdfWriter] New API to provide external document XMP
metadata and attach files to PDF.

Fixes: QTBUG-78651
Fixes: QTBUG-78764
Change-Id: Ic0b37e8d12899f907001db469080594c14c87655
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-12-19 21:23:43 +01:00
Allan Sandfeld Jensen
6227a0d2e2 Add test for invertPixels on indexed formats
It wasn't tested and behaves in a very particular way.

Change-Id: I60a31681e5b221cf9a86df77e410a76ee4c10864
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-12-19 16:16:50 +01:00
Morten Johan Sørvig
43792c50d4 Don’t reset highDpicaleFactorRoundingPolicy
Don’t reset highDpicaleFactorRoundingPolicy in the
QGuiApplication destructior. This is a static property,
independent of the application object lifetime.

Change-Id: Ibf55e2a6ea1ae6429fce3f0e9d58323111aac374
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-12-19 14:21:01 +01:00
Morten Johan Sørvig
0f0d26418c High-DPI: restore rounding behavior on Android
Qt 5.14 introduced QApplication::scaleFactorRoundingPolicy,
where the default policy rounds the scale factor to
an integer, which matches Qt's behavior on Windows and X11.

However, Qt has never rounded scale factors on Android.
Restore the historical behavior and document the platform
difference.

Change-Id: I0f8e8fb65e3874338ea290bbb12da350da22f099
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-12-19 13:20:54 +00:00
Cristián Maureira-Fredes
b31aef2900 uic: Rename raise() to raise_() for Python
Fixes: QTBUG-80791
Change-Id: Ia6339b8c683147456cdffa7f2d45972e8eacd92c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-12-19 12:38:58 +01:00
Tor Arne Vestbø
9a77beaea3 macOS: Deliver theme changes synchronously
Otherwise the expose event that AppKit triggers will be delivered before
we've propagated the theme change, and we fail to draw the UI using the
new theme.

Change-Id: I502122a2bf02a866d136106d831f0c2a0dfe26f2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-19 11:17:31 +00:00
Allan Sandfeld Jensen
09f19e48ac Fix unneeded use of QImage invertPixels and createAlphaMask
The result of createAlphaMask was mostly overwritten and then inverted,
we can write the right values directly instead.

Change-Id: I3cdddcc74218a4058bddd20178733688607c8a01
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-12-19 11:45:41 +01:00
Friedemann Kleint
e2f4c5f4a1 double-conversion.cc: Fix developer build with clang-cl
clang-cl errors out with an unknown #pragma on the scope turning
off optimization for MSVC2012. Remove it since MSVC2012 is no longer
supported.

Change-Id: I46610885e10158bc5b3666b7698dc1162dbac8a7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-12-19 11:23:31 +01:00
Albert Astals Cid
512b87bc28 Don't have a "see also qrand" from qrand
I guess what we wanted there was qsrand

Change-Id: I8e18e76ae65abf9de231d51faa61cc9142ea2b98
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-19 09:03:01 +01:00
Peter Varga
a132e02540 Fix QAccessibleWidget::focusChild() to return focused descendant
This method should not ignore accessibility objects without
corresponding widget. The widget may have parts with their own
QAccessibilityInterface and these can be also focused.

VoiceOver ignores them if they are not returned by focusChild().

QAccessibleTabBar::focusChild() has been implemented to demonstrate
the concept and make tab titles of QTabBar readable by VoiceOver.

Task-number: QTBUG-78284
Change-Id: Id7c62d86154bbd5d47d6bbee8cb7d05268c2e151
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-12-19 08:39:10 +01:00
Paul Wicking
caa82e1fc2 Doc: Add since version
for QCursor::swap and QOperatingSystemVersion::currentType.

Fixes: QTBUG-80854
Fixes: QTBUG-80891
Change-Id: Ia256fa0d3ad4665f44b933f5a4a8d4ee87e9fc13
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-12-19 07:03:13 +01:00
Christian Ehrlicher
322e5b7f5e QtWidget docs: small fixes
Apply some minor fixes to the widget docs
 - use nullptr
 - use c++11 initializer list
 - properly delete widget when cleaning the layout (QTBUG-29471)
 - rework CardLayout example to make it work with Qt5

Fixes: QTBUG-29471
Change-Id: Ie2ee9f75eb8faf97d2bbd2c25e7013d4f30d8dd0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-12-18 19:35:11 +01:00
Tor Arne Vestbø
669a29f5e7 Xcode: Disable GPU frame capture and Metal API validation by default
The auto-detection Xcode has for whether GPU capture should be enabled
always enables it for our projects, which adds up to second to the
startup time when debugging. There's no need to pay this cost unless
you're actively debugging Metal code.

Change-Id: I4a76c4e7afedad4bb43395ae64bc0f8d62eca6be
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-12-18 19:16:09 +01:00
Christian Ehrlicher
2614347ab8 Fix QSpinbox default width
After aa8d3f90a4 the default width of the
spinbox buttons is calculated from the spinbox width. This is wrong
because the initial width (e.g. when the spinbox is not yet shown) is
640 pixels which results in a too long width.
Therefore fall back to the old hard-coded value version but instead
using 20 pixels, use 16 to be in sync with the stylesheet style value
and honor the dpi of the screen by using QStyleHelper::dpiScaled().

Fixes: QTBUG-79806
Fixes: QTBUG-80814
Change-Id: I45786684575273f940e498df3b7639e626f00a7e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-12-18 16:31:27 +01:00
Marc Mutz
f2d752c59f QWindowSystemInterface: use QBasicMutex and qt_scoped_lock
There's no reason to use a class-static mutex object here.

Use a namespace-static QBasicMutex, port to qt_scoped_lock.

Change-Id: Ia9bd3c2fadbf1da25ef79bb393c899b678cbc182
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-12-18 15:56:42 +01:00
Leena Miettinen
48704c3f5c Doc: Add since Qt 5.8 info for QResource::lastModified()
Fixes: QTBUG-80856
Change-Id: I2f2b562ad2b262c6dfa236a43589129186589ed7
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-12-18 14:40:38 +01:00
Jani Heikkinen
860d102474 Update enterprise license agreement v4.2.1
Task-number: QTBUG-80661
Change-Id: Ic730a83465dffa2b1076c03a47d6f97a3a9a53a5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-12-18 13:07:19 +02:00
Allan Sandfeld Jensen
b2e3a5502a Parse Xft.dpi with fraction
Some versions of GNOME 3 would set Xft.dpi with fraction though that
is technically not valid.

Change-Id: Ib1027283cc78fd5d9869cd337864a92e28cd7e88
Fixes: QTBUG-64738
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-12-17 21:20:01 +00:00
Alexandru Croitor
cf3d4cf3c3 Teach moc to output a Make-style depfile
If moc is invoked with the --output-dep-file option, it will generate
a "moc_<source_file_name>.d" dep file which contains dependency
entries that can be consumed by a Makefile / Ninja build system.

This is useful for build tools (like CMake) to know when moc should be
re-ran.
In the future, it might also be useful for ccache (teach ccache not to
re-run moc when not necessary).

The dependency list contains: the original source file, the passed
--include files (like moc_predefs.h), the include files that
were discovered while preprocessing the source file, and the plugin
metadata json files listed in Q_PLUGIN_METADATA macros.

The file paths are encoded using QFile::encodeName, so using the local
8-bit encoding.

The paths are also escaped (so ' ' replaced by '\ ', '$' by '$$',
etc) according to the Make-style rules as described in
clang's dep file generator
https://github.com/llvm/llvm-project/blob/release/9.x/clang/lib/Frontend/DependencyFile.cpp#L233

For reference, the equivalent Ninja depfile parser source code can be
found at
https://github.com/ninja-build/ninja/blob/v1.9.0/src/depfile_parser.in.cc#L37

Additional options that can be passed:
--dep-file-path - to change the location where the dep file should be
generated.
--dep-file-rule-name - to change the rule name (first line) of the
dep file (useful when no -o option is specified, so output goes to
stdout).

Encoding story.
Note that moc doesn't handle non-local-8-bit characters properly when
processing include directives at the preprocessor step. Specifically
the content of the main input file is read as a raw byte array (which
can be UTF-8 encoded) and then each include directive is resolved via
Preprocessor::resolveInclude(), which calls QString::fromLocal8Bit().

Because moc uses the QtBootstrap library, only a limited set of codecs
are available: various UTF 8 / 16 / 32 codecs and
QLatin1Codec (ISO-8859-15).

This means that on Windows, if the source input file is UTF-8 encoded,
and contains include names with UTF-8 characters (like an emoji or any
character >= 127 that is not in the QLatin1 codec), moc will fail to
resolve and process that include, and thus no dep file entry will be
created either.

On macOS / QNX / WASM the main locale is UTF-8, so file content
and paths will be processed correctly (hardcoded via QT_LOCALE_IS_UTF8
in src/corelib/codecs/qtextcodec_p.h).

On Linux it will depend on the current locale / encoding set,
and if that encoding is one of the ones supported above. UTF-8 should
work fine.

[ChangeLog][QtCore][moc] moc can now output a ".d" dep file that can
be consumed by other build systems.

Task-number: QTBUG-74521
Task-number: QTBUG-76598
Change-Id: I5585631ff1bbbae4e2875cade9cb6c20ed018c0a
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2019-12-17 21:43:41 +01:00
Tor Arne Vestbø
0a09a6341d Sync implementation of QGuiApplication and QApplication setPalette
The two static setPalette methods in QApplication and QGuiApplication
should have the same behavior in terms of what signals and events
they emit.

Change-Id: I54579d490e31f3783e2d4fea689ca799a070ff1d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-17 20:22:39 +01:00
Tor Arne Vestbø
04f5008f51 Let sendApplicationPaletteChange() decide when it needs to exit early
Change-Id: I7a8e6c0b54d2a16a17b292a4102e05f743bcbe29
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-17 20:19:37 +01:00
Tor Arne Vestbø
87cedab94e Remove ApplicationResourceFlags::ApplicationPaletteExplicitlySet
After 8fb881900c it's tracked by AA_SetPalette. Since the latter
is publicly observable we remove the internal flag instead.

Change-Id: Ie69799f1b45d68017cb9eaab2a9986cc9ac9ca38
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-12-17 20:19:34 +01:00
Andre de la Rocha
18f22fea7c Windows QPA: Allow the native Windows virtual keyboard to be disabled
This change provides a way to disable the automatic showing of the native
Windows on-screen virtual keyboard when a text editing widget is
selected on a system without a physical keyboard, by enabling the new
AA_MSWindowsDisableVirtualKeyboard application attribute, allowing
applications to use a custom virtual keyboard implementation.

Fixes: QTBUG-76088
Change-Id: Id76f9673a2e4081e5325662f3e3b4b102d133b9a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-12-17 14:24:29 +01:00
Eirik Aavitsland
05d5268502 Fix QPainter::drawLines() with cosmetic pen
Even though each line in the array passed to drawLines() should be
rendered as an independent line, some state was kept in the cosmetic
stroker from one line to the next. This could result in visible
rendering errors.

Fixes: QTBUG-80834
Change-Id: Ief7bf78eab83ae34459802bff5a57d6beec4a5e5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-12-17 14:04:05 +01:00