Commit Graph

37681 Commits

Author SHA1 Message Date
Christian Ehrlicher
2b17731413 QTableView: fix calculating cells to draw
The width of the bitarray which should avoid redraws of already drawn
cells is sometimes calculated with other parameters then the actual
drawing. This can lead to cells which are not drawn.
The reason for the discrepancy is that for the initial calculation the
headers viewport width is taken which can be smaller than the real
width due to a css border. Since all other QHeaderView operations do not
take the border into account the problem arises.
This will not fix the visual glitch (the header separators are not
painted at the same position as the grid) but will at least draw all
needed cells.

Task-number: QTBUG-20316
Change-Id: I4a1e35ee3ea51b1b458ad3497aab0a34af680cb8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-17 14:01:28 +00:00
Paul Wicking
b7a123a6ee Doc: Remove outdated and unmaintained examples
These examples are outdated and unmaintained, and have not been included
in the documentation for a long time. Removing the files to avoid
further confusion.

Task-number: QTBUG-59249
Change-Id: I3e4c535219cc6b40f3add5430c0967eba2c80eb9
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-17 10:42:04 +00:00
Christian Ehrlicher
46f1061822 QTextStream - re-enable manipulators test case
Use setIntegerBase/setFieldAlignment/setNumberFlags instead the old
manipulator flags from Qt3

Task-number: QTBUG-22802
Change-Id: Ifee3c2601e293f3f3988b30148d67b8bb0428a37
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-17 06:09:29 +00:00
Liang Qi
23f1be0c67 Merge "Merge remote-tracking branch 'origin/5.12' into dev" into refs/staging/dev 2018-09-16 14:55:30 +00:00
Sergio Martins
2a9cdd88b0 stylesheets: Don't fail silently with invalid background-images
Print a qWarning, otherwise this is very hard to notice

Change-Id: I882f97583071e786d5aa06f6eeb485da4fc646db
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2018-09-16 13:26:24 +00:00
Andreas Hartmetz
50315cc56e Fix return value of GLib event dispatcher socketNotifierSourceCheck
The wrong return value didn't seem to result in observable bugs.

Change-Id: Iaba74d0acd4352af9be70498a7d5556bb1e02f5f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-16 12:31:06 +00:00
Andreas Hartmetz
37df81b788 GLib event dispatcher: fix iteration in source check in error case
It was accessing the deleted current element in a potentially
reallocated container.

Change-Id: I81d86410907b7b0c20c2edc62ad256315606bc96
Reviewed-by: Andreas Hartmetz <ahartmetz@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-16 12:31:00 +00:00
Gatis Paeglis
232fe3ab6a doc: add note about QAbstractEventDispatcher::wakeUp() for {Unix,Glib}
Task-number: QTBUG-70229
Change-Id: I3efc20baf0cfeb79834f3f2b7aa5a4cb049542f6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-16 11:22:48 +00:00
Qt Forward Merge Bot
4e0fcc6ffc Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Ic3ffc44d61448a44353c004b9f6703786cc1b213
2018-09-16 01:00:13 +02:00
Thiago Macieira
d241616e41 AVX512 test: an intrinsic that GCC forgot to implement prior to GCC8
_mm512_mask_cvtepi32_storeu_epi8 is VPMOVDB (convert from 32-bit to 8-bit
with truncation) where the destination is a memory address, with an
OpMask register used to indicate which of the lanes in the vector to
store. Similarly, _mm512_mask_cvtepi16_storeu_epi8 is VPMOVWB (convert
from 16-bit o 8-bit), which is useful for UTF-16 to Latin1 conversion.

Change-Id: I8f261579aad648fdb4f0fffd15542ea306841ce6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-09-15 20:55:25 +00:00
Thiago Macieira
cb5c24fa26 Fix integer overflow in very long sections in ELF objects
The source is an ElfXX_Off, which is an unsigned 32- or 64-bit. That
means any section bigger than 2 GB would cause an overflow when we
assigned in

    m_stringTableFileOffset = strtab.offset;

Change-Id: Ib47c56818178458a88b4fffd15546bd47a89894e
Fixes: QTBUG-70560
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-09-15 19:46:40 +00:00
Christian Ehrlicher
6bb0cbc686 tst_QMdiSubWindow: fix flaky setOpaqueResizeAndMove test
tst_QMdiSubWindow::setOpaqueResizeAndMove checks if a resize of the mdi
subwindow works as expected by simulating mouse events. Those events are
sent to fast and therefore the operationMap of QMdiSubWindowPrivate is
not yet updated which let the test fail. There was already a call to
qWait(250) to wait for the 200ms timer but sometimes (esp. in virtual
environments) the timer was not triggered after this period.
Fix it by checking if resizeTimerId is set back to -1 which means that
updateDirtyRegions() was called.

Change-Id: I961ba80589d2f725a6858ba70b84fb35750a6964
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-15 15:39:21 +00:00
Tony Sarajärvi
f4dd670fe9 Blacklist an extremely flaky tst_QDoubleSpinBox::editingFinished test
Task-number: QTBUG-70088
Change-Id: I9239f379121f6167dd665ae3137a449d0ac5b6c7
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-09-15 15:39:00 +00:00
Tony Sarajärvi
004b3742a2 Blacklist a tst_QFileDialog2 test due to extreme flakiness in macOS
Task-number: QTBUG-70087
Change-Id: Icc2467177209fef8aad59c5424e936ef96aa6289
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-09-15 15:38:46 +00:00
Olivier Goffart
6ff862a682 Fix binary compatibility with old generated moc files
Commit 1c623bc6d1 introduced a new
QMetaObject revision, which change the size of the QMetaEnum data.
When looking up QMetaEnum in a QMetaObject, this size need to be
checked for every different QMEtaObject from the hierarchy, not just
the first one.

Change-Id: I6f0d3982329822e15e284aef9b141d4c9ab351b9
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-09-15 15:06:38 +00:00
Mikhail Svetkin
6723155bc7 QOffsetStringArray: fix compilation error with ICC18
error: expression must have a constant value
  static constexpr const auto messages = qOffsetStringArray(

Change-Id: I80a6bf5b83f99a8325511ac8a14e0c9819e3d2b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-14 20:08:15 +00:00
Allan Sandfeld Jensen
1511bfef52 Disable RGB64 backend for ARGB32 when it will be very slow
Fixes a speed regression on ARGB32 painting on low end hardware
introduced when it was switched to using the RGB64 raster routines.
It turns out several of our embedded QPA targets use ARGB32 as native
format.

Task-number: QTBUG-69724
Change-Id: I6d7993c12da46a85b8354eb905930dae9602b5e6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-14 16:57:02 +00:00
Romain Pokrzywka
5728a9d8a7 Windows QPA: Dispatch skipped touch/pen events if compression is off
If the hardware produces events faster than the app can consume between
two updates, Windows automatically coalesces them into a single message
with the latest touch/pen pointer state and coordinates, effectively
compressing those events. But the pointer API also supports querying
and retrieving the skipped individual touch and pen frames.

There are cases where keeping all the events generated by the hardware
is desired, especially for pen events where having the most sampled
points available is critical to precisely rendering curves.

Qt already defines application attributes to control event compression
for general high frequency events and for tablet events in particular.
Use them on Windows also to control whether to retrieve skipped frames.

[ChangeLog][Windows] The application attributes AA_CompressTabletEvents
and AA_CompressHighFrequencyEvents are now supported on Windows 8 and
above for touch/pen input, with the same defaults as on X11 (compress
touch events, don't compress tablet events)

Task-number: QTBUG-44964
Task-number: QTBUG-60437
Change-Id: I1b11a043e2d71ee502895971fafb3a46306a89d8
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-14 15:41:28 +00:00
Qt Forward Merge Bot
6af8b5e791 Merge remote-tracking branch 'origin/5.11.2' into 5.11
Change-Id: I0c7b3f4e8e464f23252f28df98eba507127731f5
2018-09-14 10:30:07 +02:00
Paul Wicking
a62bab95d3 Doc: Move touch examples around so they get included in docs
Task-number: QTBUG-59249
Change-Id: I71f1d2e28f0cadbad1d6bcf117198018eaf8e012
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-09-14 03:56:22 +00:00
Paul Wicking
74700493c3 Doc: Remove extra \a command causing QDoc macro expansion error
Change-Id: I453a68a579e4fd519616cd1a9f934501b01ef44c
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-14 03:56:09 +00:00
Qt Forward Merge Bot
42f84de26a Merge remote-tracking branch 'origin/5.11' into 5.12
Change-Id: Ic4c1a8041dcfd143861c39e0014fbdaaa3fb25c6
2018-09-14 01:00:08 +02:00
Florian Bruhin
49efea26a5 sqlite: Fix QSqlError handling when opening/closing database
Both sqlite3_open_v2 and sqlite3_close are documented to return an error code:
https://www.sqlite.org/c3ref/open.html https://sqlite.org/c3ref/close.html

However, those were ignored (other than checking whether the operation
succeeded), causing QSqlError::nativeErrorCode() to always be "-1" when there
was an error while opening/closing the database.

Additionally, the error string needs to be read (via sqlite3_errmsg16) in
qMakeError *before* d->access is set to 0, or the databaseText() will always be
"out of memory" no matter what error actually happened.

Task-number: QTBUG-70506
Change-Id: I75cbf178c9711442e640afd26c4502214d20c598
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-13 18:18:47 +00:00
Andy Shaw
c9f316c8b9 ODBC: Correctly check if the field is within the fieldCache range
This was found while running the ODBC tests. tst_QSqlQuery::isNull()
accounts for this already.

Change-Id: Idf99a85396d7aa4e69b89467f873b105ef946f7f
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-13 17:07:57 +00:00
Tor Arne Vestbø
14bae62bd2 Blacklist flaky tst_QGL::graphicsViewClipping on RHEL 7.4
Change-Id: Ic771b263c988525d4b887cb2a1de9f9c7343e49b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:20 +00:00
Tor Arne Vestbø
704a3989d1 Fix spelling mistake in qimage.h
Change-Id: I2138318894587cc0b5f03af14a57b2a39509f0da
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:18 +00:00
Tor Arne Vestbø
2c649856d5 macOS: Clarify what static mutex in QCocoaGLContext is used for
Change-Id: I4af0b78dbecad40b2a73cdbdb09a8eb60efdb013
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:17 +00:00
Andy Shaw
45c1473847 Detect when we are at the sentence boundary
On Samsung devices this would cause it to always to captalize each word
even if it was not a new sentence. Therefore we use QTextBoundaryFinder
to determine if it is a new sentence or not.

Task-number: QTBUG-69398
Task-number: QTBUG-66531
Change-Id: I24bf36f09a2570acfefd4343551cb1720ddc6279
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-09-13 15:36:34 +00:00
Oswald Buddenhagen
b0dce506cc add buildsystem+qmake changelog
Change-Id: Ifb17f3bac7e065e7e50f7c0492ede2faf4c56f27
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-09-13 04:25:10 +00:00
Oswald Buddenhagen
a427b1b551 normalize layout of 5.11.2 changelog
Change-Id: I15fc16072d39e08d549c51097fe39c8ecd4a3a16
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-09-13 04:24:49 +00:00
Qt Forward Merge Bot
f5bf8ca9c3 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Icd201bf6b634e44e0e2ab05eaf91a7d8588d7f05
2018-09-13 01:00:39 +02:00
Allan Sandfeld Jensen
bff307ab93 Fix XCB on endian mismatched client and server with SHM off
If SHM is disabled, that code path already does its own bswaping.

Change-Id: I6c17f6c5c5502c8f89098d38d931b6b8f50b2640
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-09-12 11:56:38 +00:00
Christian Ehrlicher
0d1481b4d2 SQL PostgreSQL/SQlite: Properly decode default varchar parameter
The default values for varchar columns were not decoded properly.

Task-number: QTBUG-46968
Change-Id: Ie13d48c316cd694240f7e287010b97afc8c6c341
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-09-12 09:11:04 +00:00
Eirik Aavitsland
9d1c881f49 Texture file support: add mipmap reading to ktx handler
Change-Id: Ic2c10b3e64d63d2272a8a3922d2b3f99dfd45bdb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-12 08:41:38 +00:00
Qt Forward Merge Bot
307d0b32f0 Merge "Merge remote-tracking branch 'origin/5.11.2' into 5.12" into refs/staging/5.12 2018-09-12 08:48:05 +00:00
Qt Forward Merge Bot
8e3dcd686b Merge remote-tracking branch 'origin/5.11.2' into 5.12
Change-Id: Ic9024fac14ff01154e10aa524293d8e3e7caa021
2018-09-12 10:37:18 +02:00
Laszlo Agocs
2d82cb7d77 QVulkanWindow: Fix some load/store ops in the default renderpass
Stencil is - very likely - cleared just like depth. Also, switch to
STORE_OP_STORE for the multisample buffer, for correctness.

Change-Id: I31b56658286205af8551018115ca2abbe541be67
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:20 +00:00
Laszlo Agocs
d6c7089e6c QVulkanWindow: Fix bogus stage masks in readback
Change-Id: I08882a02204c95272b100647923c9903f825912c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:17 +00:00
Laszlo Agocs
1c6bd414dd Fix device local alloc in hellovulkantexture
Running with QT_VK_FORCE_STAGE_TEX does not work at all with recent
NVIDIA drivers due to QVulkanWindow's and the example's naive way of
picking the memory index. Enhance this and add a warning note to the
QVulkanWindow docs as well.

Change-Id: I7f200e11d982b56e3da3b71ee3915bd7bfca5cc1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:15 +00:00
Laszlo Agocs
48897f97e7 Fix src access with staging buffer in hellovulkantexture
Change-Id: Iafcd94ec812a61dcfae6da43b1ca9f5771e05e56
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:11 +00:00
Allan Sandfeld Jensen
73af8e7553 Add optimized fetch ARGB32 routines for NEON
After convert and fetch were split, only convert was still NEON
vectorized, while fetch is the more commonly used version.

Change-Id: Iea2af7ccee6589b3d6e9908afeaae2d1ad2753be
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-09-12 07:26:55 +00:00
Oswald Buddenhagen
2aa779e893 syncqt: fix forwarding injected headers, take ~3
in non-prefix builds, the forwarding headers always end up in qtbase's
build dir, while the injected headers always live in the build dir of
the module they belong to. to deal with that, we now record the target
path relative to the module root dir instead of relative to the base
directory of the forwarding header itself.

Fixes: QTBUG-70056
Change-Id: Ic4346148a125b13e2610f6965cdf4f5266ac763e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-12 06:53:02 +00:00
Paul Wicking
cfb8d70888 Doc: Fix typo and add precision to method description
As transform() returns worldTransform(), point out that it is an alias
in its description.

Fixes: QTBUG-18117
Change-Id: I0eb1f78c6955b499906024105f9969cdccf13303
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-12 06:42:40 +00:00
Oliver Wolff
003a356403 winrt: Fix build with MSVC >= 15.8
39cb9ac873 moved the _ENABLE_EXTENDED_ALIGNED_STORAGE define from
msvc-version.conf to msvc-desktop.conf which basically removed the
define from winrt builds. By adding it to winrt's common qmake.conf
these builds are fixed.

Change-Id: I3d87c55fb52685859713f7466012b45c46145678
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-12 06:19:42 +00:00
Andy Shaw
a3e8b92d97 ODBC: Remove the trailing \0 in the case of a non unicode string
Some ODBC drivers, such as old Informix ODBC drivers will incorrectly
include a trailing \0 in a string when this should not exist. For
unicode strings this was already accounted for, but for non-unicode ones
this was not covered.

The change also fixes up the comments a bit to make this clearer and
also added one for the unicode case.

Task-number: QTBUG-62406
Change-Id: Id932a58d9e5fdff2f4d1aacf8cc9fdaeb34f95f4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-11 16:39:03 +00:00
Tor Arne Vestbø
d8c210d7f5 macOS: Prevent flickering when resizing window rendered to by separate thread
When a window is resized AppKit groups all updates to the view frames and
corresponding layer bounds, so that the result of the resize is visually
atomic, but this only works for the main thread.

http://openradar.appspot.com/radar?id=4990815088672768

When a separate thread renders to one of the views in the window, it may
result in the view and its layer updating its bounds visually before the
resize has been visually reflected for the window itself and its border.

To ensure visually atomic updates, we disable all screen updates for the
process during resizing. This is the same workaround used by e.g. the
NSOpenPanel class, which renders the content of the view out of process,
and by Chromium for a similar use-case:

https://chromium-review.googlesource.com/c/chromium/src/+/798774

Ideally we'd do this only for the window that is being resized, but there's
no known API to do that. The deprecated [NSWindow disableScreenUpdatesUntilFlush]
is a no-op these days, and used NSDisableScreenUpdates internally anyways).

Fixes: QTBUG-69321
Change-Id: I84de714782278f2e0b2b2e1eb245c30810cb3023
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-11 16:36:50 +00:00
Edward Welbourne
017ac02ec4 Clean up time-zone matching logic in tst_QLocale::macDefaultLocale()
The test was computing GMT with a suffix added to it for the offset;
but when the offset is zero there's no need for it.  Cleaned up the
logic so that it only checks for a "padded to two digits with zero" if
the number is single-digit (and use string arithmetic in preference to
wantonly complex .arg()ing; and use simpler names).  Since we don't
try to check anything unless GMT does appear in the string (because
the actual zone ID was used, instead of GMT with an offset), the case
of zero offset has nothing more to check than that GMT was present,
the precondition for checking anything.

Task-number: QTBUG-70322
Change-Id: I0b8abe7e63d9d72fa9cf32f188b47a78a849044b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-11 14:40:22 +00:00
Friedemann Kleint
dff9bb2f9b Windows: Disable shader disk cache for Intel HD Graphics 620
Set Qt::AA_DisableShaderDiskCache when the feature "disable_program_cache"
(modeled after the Chromium driver bug list) is present and set it for the
Intel HD Graphics 620 card.

Task-number: QTBUG-64697
Change-Id: Ibba588d2ab296b5c959ab8ee9712b47ec7cc906e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-11 13:42:40 +00:00
Tony Sarajärvi
fd6370d89f Extend opensuse blacklistings to opensuse-leap
In openSUSE 15.0 /etc/os-release the ID of the OS was
changed from "opensuse" to "opensuse-leap". So every blacklisting
we did for opensuse, didn't cover opensuse-leap. This one adds
opensuse-leap as a blacklisted platform whenever opensuse
was blacklisted.

Task-number: QTBUG-70463
Task-number: QTBUG-51399
Change-Id: I5879eb34926757163973d8b9442eae58f47d2f11
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-09-11 12:11:45 +00:00
Edward Welbourne
d5891036de Make updateSystemPrivate() local to qlocale.cpp
It's not thread-safe so should only be used within systemData()'s
locked code.  This eliminates the last callers of it by making it a
local function of the compilation unit, exposing a method from
QSystemLocale() to get round its use of private parts.  Make the
constructor for QSystemLocale only stomp its _systemLocale global if
previously unset, but let instantiation still clear
globalLocaleData.m_language_id, so that it can be used as a way to
trigger an update to system locale data.

Change-Id: I908dca9fd30bbf20f42321ab8f9094f2fa37b7b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-11 08:22:59 +00:00