Make sure the layer is updated on window resize and
screen change.
Add a support test and print a warning if we try to
create a Metal layer without Metal system support.
This test should ideally be done earlier, before
configuring the QWindow to use Metal.
Link against the Metal framework: The minimum deployment
target is already 10.11 so this does not add additional
deployment requirements.
Change-Id: I0a38e824d0b6042bb52520dfaf0958ce21bb40b8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Fix a mistaken #ifdef that should have been #if; and only call
QTimeZone::availableTimeZoneIds() once in transitionEachZone_data(),
while switching to use of a ranged-for.
Change-Id: Id27aae9ef450f21350283099c892ca7173884b94
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use QTRY_COMPARE instead of a wait followed by QCOMPARE. Unless the condition
doesn't change and the wait provides the opportunity for things to go wrong.
Task-number: QTBUG-63992
Change-Id: I13474a45f1f4df9d77a418729a5748235ae0dd1a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
This should be the last bit of QMacStyle depending
on HIToolBox APIs.
Small and mini sizes support coming later. Same
for the focus ring.
Change-Id: If625fccb87ebd0607b96a8c5040888df5a2a1032
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
We go for direct drawing for now. Some of the logic was
a bit sketchy, and we need to measure how useful is caching
and eventually compatible with the focus frame animation.
Change-Id: Id30a68f77a4129197536e8ca251906ee8a730925
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
For the time being, no more stretched QComboBox. They
were already looking bad before and nobody complained,
so it's a non-issue. In the future, we might use square
combo boxes in the same way as we do for push buttons
but for non-editable QComboBox only.
Removes what is now dead code, including some leftovers.
tst_QMacStyle updated to reflect size changes to accom-
modate the focus ring.
Change-Id: I60fac86b9acb52cc96373bca0b3cad598ec4f1e7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Animated .git attached to the bug report for easy understanding.
Looks like we shouldn't set window flags after a setGeometry() and
before having the window resources. If we do that, then the requested
geometry won't be honoured. No idea if it can be fixable in the QPA
and won't risk doing it there.
Fixes the problem on macOS and Windows.
On Linux it was OK, and still is.
Task-number: QTBUG-67611
Change-Id: I8244b4956a5ac9afcf257bea762c2c3084b563f8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
the drop target would create a floating group window, which would
have higher z-order since it just had show() called on it.
raise the window we're dragging when the target is mutated into group
window.
Bug can be seen on the .gif attached to QTBUG-67611.
Change-Id: I5dad058468e24327b14d1e7f76c3ad0287d26ee8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
QTextDocumentWriter only supports a small subset of table formatting
when exporting to ODF-format. This patch adds more formatting
capabilities to the ODF exporter:
- table border support
- table alignment
- table width
- respect column constraints (column widths)
- add a tab before soft line breaks. This will avoid causing the last
line to stretch all over the cell in justified paragraphs.
With this patch, line height settings are now exported, too.
[ChangeLog][QtGui][QDocumentWriter] QDocumentWriter now supports table
borders, table alignment, table width, column widths, line height and
image resolution when exporting QTextDocuments to ODF files.
Task-number: QTBUG-63581
Change-Id: I2d269ef0f842e73af64d48bfef531d5fa3078088
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
creating private deprecated forwarding headers is rather pointless, as
keeping source compatibility for private headers is unnecessary.
consequently, the feature wasn't used anywhere. remove it to reduce
complexity.
Change-Id: I6202e5141f0387615f90efa0ec707ac208419227
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
it's been a no-op (always on anyway) for quite some time now.
Change-Id: I9611ca73ddaef4422a16d85338e1dae473a50fbf
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
When we load DER-encoded keys in the openssl-backend we always turn it
into PEM-encoded keys (essentially we prepend and append a header and
footer and use 'toBase64' on the DER data).
The problem comes from the header and footer which is simply chosen
based on which key algorithm was chosen by the user. Which would be
wrong when the key is a PKCS#8 key. This caused OpenSSL to fail when
trying to read it. Surprisingly it still loads correctly for unencrypted
keys with the wrong header, but not for encrypted keys.
This patch adds a small function which checks if a key is an encrypted
PKCS#8 key and then uses this function to figure out if a PKCS#8 header
and footer should be used (note that I only do this for encrypted PKCS#8
keys since, as previously mentioned, unencrypted keys are read correctly
by openssl).
The passphrase is now also passed to the QSslKeyPrivate::decodeDer
function so DER-encoded files can actually be decrypted.
[ChangeLog][QtNetwork][QSslKey] The openssl backend can now load
encrypted PKCS#8 DER-encoded keys.
Task-number: QTBUG-17718
Change-Id: I52eedf19bde297c9aa7fb050e835b3fc0db724e2
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Properly handle single protocol TLS configurations. Previously,
due to the use of generic (non version-specific) client/server method
they worked as ranges of protocols instead. This also fixes a couple
of previously broken tests.
Task-number: QTBUG-67584
Change-Id: Ied23113a4fab6b407a34c953e3bd33eab153bb67
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
With SSE2 or NEON interpolate_4_pixels is faster than
interpolate_4_pixels_16, and using it saves a branch of duplicated code.
Similar changes had already been done other places it was used, those
have been updated to follow a similar logic.
Change-Id: I040d96480f7f925f659602f66f931d28b59312a5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
This reduces the timeout from 10 seconds to the default 5, but the tested events
(resize events, painting) seem like something that should happen in 5 seconds.
Change-Id: I1d12372f37264bf7be64096e43813cd03f567102
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
BuiltIn inputs shouldnt be translated into a code input. We comment the
input line for this variables
Change-Id: I3b7d2fd06afc6a122d90a999fc5a5246fc93234e
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
the option is a quad enum, with "yes" meaning "either system or qt". the
distinction is made only in the "system-xcb" feature, while "xcb" itself
must be forced on in the "yes" case.
Task-number: QTBUG-67251
Change-Id: Ib706e79a902ae0f1b64ca6d4611c9214b7b7e928
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
that way we can create a config.log which is consistent with the end
state even if (some) tests are not executed this time around.
Change-Id: Ia953ede62d6640aab912559f435ceb1f9ec6d9dc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The cost for the pixmap cache was calculated in bytes but
setCacheLimit() takes the size in kilobytes. This lead to the
situation that all values above 2097152 overflowed and disabled
the caching completely. Fix it by calculating the cost in
kilobytes as it is done in QGLContext.
Task-number: QTBUG-45293
Change-Id: Ib8dc2360c8f3201ce0b615a04c38b5ccaa8fc6cf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
It seems that's the only place we were doing any check.
We can remove it since it's not supposed to happen, and
it would have crashed already if it had.
Change-Id: Ic2034d2d278899f30a7d07284057e63a12e8eb10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The iOS event dispatcher has been split into two; one dealing with the
QPA event processing, which we should always do, and one dealing with
the longjumping that we do when running the user's main on a separate
stack.
Change-Id: I1f819db33c608aad130ff23cbbadcf84363a32d2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Add functions for converting QImage to HBITMAP and back
supporting additional formats of QImage (RGB888, RGB555,
Indexed8 and Mono). Add test with roundtrip to tst_qimage similar
to tst_QPixmap::toWinHBITMAP().
Task-number: QTBUG-51124
Change-Id: Ib568898e7162686bfa527d828785628eb0b78e21
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
It's useful when you need to check how long a hash will be without first
generating one.
[ChangeLog][QtCore][QCryptographicHash] Add a static method, hashLength,
which returns the length of the output of a hash function in bytes.
Change-Id: Id6a454016523de83d157fd95c50105c6db4bb1d9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
On platforms where integer by default is int32(max is 2147483647) and
(1 << (' ' - 1)) will be 2147483648
Change-Id: I790d33bd4e473925d6897dd87cbffdfe8dd7938f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
The merge in 0f315adf91 resulted in keeping both code paths,
in effect sending two touch events for each native touch event,
and also re-introduced the bug fixed by sending the touch events
asynchronously in some cases.
Change-Id: Id81f02d9597f4e0baeaddbdf9057fa32b6c31b2f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
The test was failing because the files it expected to create were not actually
visible on the disk.
This was because 189e9c93d7 made QTemporaryFile
use unnamed files if the file name is not actually requested. Fix by forcing the
temporary file to be made with the requested name.
CI has not caught this because the test executable is marked insignificant_test
on Linux.
Change-Id: Ibe0244fdfcc66acf3be4314da51b4c0b3b520b71
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
- Remove unused createVisualInfoForDefaultVisualId() function.
This amends dff3c0f14f.
- Inline QXcbConnection::xlib_display().
- Don't nest QT_CONFIG(xcb_native_painting) in QT_CONFIG(xcb_xlib).
configure.json already checks for the dependencies, we don't need
to do that again in *.h/*.cpp.
Change-Id: If39912e67ce9baa31faf091bebe120bac5cf6876
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Remove references to XKB and explain what to do if
pkg-config is missing or unwanted.
Change-Id: I099bf01ff49e1b8f6e822a50f0fe4904965a7a9f
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
- Pass QXcbBackingStoreImage a pointer to QXcbBackingStore. This
allow for simpler QXcbBackingStoreImage ctor.
- Use member initializers.
Change-Id: Ia992390060bb30e1184813cd0d115a8bf0fbc237
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
QXcbShmImage to QXcbBackingStoreImage as it is an image that
might or might not have SHM capability. The current name implies
that it always uses SHM.
QXcbShmGraphicsBuffer to QXcbGraphicsBuffer as it has nothing to
do with SHM.
Change-Id: I57ced75891e8b10515142769278a7f3f40da91ef
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
The configure unification accidentally changed it to /usr/local as used on
unix. Use C:/Qt again.
Task-number: QTBUG-61373
Change-Id: I758c639bdb07c97b55f990821e73a5135038f4a0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>