This change fixes building Qt with the -no-feature-tabletevent configure
option by disabling handling of pointer messages associated with tablet
events within the pointer message handler.
Fixes: QTBUG-71774
Change-Id: Icb47a39793edb9a0f87c07c656b6ea6573d5f947
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The logclusters where never correctly initialized for tabs or
inline objects.
Change-Id: I376fd2dba19994eb5add24cdb8a93c38bde8cd1e
Fixes: QTBUG-70946
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
From 64 to 256 MB. Note that this is especially important
because bindTexture() will fail and return an invalid
texture for image data larger than this. That is not ideal
but is trickier to correct. Until that is available, increase
the cache size to alleviate the pain somewhat.
Task-number: QTBUG-59207
Change-Id: Ibc22524acad0b42a632eb7e4cd8ea86225174837
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Flesh out the existing note on QFileDialog::setOptions(),
add it to QFileDialog::setOption() and add a small note
to the DontUseNativeDialogs option value.
Fixes: QTBUG-68590
Change-Id: I3a2011c8210d499114b01dfe09ad2dc797dfc2ab
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Windows and WinRT only have on event dispatcher class so that failing
test cases in one test will most likely also happen in the other.
Change-Id: Ib047c6870e6e02f3cf8deaaa6e438ed0ac7e2d5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
It appears messenne_twisters in the latest libstdc++ has one more
requirement before it is willing to construct with our
SystemGenerator struct as an sseq provider.
Change-Id: If38151d1fa6f40a80274acc26d9ed6b4ac6049fe
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We document being able to parse more than 8-bit per color, but were
ignoring everything after the first 8 bits.
Change-Id: Ic85ab04b0836e6979a623e294eebd5084c1a9478
Fixes: QTBUG-71373
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Cleanup some minor issues in the chart example:
- remove unused members
- use initializer list for members
- pass a proper role to dataChanged()
- honor roles parameter in PieView::dataChanged()
- use nullptr instead 0
- use new-style connect
- fix indentation and other whitespaces
Change-Id: Idb212b07c006fe3ae31bee9cd9b1ba4d03043b5e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
QImageWriter's plugin can open devices while operating and only free
them on destruction which means that if one wants to act on the file
written if must first destroy the writer's instance. This patch adds
the suggestion to use a scope to avoid that problem.
Change-Id: I239157ea86c4a93faab237fe1860312a3c7ac7a2
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Foreword:
- During a file or directory move the inotify id for an
entity is not changed.
- QFileSystemWatcher implementation uses a QMultiHash for
mapping an id to its path.
Suppose this filesystem hypothetical directory structure
- A
|--> B
and user watches both A and B directories.
Suppose that the B directory gets moved by calling "mv B B1".
The user receives a directoryChanged event for parent directory
A and scan filesystem for changes. During this scan the
user notices:
- a new directory B1
- a deleted directory B
The user simply invoke QFileSystemWatcher::addPath(B1) and
QFileSystemWatcher::removePath(B).
With the actual implementation the second operation could fail:
- The call QFileSystemWatcher::addPath(B1) insert a duplicated
records in the QFileSystemWatcher::idToPath
multihash ( {0, "A"}, {1, "A/B"} {1, "A/B1"}
- The call QFileSystemWatcher::removePath(B) fails because
- it first retrieves the the id for path B ---> pathToId("A/B") <-- return 1
- Then it calls idToPath.take with the id obtain in the
previous step <--- idToPath.take(1)
This last operation could take the record {1, "A/B1"} instead
of the {1, "A/B"} (because both have the same key) meaning that
the next check "x != path" evaluates to true (making the
removePath function fail).
This patch fixes the problem in the following way:
- Use idToPath.equal_range in order to obtain all paths with
the given id
- Remove the correct record that match (id, path)
- Prevent the removal of the inotify watch if another record
with the same id is still present in the multihash (like a
simple reference counting).
Change-Id: I9c8480b2a869d91e500af5c4aded596b9aa53b46
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
The initial mouse press should create an implicit mouse grab so
that all subsequent mouse events are delivered to the widget that
was pressed first. After commit a4f7bb8733, every mouse press
would reset the implicit grab. This change checks the previous
button state, and does not reset the mouse grab if other buttons
are already pressed.
Fixes: QTBUG-70816
Change-Id: Icdd215c2f4aaee3c3f34607d68c1d8878155ec17
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
On Linux, the printer panel impacts the application startup time,which
can be annoying when testing other dialogs.
Change-Id: Id13446047cf50765951a6bb5182ee50cae983457
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Numbers look completely out of thin air, and while I trust it was not
an error back then it was introduced, today we end up with QComboBox
vertically translated and thus misaligned.
Task-number: QTBUG-69908
Change-Id: I784e06f00e4c92c4af67e9bd885b86648183f2e0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Avoid having the reset in waitForDone interfere with other uses of the
thread-pool by locking the mutex higher, and maintaining the state
so the queues doesn't have threads not in allThreads.
Task-number: QTBUG-62865
Change-Id: I17ee95d5f0e138ec15e785c6d61bb0fe064d3659
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Document how to do an update, fix the bit-rot that had crept into
main.cpp since last it was compiled, correct the qt_attribution.json
to use the actual version number of UCD (its Revision number) instead
of the (admittedly correlated) Unicode release number. Updated to
Release 22 (which came with Unicode 11.0.0) in the process; but this
doesn't change our actual qunicodetables.cpp (so is incidental).
Task-number: QTBUG-71281
Change-Id: Ieb7a6e1a4d49f639993f76ff82c8f12a572db3c3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
"the GNU LGPL version 3" -> "GNU (L)GPL" because some parts of Qt are
GPL v3 (Qt Charts, Qt VirtualKeyboard, etc.).
Fixes: QTBUG-57697
Change-Id: Iceb88244e28b6900c5282b070468fb65b2bf52d2
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
When the on-screen keyboard completes a word via text prediction, the
message contains VK_PACKET as identifier for a character sequence.
While each character is send, the code only contains the first character
of the sequence.
Hence, resolve the actual code manually in case of a sequence.
This does not modify the virtual key, so that users are able to
distinguish between manual and predictive input.
Fixes: QTBUG-71210
Change-Id: I787f1f2d83acaf124dfbbab6c4614a1bfe7bb2eb
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The rgbSwap produces an image that fits the X-server, but not one that
fits our internal image definitions, so instead return our internal
image.
Task-number: QTBUG-56806
Change-Id: I25aedf7279bcd86792213b11dbd07a77b49538de
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
This is a whitespace-only change; removing a couple of newlines that
broke qdoc formatting of the enum values documentation.
Change-Id: Id371a4519922c71d79a11f3cda131e6683812696
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
When a TCP connection timed out a QAbstractSocket::NetworkError was set.
To enable a more precise error handling for timeouts
QAbstractSocket::SocketTimeoutError is now set instead.
Separated ETIMEDOUT from other errors in nativeRead() and take over
responsibility for setting the error, which was previously handled by read().
Change-Id: Iccd45bdbb3d944cd160ae50c257d3256e05b1ae5
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
Foreign windows do not have Qt backingstore content,
and are also not capable of accepting Qt content.
Change-Id: I959c7cdc32e6f4322497e132a436ce7d610a4106
Fixes: QTBUG-71183
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This removes the need for specifying "-nomake examples"
on the configure line.
We are using static builds; building all of the examples
is too space and time consuming (especially time).
Change-Id: Iff23239ca7304b1d1cf734c8bf69ad3f8ef31844
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Commit 17b73b0d2b introduced a regression where the
grab rect position was added to the size when bounding
to the display size. This is incorrect.
Change-Id: I11d7ba7f53b96badfdead190ef9ddb525ed4ba99
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This matches the behavior of QScreen::grabWindow(),
and gives the caller direct access to the scale factor.
Change-Id: Ia3ed165a62eaa0f386f8b508ea6b1128ba6be604
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The devicePixelRatio on the returned pixmap should
be the product of the Qt and platform scale factors.
This handles the corner case of setting QT_SCALE_FACTOR
on macOS with a high-dpi display.
Change-Id: I3600165d47c03c4e043bcc5e375932cc3fc0c544
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Allows a qt build to be configured to target arm64 desktop apps cross
platform and build them with nmake.
Change-Id: I99fed12047b45a504a1644201bcc19b18c69f3e6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Output URL string and file system name, too.
Task-number: QTBUG-67932
Change-Id: Ic5d1927d70d98f7c081bee06af85b9f3a2a09812
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Assert on receiving double clicks which are currently not implemented.
Task-number: QTBUG-71263
Task-number: QTBUG-70999
Change-Id: I85cd21665ecaf118584053de63745044728d8f5b
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The assert still happens on MSVC 2015 64 bit when running
qmake -tp vc -r.
This reverts commit f4169a633b.
Fixes: QTBUG-71228
Change-Id: I05bd3e0677414edb970f07e0555cdc95ce32f592
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Makes clang-tidy not trip over generated code while running the
modernize-use-auto checker. In theory clang-tidy just shouldn't look at
generated code of course; but in this case just modernizing the
generated code is easy, so let's do it.
Example:
.../moc_kastentoolviewwidget.cpp:78:9: warning: use auto when initializing with
a cast to avoid duplicating the type name [modernize-use-auto]
KastenToolViewWidget *_t = static_cast<KastenToolViewWidget *>(_o);
^~~~~~~~~~~~~~~~~~~~
auto
Change-Id: I10c287320e1d5b5b8e66da3e0a22d517d0275dd1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
The input validation did not check for unreasonable use of the group
separator character.
Fixes: QTBUG-65024
Change-Id: If9d70d990fc6d5b298f3bde5b1604bf7e16dce24
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
QTBUG_7714_fullUpdateDiscardingOpacityUpdate2() would fail when
it moved to another screen if there is one to the left.
Change-Id: I3f8edc04c31dffc5a3bd005d9e5170dd68151df7
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
When calling setDocument (directly or through the constructor) a delayed
rehighlight is initiated. Previously, if any text was changed before
this rehighlight could run it would cancel the rehighlight, even if the
changed text only caused a new block of text to be highlighted.
Fixes: QTBUG-71307
Change-Id: Ib09b664d90906f5b4427105f0e45469806f3a779
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
%p just prints a pointer. The operator<<(QObject*) member will print the
class type and object name.
Change-Id: Iba4b5c183776497d8ee1fffd1564951da0c6bebc
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
This check, which was only done once, was wrong:
const int bytes_per_line = ((width * depth + 31) >> 5) << 2;
// sanity check for potential overflows
if (std::numeric_limits<int>::max()/depth < width
If width*height overflows, then it's already UB and checking afterwards
with a division is pointless and slow.
The other instances weren't properly guarding against overflows.
Change-Id: I343f2beed55440a7ac0bfffd1563350d4cfa639c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Instead of doing byte comparisons, let the compiler do 16- and 32-bit
comparisons on its own.
Change-Id: If7e743cf8476463880ccfffd155f8629991b0b87
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
It can detect the standard UTF codecs, but not non-standard like
UTF-7[1], UTF-9 or UTF-18[2].
[1] https://tools.ietf.org/html/rfc2152
[2] https://tools.ietf.org/html/rfc4042
Fixes: QTBUG-67188
Change-Id: If7e743cf8476463880ccfffd155f853dc947421a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
The number of instructions is the same. But if the CPU can issue
32-byte-wide loads, this will be faster. For CPUs that would do two
16-byte loads, this is no worse than current code.
Change-Id: I8f261579aad648fdb4f0fffd1553d060b4fc852f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>