If two widgets are on top of each other, and the top widget disappears
in response to a press or release that is followed by a double click,
then the widget at the bottom only receives the double click event.
This is a sequence of events that the application developer that choses
to build such a UI has to take care of.
Change-Id: I440efd2cac01631de8995abf9a9fb76815de8f9a
Fixes: QTBUG-61173
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This powers a QQuickWidget and we also need to reset the context if we
get a context loss event.
Change-Id: Id8b7112606670985860069c2bb11cf141b3ac723
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
If the user specifies a font family in their application that doesn't
exist in the system, or one that uses the localized family name, we
will end up resolving the family alias for all fonts in the system,
which typically adds 600-800ms of startup time. Let the user know
when this happens.
Change-Id: Id8d6f55028e37f681ec4a686df25d33240b5a30f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Change-Id: Ieb7fa19e8bdd98f5283f7f6d8751e6532c8e0fc4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This variable was ignored for iOS projects, because the generated
Makefile includes xcodebuild.mk that defines its own default target.
Export PRE_TARGETDEPS to the Makefile before including xcodebuild.mk
and use it there for the dependencies of the generic build targets.
Fixes: QTBUG-41325
Change-Id: I5faa82e05570974b5a844ae95b0a012c3badc64a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Sometimes when setAlignment is called, the text stops rendering
correctly at some point. Adding relayoutDocument call to setAlignment
fixes the problem.
Fixes: QTBUG-78728
Change-Id: Iab1cf161f0c8d700804448733338c813b5bf9762
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
out of switch/case - can help in case some NSControl is using autorelease
and an application is calling drawControl too often.
Fixes: QTBUG-78761
Change-Id: I2b55d533f52db16703dcc965920f4316fdf76734
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Using desktop GL with this graphics card causes crashes e.g.
when using Qt WebEngine.
Fixes: QTBUG-58772
Change-Id: I90e12aab4475c17be262e391ff0989cebf0b3ec4
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
ICC 19 barfs on the TextCodecsMutexLocker class because it doesn't
have a user-provided default ctor:
../../corelib/codecs/qtextcodec.cpp(543): error #854: const variable locker requires an initializer -- class TextCodecsMutexLocker has no user-provided default constructor
[...]
But the class doesn't have members that would delete the
implictly-declared default ctor, so no user-provided default ctor
should be necessary:
The only member is the result of qt_unique_lock(), which is
std::unique_lock, which does have a default ctor.
We conclude that this is a compiler bug, and work around it with the
introduction of a user-provided default ctor.
Fix brace placement as a drive-by.
Fixes: QTBUG-78844
Change-Id: I1f5a326afd68138fbebad506ba9aa1926f1afb85
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Screen refresh rate might not be just integer but with decimal part
like, for example, 59.97 Hz. Fix calculation from raw xcb data and its
store type as it is qreal already for QScreen::refreshRate API.
Task-number: QTBUG-73911
Change-Id: Ia0494e953176c2854f0ed42c4498a29cfef16106
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
- Fix indentation
- Fix empty name returned for WinRT.
- Remove duplicated string "Version" for Windows 10
Change-Id: Ia093006a6f8d8c88257d6b4e31afa37510dc6037
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Some parts of the new QTextDocument table border logic depend on the QCss
namespace which is not available with -no-feature-cssparser.
Change-Id: Ib8396894dc35872f22c634e1d6c38968d3dd4756
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
QLocale::uiLanguages() on the system locale uses whatever the system
locale's query(QSystemLocale::UILanguages,...) returns. On Android,
this is just a list of locales. However, for non-system locales, we
also include some results of removing likely sub-tags from the locale
name, where equivalent. Thus zh-CN would also get zh and zh-Hans-CN
added to it; however, if the system locale is zh-Hans-CN, the shorter
forms are omitted. So post-process the system locale list in the same
way, albeit tweaked to avoid duplicates and rearranged so that we can
insert likely-adjusted entries between what they adjust and what
followed it.
Added QLocalePrivate::rawName() in the process, since it looks likely
to be useful in other contexts (and I needed its value): it just joins
such tags as are non-Any. This, however, uses QByteArrayList, so added
that (it's small) to the bootstrap library and qmake.
This follows up on commit 8796e3016f.
[ChangeLog][QtCore][QLocale] The system locale's UI languages list now
includes, as for that of an ordinary locale, the results of adding
likely sub-tags from each locale name, and of removing some, where
this doesn't change which locale is specified. This gives searches for
translation files a better chance of finding a suitable file.
Fixes: QTBUG-75413
Change-Id: Iaafd79aac6a0fdd5f44aed16e445e84a2267c9da
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Is't been deprecated since Mac OS X 10.5.
Task-number: QTBUG-74872
Change-Id: I8b1ad7aca6448883cb164fd0c4b329592ca60548
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Instead of forcing the user to cast:
QCFType<CFFooRef> foo = (CFFooRef)CFFunctionReturningCFTypeRef());
We can do it for them, since we already know the expected type:
auto foo = QCFType<CFFooRef>(CFFunctionReturningCFTypeRef));
Change-Id: I994d5d6530f220288b4bfd6ab16eae9f159ce3ef
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Disambiguates between the QString and CFStringRef overloads.
Change-Id: I55a7121cd7449b4adc081f6bb7e29736e7af4442
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
[ChangeLog][qmake] The syntax 'LIBS += -frameworkFoo', or
'LIBS += "-framework Foo"' is no longer supported. Use the
canonical 'LIBS += -framework Foo' instead.
Change-Id: I50fd02dbfa155a0b95859734486a92bd448e87c2
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Change-Id: Iedbe0e9363b6bd97071b38aa1d4546777b34139d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Commit f66c1db16c introduced Q_NAMESPACE_EXPORT and cmake automoc
needs to be told to trigger moc creation for headers using that.
The default value for this variable, from cmake's
Modules/CMakeGenericSystem.cmake is
set(CMAKE_AUTOMOC_MACRO_NAMES "Q_OBJECT" "Q_GADGET" "Q_NAMESPACE")
But it makes more sense to set this here than in upstream cmake, anyway,
given that changes to this list happen here in qtbase.
Change-Id: I07c85fd0bb5e03e98df7687a8663e28620e1fdb6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
The base WindowSystemEvent has had an eventAccepted flag since 2014.
Change-Id: Ia0aa795083cd98ece83a4c1cc010d3a25e2489fd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
People tend to "turn off debug and release builds" by just not building
one of the variants. For example, Qt's own rcc is built in release only,
however it is configured for debug_and_release with the same TARGET for
both.
Let qmake complain about conflicting TARGETs only we're about to build
all of those conflicting targets, i.e. if build_all is set.
Change-Id: I0448bf5cb421e2d801d3cc30e0d80353fba0d999
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Do not resolve -l entries to absolute file paths for libraries in the
default search paths.
This restores behavior from 5.12.0 (commit 2327944d) for Windows
system libraries.
Fixes: QTBUG-78827
Change-Id: Ic2d4626df87308dd635afc1ab5c4b8191d3d2831
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This is probably still the wrong thing to do here, though.
Change-Id: I4ff76393dde0b9ad9eb4a5e0d35fb6125d141901
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
When our ELF entry point function is started by the kernel, the stack is
aligned at 16 bytes. However, the stack is expected to be off by 8, due
to a preceding CALL instruction which didn't exist. This cauases a crash
further down as the compiler may generate aligned stack access.
Change-Id: I1496b069cc534f1a838dfffd15c9dc4ef9e3869e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
It is conceivable that during the try-compare loop of processing
windowing system events we loose and regain the focus. That would
explain the occasional test failure where instead of the expected 3
focus in events, we have received four.
Task-number: QTBUG-77769
Change-Id: I2221440d09a74d4d18a72f7786232b4491cf45a8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 56f084781e)
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
It is finite and normal; it classifies as a zero; and it should not be > qfloat16(0).
Added tests to match.
Change-Id: I7874fb54f622b4cdf28b0894050ad3e75cf5d77c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Move out the QSqlField variable out of the loop to avoid useless
(de)allocations of QSqlField.
Change-Id: I2c9e4c84f75e994d5eb1438839d502f6da531841
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Add pragmas to not print warnings about the usage of the deprecated
warnings inside QtCore.
Change-Id: I2cd9f111cdf13cddff527ab3bac7fa80417d1445
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
The flowlayout example crashes on startup because the last change
removed a c-style cast which converted -1 to ~0U ...
Fixes: QTBUG-78861
Change-Id: I0dbed4472b4f68a92b3f92763d00d28baa186f9a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
If the first column is hidden in a QTreeWidget then when doing a drag
then the selected indexes will not include any that have a column of 0.
Therefore it has to account for this use std::unique to ensure that
there is only one instance of the selected items represented by the
selected indexes.
Fixes: QTBUG-35511
Change-Id: I39dff596959f30db7378ff946735ee2866778524
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
The root of the framework bundle shouldn't contain random files,
and doing so will prevent the bundle from being signable.
We still look up prl files in the root, to keep backwards
compatibility.
Change-Id: Ifd0bc3c6e7924e89eec54d3ef9368dfc95ed402c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The category is used outside of QtCore, and needs to be exported
for shared library builds.
Change-Id: I9bba477d37b823146eaec4e1e53197651f09c013
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Its limits() test was rather large and had some overlap with an older
qNan() test, that needed some clean-up (it combined qfloat16 values
with double and float values in ways that caused qfloat16 to be
promoted to another type, so we weren't testing qfloat16).
Renamed the qNan() test to qNaN(), separated out the parts of it that
actually tested infinity. Moved various parts of limits() to these and
rationalised the result. Split out a properties() test from limits()
for the properties of the qfloat16 type that are supplied by its
numeric_limits. Split out a data-driven finite() test to cover some
repeated code that was in limits() and extended it to test more
values. Added more tests of isNormal().
Fixed my earlier UK-ish spelling of "optimise", in the process, and
identify the processor rather than the virtualization as the context
where the compiler errs.
Change-Id: I8133da6fb7995ee20e5802c6357d611c8c0cba73
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Triangle fan drawing is only supported on some platforms. The feature
flag QRhi::TriangleFanTopology is set accordingly.
In general, TriangleStrip topology will be more efficient on most GPUs.
However, if polygon data is already stored as triangle fans, the CPU
savings may be more significant.
Change-Id: I9704fad751d2119eac8791074f58942dd9315601
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
No need for those mutexes.
Task-number: QTBUG-78908
Change-Id: I60c32df1f8729098f1894eff7c71e7fbcbd23ecf
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
As usual, keep some QVector overloads around to allow Qt Quick to compile.
Color attachments and vertex input bindings get an at(index) type of
accessor, unlike any other of similar lists. This is because there the
index is significant, and sequential iteration is not the only type of
operation that is performed. Sometimes a lookup based on an index will
be needed as well.
Task-number: QTBUG-78883
Change-Id: I3882941f09e94ee2f179e0e9b8161551f0d5dae7
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
This way we can actually filter out times in sitatuations where it
proved to not be available and as a library we can simply "use" it.
Added in the pkgConfig source as well to make sure we can pick it up
on systems where it has a different name.
Fixes: QTBUG-78765
Change-Id: I4754923ddafd9274105e4f93d66a4039872e310c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: André Klitzing <aklitzing@gmail.com>