... and make it explicit where we can't do that for semantical or
backwards compat reasons.
most urgently, this fixes an assertion failure when $QMAKEFEATURES
contains empty paths (e.g., due to a trailing semicolon).
notable observation: QByteArray::split() has no argument for the split
behavior (it always keeps empty parts).
Task-number: QTBUG-47325
Change-Id: I72d4b2e154a2ed1802cfa98fb4a5211a68e43231
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
QWindowsWindowFunctions::setWindowActivationBehavior() does not work
because QWindowsNativeInterface::platformFunction() is broken.
Task-number: QTBUG-37435
Task-number: QTBUG-14062
Change-Id: Id5688316654ea8ad47d5c68894c376cb83e3583a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This reverts commit 90493e16b8.
The change broke static builds with MSVC.
[ChangeLog][Visual Studio] Reverted a change that caused static
binaries compiled with Visual Studio 2015 to crash on start-up. Note
that this does not apply to Visual Studio 2017 static binaries, even
though the crash stack traces are very similar: with 2017, the problem
is compiler regression and requires updating to version 15.8 for the
fix.
Task-number: QTBUG-68514
Change-Id: I67ea8e1ef442cecab83e7d8d74efc9617e02da35
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QWidget::render was ignoring QOpenGLWidget/QQuickWidget with
AlwaysStackOnTop set, because normally they will be composited later,
however when not doing a backing store render, they need to be painted
right away as there is no later.
Task-number: QTBUG-67533
Change-Id: I08e2eeee5e7a8f0dbbf43f659fcfa9068e8c46d1
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Even if the window isn't configured with Qt::WindowFullscreenButtonHint,
the user might call showFullScreen(), which we respect and move the
window into fullscreen. In this state, we need to keep the collection
behavior as NSWindowCollectionBehaviorFullScreenPrimary, otherwise the
zoom button will have no effect and the user can't move out of fullscreen.
Change-Id: I77a4b4ee4b42fabc4c6ed2f529ff57acc31d6c24
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This differs from both C rounding (away from zero), and IEEE-754
rounding (to even).
Change-Id: I2cdd358824ca14c922b23029308e3ce3258c1d8f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
making the dependencies on tools/ optional was meant to maximize build
parallelization, but it's just too fragile, as nobody ever remembers (or
even knows) about having to add the flags when necessary.
Task-number: QTBUG-68478
Change-Id: I85c0b65d5a63109aedc24bc17eaaaf46b777b634
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The change to fix 16-bit integer overflow used two floor operations
when only one is necessary. With floor being rather expensive on x86
without SSE4.1 this caused a performance regression in ARGB32
smooth perspective transforms.
This eliminates one of the floor operations which is unnecessary as the
number is always positive in this case and thus truncation will yield
the same result faster.
Change-Id: Iaae76820d4bc2f368e49ed143130b5075fc760a2
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
qFuzzyIsNull has a fixed range, where qFuzzyCompare can tell if numbers
are different in a more relative range. Without it QPointFs that are
heavily scaled will be interpreted as identical, when they are quite
different at their own scale.
Task-number: QTBUG-60359
Task-number: QTBUG-62161
Change-Id: Ic4ba90e9e994aedff5548d690f053eb309b0a60b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
I'd never thought about it, but it is a requirement: a signal handler
must leave the global state as it found it (except for those bits that
it intended to change, and those must be done in an async-signal-safe
way). Otherwise, errno could change from one line to the next in the
middle of some code.
[ChangeLog][QtCore][QProcess] On Unix, the QProcess SIGCHLD handler now
restores errno on exit.
Task-number: QTBUG-68472
Change-Id: If025d476890745368955fffd1531e7126f1436d9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
They were introduced in commit c416a7f257.
warning: ‘QString::QString(const QByteArray&)’ is deprecated: Use fromUtf8, QStringLiteral, or QLatin1String [-Wdeprecated-declarations]
Change-Id: I6a540578e810472bb455fffd1532e31736e1edc9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
We move QInternalMimeData to a separate file, because this class is
used, even if draganddrop is disabled. From now on, include
qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData.
Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
AppKit will normally compute this automatically based on the
contentMaxSize property of the NSWindow, which we set correctly
based on the window's maximum size, but since we ignore the
frame proposed by AppKit (due to not working for borderless
windows), we need to take the maximum size into account ourselves.
We follow the lead of QCocoaWindow::propagateSizeHints(), and
interpret the window's maximum size as referring to the client
area size, not including the frame geometry, but AppKit expects
the NSWindow's frame, so we need to manually add the frame.
In addition, AppKit expects the frame in the native coordinate
system, so we need to map to it. This was an existing bug, that
never manifested before taking the maximum size into account.
Task-number: QTBUG-67376
Change-Id: Id4cf6ff5640610f809472e5b1d591b4ec17df602
Reviewed-by: Morten Johan Sørvig <morten.sorvig@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>
(cherry picked from commit 5414d372d4)
It happens because our filesystemwatcher thinks it is subdirectory and not
two different paths
Task-number: QTBUG-60676
Change-Id: Ic753e9481cb26303a030044e0a5ab4d703bc529f
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
When a new model was set with setSourceModel() and the mapping was
built up, the destruction of the old model caused a reset in the
QSortFilterProxyModel which lead to an empty view or an assertion.
Now we properly disconnect the old model again and also clean up the old
mapping/persistent indexes when a new source model is set.
Task-number: QTBUG-44962
Task-number: QTBUG-67948
Task-number: QTBUG-68427
Change-Id: I2e0612899c210bde3ac0cfa59aefd78269deee5b
Reviewed-by: David Faure <david.faure@kdab.com>
More recent versions of Android lint triggers an error when a
translation is missing. The solution is to either provide translations
for all languages supported or add translatable="false" as property to
the strings that are not yet fully translated.
Task-number: QTBUG-63952
Change-Id: I5afa8a23d3e2285b5c93ee493d9b02397c328f2d
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
A custom build of openssl can disable DES or RC2. This
allows to build Qt against those builds.
Change-Id: I9b91c943fab4d217a791381e81a7d87a9ff5031a
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
When multiplying a float in [0;1[ with (1<<16), with rounding, it might
end up being rounded to 65536 even if the input was under 1. This patch
uses a floor operation to make sure the value can be in a ushort, and
cleans up the surrounding code so it is clearer what it does.
Task-number: QTBUG-68360
Change-Id: I2d566586765db3d68e8e7e5fb2fd1df20dabd922
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
If LANGUAGE specified only the language, without any script or
country, and matched the value we'd got from other environment
variables, we were throwing away their knowledge of script and
country, leading to falling back on the default script and country for
that language, which might be at odds with what other environment
variables had told us.
Changed to only use LANGUAGE if it contradicts (or extends) what we
would otherwise have used. Clarified some comments in the process.
[ChangeLog][QLocale][Unix] When using LANGUAGE would lose information
about script or country, without changing language, use the locale
implied by LC_ALL, LC_MESSAGES or LANG.
Prompted-by: Safa AlFulaij <safa1996alfulaij@gmail.com>
Change-Id: Ie433e57ae6b995abafd05c931136cc9796494895
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use the printer's HDC instead of the screen HDC for StretchBlt().
Patch as contributed via bug report.
Task-number: QTBUG-59689
Task-number: QTBUG-66325
Change-Id: I9b5d6ddd3f0e9e68f2a003ca9ed20ece20dccef8
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
We require linkat(2) to materialize the file and that is (stupidly)
filtered. See 138d34b9c8 and QTBUG-64103.
Task-number: QTBUG-68344
Change-Id: I052407b777ec43f78378fffd152fd8822761b452
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Replace image and icon in the SQL Master Detail example application,
as well as the screenshot of the application on the landing page.
Task-number: QTBUG-60633
Change-Id: Ic739908b569ea7f974b9dac48f673e14f6557550
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
We need to add the \relates command otherwise it won't appear in the documentation
Change-Id: I134776c1528445761a7539cf687e4855d39eb7a7
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Turns out that the non-AVX2 code was beating the performance of the AVX2
because the simdTestMask function did a little too much. So just use the
same VPMOVMSKB technique for it.
Change-Id: I0825ff5b5f6f4c85939ffffd152f3b636ab998db
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Replace the XML pages which are typically displayed as broken
by the XTHML pages. Strip some suffixes.
Change-Id: Idf2b9706f169484c659582a1a2d38904d5dd81aa
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Wait for the spinbox to show become active in the previous test. Also use
QWidget::activateWindow() instead of QApplication::setActiveWindow(). Use of the
latter seemed to result in some confusion where QWidget::isActiveWindow()
returned true but QWindow::isActive() on the underlying window returned false,
leading qWaitForWindowActive() to fail.
Also remove superfluous setting of focus. It was just set and verified.
Change-Id: I023cdc2d272e23b2537b32606b7a3bf35bf671ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
[ChangeLog][QtCore][QSharedPointer] Fixed a problem that made create()
on a type with const qualification fail to compile.
Task-number: QTBUG-68300
Change-Id: I0825ff5b5f6f4c85939ffffd152f3e55e5b9caae
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>