longer term, the redundant .dlls from the libdir will hopefully
disappear. short term, this is a workaround for CI brokenness.
Change-Id: Ia30173355f3aca222d4ca40e7a38c2cf535bbc03
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Since AArch64 NEON assembly is different from Arm32 NEON we need to
write a separate version.
Assembly is used over intrinsics as the intrinsics have trouble
efficiently using the vstX and vldX instructions.
Change-Id: I5b67fc87acb2433b503e658099b742d57a9cff18
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
As these are strongly typed, they won't implicitly convert to int, so make sure
to cast explicitly.
(cherry picked from commit 9626baaea9, auto test
is not included)
Task-number: QTBUG-49597
Change-Id: I29c4331a9b0c61f2e60c2bcab5a99f65daa7060f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Ensure the test works in a working directory with read-only
permission and that the file names are unique.
The test can then be executed repeatedly by COIN even in case
left-over hanging process helpers still lock the files. Also
disambiguate the "data" files used by various tests.
Task-number: QTBUG-47370
Change-Id: I3b9c7b70828da78f400196fcbba27bc61ea4538f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Speeds up application startup by a few percent, even with just a normal
amount of fonts installed.
Change-Id: I4c3d87119ddbc53e66166f21cb72946cdf7e4a41
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Introduce constants and make the interval for the 2nd thread a bit
longer.
Task-number: QTBUG-49653
Change-Id: I92ac0494ec6c9af5bde858007d08e26210215434
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Introduce a base class for the threads that ensures termination in the
destructor to ensure all QThreads instantiated on the stack are terminated.
This should reduce crashes since the test thread classes have pointers
to stack variables of the test slots.
Set object names on the threads for better diagnostics.
Decouple wakeOne()/wakeAll() that impact each other via the static count
variables of the thread class by introducing a base class WakeThreadBase
keeping a pointer to an QAtomicInt count variable on the stack instead
(similar to the existing pointers to the mutexes, etc).
Task-number: QTBUG-49653
Change-Id: I73537386bf36019efa81e8e24ba9af92506f7794
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
QSystemTrayIcon's window should send QEvent::ToolTip to QSystemTrayIcon
main class under X11. This patch fixes regression inroduced in Qt 5.0.
Change-Id: I81f6d85e13f492e5e7d13dacc44185a511e5085d
Task-number: QTBUG-46130
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
The __ARM_NEON is the standard define for NEON instructions support
__ARM_NEON__ is only legacy, and specifically not defined in
AArch64 builds, which causes us not to detect NEON support there.
The NEON assembler files doesn't build with AArch64, so the NEON
drawhelper methods must be excluded for now.
Change-Id: Ie32f855bde94ee7efd8a8ddb7766c931778e729b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The xcodebuild tool only supports the install action for devices, not
for the iOS simulator platform.
Change-Id: I47e8bb7d44962bd4a433a314fa9d315ed3683ca6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
In a Chrome Remote Desktop session the htotal and/or vtotal timings
can be zero and lead to a SIGFPE exception.
Task-number: QTBUG-49322
Change-Id: Id530335cc760d1938ed888ad095427fcf32c651d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Nicolas Capens <nicolas.capens@gmail.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
The ifdef gave an impression of the code path being hit only when
texture-backed widgets are present and OpenGL-based compositing is
active. This is false. Asserting on having a context current is
wrong (as shown by autotests on the 5.6 branch).
Change-Id: I2539f0aac75b26597f49f63edcd9580428be79b7
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
As 3D touch can be disabled/enabled at runtime on those devices, we need
to watch for changes to the relevant settings and update the touch device
capabilities that we report to the user.
Note that iOS will deliver touchesBegan with a touch force of 0, which
we will reflect/propagate as a 0 pressure, but there is no clear
alternative, as we don't want to wait for a touchedMoved before
sending a touch press event to Qt, just to have a valid pressure.
Change-Id: I47fb8a9f98ab3244e16a337bbfcf1fe24e4c7aa2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
We test that inline conversion between same image depths always succeed
inline, but that requires that any direct conversions exists both in
non-inline and inline versions.
This patch adds a non-sse2 inline conversion from ARGB32 to ARGB32PM
which was missing.
Change-Id: I71937cd4b77fb41fe2064da937f6dcbf2a6534e6
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
It was used to verify waitForFinished() and printed QProcess::errorString()
on failure, which is misleading, since the process is not
in an error state - it is still running. Example:
QWARN : tst_QProcess::setStandardOutputFileAndWaitForBytesWritten() QProcess error: 5: Unknown error
FAIL! : tst_QProcess::setStandardOutputFileAndWaitForBytesWritten() 'ret' returned FALSE. ()
Use a plain QVERIFY instead.
Task-number: QTBUG-47370
Change-Id: Iacfa6e1a5ffd2be4e1257a27a400ccc59671e8c8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Silence warning:
Don't know how to handle 'hint', use qRegisterMetaType to register it.
Task-number: QTBUG-49623
Change-Id: Iec0a823c7af87eddd9a3f126a1b970da1ff2f03f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Don't know how to handle 'hint', use qRegisterMetaType to register it.
becomes:
QSignalSpy: Unable to handle parameter 'hint' of type 'QAbstractItemModel::LayoutChangeHint' of method 'layoutChanged', use qRegisterMetaType to register it.
Task-number: QTBUG-49623
Change-Id: I5020bb5b6f4ba87438d0f862279bed1ceb203d12
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
0e99f3c broke tst_qquicktextinput::horizontalAlignment_RightToLeft()
and tst_qquicktextedit::hAlign_RightToLeft(). This fix was proposed
by Konstantin.
Change-Id: I602b7301d415f266224ae2c1ffd81244e9565862
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Things I noticed while reading - so I fixed them.
Change-Id: I48f6f2eef7ac3cf901e2f1305c503fb18f5ab2ae
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
This sample will help user needing to react on QFileOpenEvent get
started faster.
Change-Id: I7def292894fc39d803f70cbf0453f6791b7aea15
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Changes to other widgets in the window, especially special cases like
moving dock widgets around, trigger an unfortunately high number of
paint events and calls to paintGL(). Let's try to avoid this.
There is no need to send out a paint event to a texture-backed widget
when it was not explicitly dirtied. Overlaps won't matter since such
widgets are not part of the backingstore. Everything else has to work
like ordinary widgets, though, it is only the QPaintEvent sending we
can optimize away, nothing else.
Task-number: QTBUG-49466
Change-Id: I8ef294ba0a6c305d0002a80e85c06db2c2501cf8
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Move the code from cleanup() into a separate cleanupTestData()
and call this from initTestData() and cleanup(). Remove slot init().
Change-Id: I4e7b5b89197ed0aa50f46f730e9c1d9c59749614
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Use a QTemporaryFile in readFromFileAfterJunk() instead writing
to the current directory which might not have write permission.
Enclose each call to QFile::open() in QVERIFY2() with error message.
Change-Id: I3c5da31c6681a2396cee473cafe7d92c5c220de3
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
This reverts commit 5b62a5e7aa.
This commit is reverted due to two reasons:
1) It was written incorrectly and does not work as is. The
ifdefs should be ifndefs. In its current state, it does
the exact opposite of what it is supposed to be doing.
2) There is another environment access inside qsimd.cpp
(which checks QT_NO_CPU_FEATURE). This access causes the
app to hang.
All in all that approach is not sustainable as we might get
bitten by environment access again and again. Instead we should
use another environment container or use a recursive mutex for
WinRT and Windows CE.
Task-number: QTBUG-49529
Change-Id: Iaca76404dc1023551a7c25489a609681135765fd
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Create a temporary directory instead of writing to the
test data directory or home path (Android).
Change-Id: I6af583e5da91eefb603eaae179e7d789487dc626
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
We assumed that creating a window would always result in a configure
notify event, so we delayed sending the initial expose event until
receiving the configure notify.
That strategy fails in cases where the window does not need a reconfigure
after being created, such as when not running a window manager, or when
creating child windows. In those cases the window is just mapped, and
we ended up never sending an expose event.
The problem was masked by sometimes receiving an explicit expose event
from X, just after the mapped notification, which we then sent without
waiting for configure. Unfortunately we can't rely on this behavior
and need to remove the deferred expose event logic, so that we always
ensure that at least one expose event is sent to Qt.
Change-Id: I702be7f24de2a1e89c085fb6bd95bb8ff7792a27
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
We need to remember where the included file's name starts anyway; if
we move this to before the search for the end, we don't need a
separate variable to keep track of its length.
Change-Id: Ia8d72839ac3fa32f2e748a21ee70dcab614562f4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This is a partial revert of aecf3006bd.
The DPI needs to be set inside the constructor to have the text
rendering initialize properly. Landscape orientation fix is still valid
and the dpi change was unrelated to resolve QTBUG-49470.
Task-number: QTBUG-49610
Task-number: QTBUG-49470
Change-Id: I928b8d291b65cd744731c009917804b96253c276
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Shifting a signed integer that overflows is undefined behavior. All
masks were changed to unsigned in qRgb and qRgba. While the alpha value
is enough to fix the undefined behavior, Visual C++ generates slow
code if not all of those constants are unsigned.
Change-Id: Ia0ec3e9464088495173b4ad9c2e37a49e6f8e987
Task-number: QTBUG-49595
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Qt uses QHash as the container for faking environment variables on
Windows Runtime and CE. Environment variable manipulation functions are
protected by mutex. Accessing the QT_HASH_SEED environment variable
inside QHash can lead to situation where qputenv() call leads to
qgetenv() call and that leads to a deadlock. Since the application
environment is faked anyway, drop support for QT_HASH_SEED and ifdef
that functionality out on those platforms. Documentation is updated
to reflect changes.
Task-number: QTBUG-49529
Change-Id: I1b1c28cb0b041fe2a63ca3dce57068fcb46505a7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Since the item positions are guaranteed to grow, we could safely re-use
the obtained first item while looking for the last item in the chain.
Change-Id: I5e42f5de820c62a51a109a4b227b031c697aa898
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
The documentation already states we're doing this, so stop lying
and implement it properly :)
Change-Id: Ic78980d76f61e8aa64e59ea058a8105d9c507774
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
In fact, this is an extra info no one ever cares about.
We already have properly configured INCLUDEPATH to look for png.h.
Change-Id: I27fec4d474570683c6c371dff34472a7c650fe65
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Set the DXGI_MWA_NO_ALT_ENTER to suppress the Alt-Enter shortcut
causing the window to become full screen.
Task-number: QTBUG-44904
Change-Id: Ia4156ddee37a8a3da6e9e3130022c63a674f4429
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
A table in enum doc may have long literal strings defined
as enum values - they take up space from the Description column,
and often force a scrollbar to appear, making the entire
table difficult to read.
Alleviate this by reducing the font size for the text in Value
column.
Change-Id: I18495a4f506851f9eff2cd94f5cdfcb03096c698
Task-number: QTWEBSITE-658
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
The part of qmodule.pri that is supposed to set QT_CPU_FEATURES ends up
missing in the output.
Change-Id: I30f3dbad5ac22d32e25d63037980dac370adc4ea
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
removeFromSuperview could be called from outside the Qt domain (e.g from
a native cocoa gui). we need to guard it by an autorelease pool to make
sure that potential release/dealloc methods are not postponed to a point
when we do not have a qapplication anymore
Change-Id: If65cce4c524a16ffee125694c534f900c7d08fa8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Move QWindowsDrag::defaultCursor() to the per-screen instance
of QWindowsCursor so that the cached default drag cursor pixmaps
are created with the correct size per screen.
Task-number: QTBUG-49511
Change-Id: I02f75ac3b1e5e064325b066ee03e1d5c8a7c7ee8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
QWindowsCursor::customCursor() uses a best match algorithm to
find the most suitable pixmap for the cursor size obtained
from GetSystemMetrics(). This size is correct for the primary
screen only; in High DPI + normal monitor multiscreen-environments,
the cursors will be too large on the secondary monitor.
Pass the platform screen to apply a correction factor based on
logical DPI to obtain the correct size.
Task-number: QTBUG-49511
Change-Id: I8a64a969e3ade7ab5029e3ae904a0bcbb4704f90
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Apply a per screen scale factor, also taking the device pixel
ratios of the pixmaps into account.
Task-number: QTBUG-49511
Change-Id: If46b6eeb37635c2c4046992c1ba06711ccf54eae
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
The pixmap-based cursors and some of the standard cursors we
create from resource pixmaps need to be separated per screen.
Use a QScopedPointer containing the per-screen cursor instead
of the previously used QSharedPointer containing the cursor
shared by all screens.
Task-number: QTBUG-49511
Change-Id: I5203fcc4ecf5a7ff3fea833a4eaeb5300a6e6d54
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Windows opened from keyboard (e.g. keyboard shortcut) are not active on
Marco or Xfwm4. These windows are under the window which received the
key event. This patch fixes the problem by updating XCB timestamp on
every key press like Qt4 does.
Task-number: QTBUG-49567
Change-Id: I9ea483784ac361d0b645d0f11f643868b367ac2c
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>