It appears we are missing some setups for SIMD optimization, and already
have a workaround for that for NEON, so do the same for VSX.
Fixes: QTBUG-66388
Change-Id: I1cc1d0fe9c5a9df97acb589d29dec4dceb8fc576
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Marking various as final because no upstream is known or available.
Listing versions of others, where I was able to discover them.
Updated a stale link (that helpfully redirected).
Task-number: QTBUG-70008
Change-Id: Id00f34827133c560735c68793b4f1353f2b2ca85
Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
The tests would rely on the window manager giving it focus a bit too much.
Change-Id: I1b28def2c95a4f0a9665a7cf6e0c14db03df98d5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Due to name conflict with file from qtdeclarative
Task-number: QTBUG-65769
Change-Id: I9ebf237701ce76b424f528feacb24e4158f06c0d
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
This only updates data on languages already present in 5.12; once it
has merged up to dev, the scripts need to be run again to pick up a
few more languages and possibly add any more new languages present in
v34. Change some tests to match changes in en_AU's abbreviated day
and month names.
[ChangeLog][ThirdParty][CLDR] Update locale data to CLDR v34.
Task-number: QTBUG-71144
Change-Id: I68402b5e7e9d3dba669b8ba31b9a8abd86675c6e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
tst_QSqlQuery::bindBool() did not check if the bool is correctly bound
as part of the WHERE statement. Add a new test to query for the bool
column and check if there is exactly one row returned.
Fixes: QTBUG-38891
Change-Id: I0bd1ceb1b30e50f67f44f5b06d68683195b78b29
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
When QMimeProvider parses the shared mime database xml files,
it will read the <comment> element for mime comment and treat the
`xml:lang` attribute as locale language string. When no `xml:lang`
attr is provided, QMimeProvider will read the value and treat it as
a en_US locale string as the default key.
When we call QMimeType::comment(), it will try to get the locale
comment string with the default language (QLocale().name()), once
it can't find a matched result, it should return the default key
(which QMimeProvider set it as en_US locale before) as fallback.
Task-number: QTBUG-71314
Change-Id: I444f8159d6f19dfef6338cd79312f608d8f13394
Reviewed-by: David Faure <david.faure@kdab.com>
A hardcoded value of 16 was used in QColorDialogPrivate::_q_addCustom()
instead QColorDialogOptions::customColorCount()
Fixes: QTBUG-58425
Change-Id: I7ae9881abd5926e0c6b118d5c84c3f259c545d35
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Attempts to use QSslSocket and its OpenSSL 1.1 back-end with OpenSSL 1.1.1
in a very peculiar way (for some reason the reporter calls OPENSSL_no_config())
combined with a bug in OpenSSL 1.1.1 resulted in a QSslSocket dead-locking
in initialization. This was happening because supportsSsl() first reported
false (OpenSSL internally fails to initialize after OPENSSL_no_config()),
but we have s_libraryLoaded set to true too early, thus the first supportsSsl()
returns false, the second - true.
Move setting of s_libraryLoaded later so that we don't claim to support
OpenSSL when an earlier ensureLibraryLoaded() attempt failed.
Task-number: QTBUG-70956
Task-number: QTBUG-71446
Change-Id: I8ad8763d357c84fc38c62e2ce914366367c2b445
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
freetype is included depending on configuration by the top level .pro
file.
Fix build warning:
Makefile:1361: warning: ignoring old commands for target `.obj/qfontengine_ft.o'
Change-Id: I0a0f111a841b368196633bbc0f9c698197f64bb2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Preparing the use of the option for Python.
Task-number: PYSIDE-797
Change-Id: Ia1267b227ceac7f9dcbcfde6ed7c1480ef790f2a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Follow the pattern of char and float, and treat shorts as a more generic
type in QVariant::canConvert()
Task-number: QTBUG-60914
Change-Id: Ib1cc7941ee47cb0fc0098f22f98a03cd6f6b63fe
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use function name overloading for all of _NET_WM_STATE setters for
a mapped window, instead of few similar sounding functions, where all
do the same thing. For an unmapped window rename updateNetWmStateBeforeMap()
-> setNetWmStateOnUnmappedWindow(). Merge setNetWmStates(NetWmStates) into
setNetWmStateOnUnmappedWindow() and add a comment explaining why it does
what it does, as it was not obvious.
Internally there are 2 variants:
a) When a window is already mapped, to change the window state we send
XCB_CLIENT_MESSAGE(_NET_WM_STATE) messages to the root window as per EWMH
spec. The Window Manager MUST keep this property updated to reflect the
current state of the window. If this variant of the overload is called
while a window is not mapped yet, it does nothing. WM would ignore this
message anyway. The state change is not lost, it will be set later and
that is where the second variant comes in.
b) On an unmapped window we can set _NET_WM_STATE by using setNetWmStateOnUnmappedWindow().
This function will read QWindow properties and set all of them via one
xcb_change_property(_NET_WM_STATE) call. We do this inside QXcbWindow::show(),
where we know that QWindow state properties won't change anymore until
it gets mapped. Once it is mapped, we use the other variant.
This patch doesn't change any functionality, just makes the code easier
to follow.
Change-Id: I4f4703a35de083fcfd398112eabd0a5aec358e51
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Add Q_FALLTHROUGH(), fixing:
tabletcanvas.cpp:222:55: warning: this statement may fall through [-Wimplicit-fallthrough=]
Change-Id: I573f4add56774218e28a7c5f1dac09c5402333c0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Their correctness is not checked at compile time and even object
renames can break code.
Change-Id: I99273a28743a79a76c00e6db0ed4cd6d7eba8bf2
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
If QT_QPA_EGLFS_HIDECURSOR was enabled, m_deviceListener was never
initialized, which caused segfault in the destructor.
Task-number: QTBUG-71507
Change-Id: Id8b17f5312073249cd12995317213fd746753521
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
... to QXcbConnection::handleXcbEvent(), which is where it belongs.
This patch amends bc6f5b3ff6 (Sep, 2013).
And some other design cleanups.
Change-Id: Iefa0793c58de16a59d2294f38311e1e8dfa3035b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
The bitmap cache for the first 64 signals being connected was only set when the
connection is added. It was never unset when the connection was removed.
Internal use of the connectedSignals bitmap is not hurt by it occasionally
saying a signal is connected even though it is not, since the purpose of those
checks is avoiding expensive operations that are not necessary if nothing is
connected to the signal.
However, the public API using this cache meant that it also never spotted
signals being disconnected. This was not documented. Fix the behavior by only
using the cache if it is up to date. If it is not, use a slower path that gives
the correct answer.
To avoid making disconnections and QObject destructions slower, the cache is
only updated to unset disconnected signals when new signal connections are
added. No extra work is done in the common case where signals are only
removed in the end of the QObject's lifetime.
Fixes: QTBUG-32340
Change-Id: Ieb6e498060157153cec60d9c8f1c33056993fda1
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Terminating character is needed for gtk portal backend, which is not
able to contruct a string without it and thus not able to pre-select a
file or a directory in file dialog.
Change-Id: I5b40fb1ce584936fc92e93f38dc8559890852d99
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Spaceship operator was disabled for QCborValue, but not the test.
Change-Id: Icb91da689f62ef6de9f4fa926346505c5e50e9eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
PCRE2 does not support JIT on winrt. This test row takes a long time
(30 seconds here) without JIT and thus might cause test timeouts in
COIN when run on winrt.
Change-Id: I79d9f6be16dbe16594ae2bf51f353acd06b3d2fe
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
UWP also supports SwitchToThread. The usage of Sleep(0) was a leftover
that was forgotten when porting to desktop Window's approach of handling
threads.
Change-Id: I5e3d6fb3eefe07407b910cc6a6b45781d320e151
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The opacity set on a QPainter was being ignored for drawImage()/drawPixmap()
calls when rendering to a PDF file through QPdfWriter/QPrinter. This change
fixes it for PDF files v1.4 (default version) or v1.6. For PDF/A-1b files,
opacity will remain ignored to ensure compliance with the specification.
Task-number: QTBUG-70752
Change-Id: I4280e898698e0367dfb4c6ac2cd14ca2bf98850e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
When we try to gracefully destroy a QOpenGLVertexArrayObject it is not
possible to create an QOffscreenSurface from a thread that is not the
GUI thread. In this case we just need to bail out instead.
The side effect that was seen previously was that there would be a
warning and a deadlock on Windows when closing QQuickWindows that
contained a QQuickPaintedItem backed by a FrameBufferObject render
target (which would be using the OpenGL paint engine) when using the
threaded render loop.
Task-number: QTBUG-70148
Change-Id: I4a20d74d9af850bb90d243212ad9f65c3fc9e616
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
QPointer uses QWeakPointer / QSharedPointer internals in QObject and has
the code to make sure two threads won't stomp on each other if both try
to create a QPointer for the same QObject at the same time. The
threading code was fine, but had a mistake in the clean up code for the
loser thread: the QtSharedPointer::ExternalRefCountData destructor has a
Q_ASSERT for the state of the reference counts. So we need to set the
state correctly before calling the destructor.
But we don't want to do it in case the Q_ASSERT compiled to nothing. So
we use a hack that violates the Second Rule of Q_ASSERTs: don't do
something with side-effects. This way, we can insert code that will only
be compiled if Q_ASSERTs do something, without having to duplicate the
preprocessor conditions from qglobal.h.
Fixes: QTBUG-71412
Change-Id: I1bd327aeaf73421a8ec5fffd1560fdfc8b73b70c
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
"xcb_randr_get_screen_info" can be slow and in some configurations can
cause short mouse cursor freezes (which will happen on Qt application
startup).
Initial screen rotation was used only to not handle possible redundant
screen change event.
Fixes: QTBUG-70760
Change-Id: I9f01325a045d2c82c4dd2fce91a18a34e54a4bcd
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
We used to have logic that explicitly marked a QWindow as "embedded",
but we now resolve this dynamically based on whether or not we have
a parent window owned by Qt or not.
As part of this refactoring the fix for QTBUG-63443 in ac35f9c44c
got lost. We restore the behavior by treating Qt::SubWindow as a
reason not to create a NSWindow for a view. This flag is set by
QMenuPrivate::moveWidgetToPlatformItem already.
Fixes: QTBUG-63443
Change-Id: I12bff546eefcb8f6c9ca43b1b879773d129a28f9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
We need to to explicitly unhide popup windows that were previously
explicitly hidden by applicationWillHide, so that their visibility will
be effectively restored when the application is unhidden (otherwise the
windows are gone forever even though their internal visibility is set to
true).
Change-Id: I4dbd209b07f769cc815851b40c41db0739ca2dc9
Task-number: QTBUG-71014
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Since Qt 5.10, qTo/FromBig/LittleEndian<float/double> stopped working.
It may be confusing, but big endian floats do exist, so not to break old
code, we should support them.
Change-Id: I21cdbc7f48ec030ce3d82f1cd1aad212f0fe5dd0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Prevents no-longer used QNSWindows from staying around (closed and
invisible, but alive), due to being auto-released when there is no
pool in place (during main(), before exec).
Change-Id: I4eb63c7140290ffe6bded8a76732354c846ed579
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
We need to support apps building against the 10.13 SDK, so that they
can opt out of dark mode and layer-backing. This does not mean we can't
require 10.14 to build Qt itself, but doing so should not require the
app to also build against the 10.14 SDK.
Change-Id: I53bd0fc8bf56c0be6614acec14d5173589e2620f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The SDK and deployment target versions are helpful to know when
diagnosing issues.
Change-Id: I85026bd9c1d706a923e8953837bd59bf9ed0266f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Commit b4bd5f9df3 removed two members from
the mwm hints structure but told xcb_change_property that the structure
has still five members when it had been reduced to three. This lead to
xcb_change_property accessing memory out of bounds.
As identified by Gatis, the safest option to avoid the access is to add
the two members again. Other window managers may be expecting their
presence in the window property.
Change-Id: Id4f0c9536cd317c35f2c6ebd1ac9ccc6f72de6a5
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
the test is stable in Qt 5.12.
Task-number: QTBUG-60993
Change-Id: I0c366567121688d9518e90b5e8f9ec1b4006b7b9
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
on macOS, the test seems to be stable nowadays.
Task-number: QTBUG-39986
Change-Id: I18430c3feb27a5bee5474e1eb95f7d89b25f00a9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
on macOS, where it was skipped but where it now seems to be stable/work.
Task-number: QTBUG-39983
Change-Id: I100a57f23b43074ebacc012be247d92acc6ae336
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This patch amends d67214302f.
The issue was caused by mistakenly interchanging
m_hasXRender <-> m_hasXRandr. Also renamed
selectXRandrEvents() -> xrandrSelectEvents() to be more
consistent with xi2Select*() API. And moved the xrandrSelectEvents()
to QXcbConnection ctor for the same reason.
Fixes: QTBUG-71305
Change-Id: I26f9bac3ae1f997f53134eb97f3569fb6d3c13fe
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
It seems some touchpads only send legacy WM_MOUSEWHEEL/WM_MOUSEHWHEEL
messages for 2-finger scrolling, instead of WM_POINTERWHEEL/
WM_POINTERHWHEEL, even after EnableMouseInPointer(TRUE), in spite of
sending the expected pointer messages for normal pointer movement/taps.
This change adds a workaround to handle legacy wheel messages even when
in pointer mode.
Task-number: QTBUG-71257
Change-Id: Ib360051147c4521751a5b91d90fa7657496777fa
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>