This way there is only one for loop, which is more optimizer friendly
Change-Id: Iaa02026627d5259c3eea1ff5664e8f22664eef73
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
"Use std::addressof for taking an address instead of operator& in moc"
(5b99f3a34f) introduced a dependency to
std memory header. That change exposed code that was including
the moc output from within a namespace. That was never supported nor
valid, but it used to compile. The problem was not detected earlier
because both other includes where already included to support QObject
itself and therefore inside the moc output their header guards were
disabling their content.
Task-number: QTBUG-68191
Task-number: QTBUG-70907
Change-Id: I18462ed17d748a114fe2e5b6bf9aeb56ee26e2db
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This allows others to link to QtDBus and the other libraries/tools using
doxygen.
Fixes: QTBUG-60933
Change-Id: I026895a432a328f224c40cf231ad12d109dc648f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
Passing Qt::MSWindowsOwnDC along with the window flags to the QWidget
constructor results in creating a native window as part of the base
class initialization.
By deferring the window creation to later in the QGLWidget construction,
the meta object reflects the actual class.
Change-Id: I51343c767057d6841331614b93ad860fe99d65e3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
qdoc needs to know that a qdoc comment should not be part of the
documentation until a future version. In this case, some new functions
were declared to become active in Qt 6.0, but qdoc had no way of
detecting this and reported errors about them incorrectly. Adding
\since 6.0 to the qdoc comments for these functions allows qdoc to
ignore them without printing the errors.
It is also not allowed to document static functions declared in .cpp
files, because these functions are not in the public API. The qdoc
comment marker was removed from the comments for a few such static
functions.
Change-Id: I55ce0e8fb823b1dcf498d5a2436ddb20ad0a7527
Reviewed-by: Martin Smith <martin.smith@qt.io>
This update removes the requirement for dtls to be present when qdoc
runs so that qdoc can parse qdtls.h.
_#ifndef Q_CLANG_QDOC
QT_REQUIRE_CONFIG(dtls);
_#endif
Change-Id: I69ba5e378bebe86f93830d14e3956eb0d677508e
Reviewed-by: Martin Smith <martin.smith@qt.io>
The overload that takes a maxtime (now duration) was buggy, but we can't
change its behavior, so instead we clarify what it actually does.
Change-Id: I8a04fbaea5847c95b6ec6e73396304ab4debd35b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This patch adds the QPainter::LosslessImageRendering flag to
QPainter::RenderHints and allows QPdfEngine to recognize it and encode
images using a lossless data compression algorithm provided by zlib
instead of using lossy JPEG compression, which can produce artifacts
with some images.
Task-number: QTBUG-54809
Change-Id: If9e2bc64da3bf3afcd5d6c74f0ee82336ef05a19
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
QTimer contains a template member function callOnTimeout(), which accepts
a variable number of arguments. Because it is difficult to document such
a general function, several specific declarations were added under the
guard Q_CLANG_QDOC that represent the typical ways this function is used.
They are easier to document because they have specific signatures.
Unfortunately, the clang parser recognizes two of them as being the same,
so this change removes one of the two. It also adjusts the documentation
of the remaining one so that it indicates both uses.
Change-Id: Ifa7bed9093bd1491b7bfe154990864454885c003
Reviewed-by: Martin Smith <martin.smith@qt.io>
The expression "m_context.view = view" always evaluates to the view,
so the check was flawed.
Change-Id: Icef4ba5244975ccd78a151c7d40c53b2364c6148
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Before reading the configuration of a docker machine, the machine shall
be created and started. Otherwise, the docker command will complain
about "cannot connect to the Docker daemon".
If the docker machine has not been created, the make check will be
immediately terminated, and then print the error message. If its status
is not running, the machine will be turned on by a start command.
Change-Id: I7f4c322e7bdf29e4e4203e0e1bbc2e5c8cf677be
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
The Qt QPA does not handle native double clicks as such; change the plugin
not to send them.
For Ink, remove the doubleclick detection. For the old code path,
map them to Press.
Fixes: QTBUG-70999
Change-Id: I54b858f9e146bf325a861554d5ef74143db7d2b7
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
This change simplifies memory management as long as it doesn't requires
manuall calls to qDeleteAll and manual deleting/nulling pointers.
Change-Id: Id0dc563d0b1e74ae33939d90d4b39999020cd7ce
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
There is no sense in testing the 'm_array' pointer against null, as the
memory was allocated using the 'new' operator. The exception will be
generated in the case of memory allocation error.
Task-number: QTBUG-71156
Change-Id: Ib76d16d38d2b0b0c4c9fae3d8d5bdd86af0d08ff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Qt's PDF engine previously supported only the PDF v1.4 standard, which
only allows pages of up to 200x200in (about 5x5m). This patch optionally
enables the generation of PDF v1.6-compliant files that allow the
redefinition of user space units, so that pages of up to 381x381km are
now possible. By default, generated files are compliant to v1.4 spec.
v1.6 compliance must be enabled by, e.g., calling QPrinter::setPdfVersion()
with QPrinter::PdfVersion_1_6. PDF v1.6-compliant files require Adobe
Reader 7.0 or newer (also worked with the built-in viewers in current
versions of Chrome, Firefox and Edge).
Task-number: QTBUG-69386
Change-Id: I21708e0d465d5d7d9e46ff06dd04acfe1dfb0858
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
The state was forgotten from the translation layer, this is important for tree views.
Fixes: QTBUG-71223
Change-Id: Ief4004fe455889f9d5a7eb018bf34d37c36a6bd9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
POSIX specifies that tzset() consults environment variable TZ and
modifies some globals; it also specifies mktime(), localtime() and
strftime() to behave as if they called tzset(). Fortunately, we only
call strftime() from a test and only call localtime() when not
threaded. Provide wrappers for tzset() and mktime() that share the
lock used by our environment-access code, to prevent races on the
environment (and tzset()'s globals) when we call them.
In the process, re-use tst_QDateTime's TimeZoneRollback in its older
test systemTimeZoneChange() and presume that this can now be tested
cross-platform, since TimeZoneRollback is used in another test where
this works.
Fixes: QTBUG-71030
Change-Id: I79f559b8857ea2803e73501008bf0d7158c6731f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
There is no need to call a memset as long as class is initialized with
new and default-constructor will initialize values.
Change-Id: I02f9ec524e32cb72713f6b5e37b60f3dec72fb28
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
A part of conditional expression is always false: if "c > 'z'"
Task-number: QTBUG-71156
Change-Id: I6ee20c45d80e476d97e59167c481b157e4a233d0
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QWidget::isEnabledToTLW() and QApplication::setKeypadNavigationEnabled()
are deprecated for a long time but not marked as deprecated. Therefore
add QT_DEPRECATED and guard them with QT_DEPRECATED_SINCE(5, 13).
Change-Id: I12a76597aaad71025e4b7ad251dd67be55f8f966
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Mark some long deprecated functions as deprecated so they can be removed
with Qt6.
Change-Id: I2ccd21c829c954b6a3662799070682dbe71fd693
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
'QAbstractItemView::NoSelection' named constant with the value of 0 was
used in the bitwise operation
Task-number: QTBUG-71156
Change-Id: I2d5099f9ed03cc42061508cc78282412a09825cb
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Some Linux distributions patch OpenSSL's soname, making builds
on such distributions not deployable elsewhere. The problem is that
the code loading OpenSSL symbols would attempt to use the soname
of the build machine, and therefore not finding the OpenSSL
libraries on the deploy system.
The binary builds of Qt for Linux are affected by this problem,
as they build under RHEL7.4 which changes to soname of OpenSSL to
a non-standard string. This makes the binary builds not pick up
OpenSSL 1.0 from the machine where the build gets installed on.
Given that in the pre-1.1 versions only the 1.0 series is supported,
bump the minimum requirement of Qt to that. The 1.0.x releases
(up to 1.0.2, at the time of this writing) have kept binary
compatibility, and advertise a soname of "1.0.0", which is used
by most distributions.
So, if loading of OpenSSL with the build-time soname fails,
try to load them with the "1.0.0" hardcoded soname.
[ChangeLog][QtNetwork][SSL] OpenSSL >= 1.0 is now required to build
Qt with OpenSSL support.
Task-number: QTBUG-68156
Change-Id: Ieff1561a3c1d278b511f09fef06580f034f188c6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This change is based on a patch started by Gabriel. It works around the
apparently noop (on macOS Mojave, light theme) -drawRect: call on NSBox,
replacing it with -displayRectIgnoringOpacity:inContext:. Unfortunately,
this turns out to be extremely slow with dark theme, so we have to resort
to a custom version of NSBox/-drawRect: which calls its super's -drawRect:
and look more or less correct.
Task-number: QTBUG-69650
Change-Id: I5a614d7cd8002b378c6c3804663b6559e227f628
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
square/flat button had an erroneous size adjustment, resulting in a
wrong highlighted area. This button is anyway nothing like a real
control on macOS - they don't have 'flat' button which highlights
when pressed. Anyway, now our flat button looks more like AppKit's
'square' button when pressed.
Task-number: QTBUG-69533
Change-Id: I9643c1d4a25329c3f3c2148cc1821922655d9a8b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
QTableWidget::takeItem() emitted cellChanged with row and column set to
-1. The internal functions searched for item after it was reset to
nullptr and therefore it was not found.
Since the modified cell is known because it's passed to the takeItem
function, the correct row/column can be retrieved from there.
Task-number: QTBUG-70478
Change-Id: I5ff5991c49f3200efe95fde4c7d0d28e19be7ebf
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
There's been one minor change in a struct and some minor re-ordering
of other things within their files (reflected here to simplify future
checks); and qt_attribution.json didn't document enough details to
ensure reliable review.
Task-number: QTBUG-70011
Change-Id: Iccff9cfd899e58cb42837c4628acacd7877c5b01
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Commit 2af1277631 renamed out_depends to
_out_depends inside qt5_add_resources but the old (empty) variable was
used with add_custom_command.
Change-Id: I8005674992b4538bd82375a4f1f70484bc0f0ae5
Reviewed-by: André Klitzing <aklitzing@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Native applications do not use custom fonts in menus, so we should
avoid it - our own example app 'menus' demonstrates the problem.
To quote Gabriel: Although the Mac HIG don't say that you shouldn't, and there's
even a API to do it (which we're obviously not using properly), the truth
is that nobody does it. Simply put, it looks wrong on Mac (although it's
arguable whether it looks good or bad regardless of the platform).
Task-number: QTBUG-29654
Change-Id: Iffd08ad63d419164102b2e738cdf1ebda1967a05
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This is not valid, but was confusing before and would be silently ignored,
warn instead.
Fixes: QTBUG-50583
Change-Id: If78c4a5ef96c76e1d5116a1bd24e5c289ff74cc4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This test works for me with KWin and is blacklisted on most linux platforms.
Let's try to remove the blacklisting next.
Using qWait right in front of the QTRY_VERIFY does not add any value.
Task-number: QTBUG-26424
Change-Id: I2dcd5fb3f3cbb64e190c777231b791d1ad9dd704
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The event dispatcher can be null already but we may have outstanding
QWinEventNotifier objects (like in a QProcess).
Patch-By: Tamas Karpati
Task-number: QTBUG-70214
Change-Id: I5e432e273def425ea334fffd154f34abfd6cb11a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
[ChangeLog][Third-Party Code] PCRE2 was updated to version 10.32.
Change-Id: Id3bf7df0003f626cd1135d0508a5a489ff02f1e5
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Commit 582d221b29 introduced a regression where
the default Base color is no longer white in light mode,
for some use cases like querying QApplication::palette()
and when using style sheets.
[NSColor windowBackgroundColor] is not the correct
color for QPalette:Base, [NSColor textBackgroundColor]
is, except for the Disabled state which uses windowBackgroundColor
to get a grayed-out look.
This also changes the dark mode Base color slightly, from
RGB(0.196, 0.196, 0.196) to RGB(0.118, 0.118, 0.118).
Task-number: QTBUG-70966
Change-Id: I1ff494a09980ff2d04b2e2c43ee0bcc8e26ba9e7
Fixes: QTBUG-70966
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This removes the need for “-no-feature thread”.
Thread support will be added at later point in time,
see QTBUG-64625.
Change-Id: I4d1dedd527aa83d6033bf108f5f34e759517b954
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This removes the need for specifying "-static" on the
configure line.
Shared builds are on the roadmap (QTBUG-63925), but
not currently supported.
Change-Id: I7f72ac702bc77304abfa6a962cb1139c25fb5e35
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
There is no docker bridge on macOS. Docker document recommends using
port mapping to connect to a container; but it causes a port conflict
if the user is running a service that binds the same port on the host.
An alternative solution is to deploy the docker environment into
VirtualBox and use the host network option.
Task-number: QTQAINFRA-2293
Change-Id: I05dc65c5f8b4be7a1b1874a4ec7c034cc68679ca
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
The internal and external keywords in the server configuration are used
to specify the network interface (IP address) that the Dante server
should bind to. Because docker-compose allows a container to join more
than one network (by adding multiple entries under the top level
networks key to a docker-compose file), the default server
configuration (danted.conf) shall be updated in accordance with the
settings in the docker-compose file.
The user can pass the setting of a docker-compose file to containers by
adding environment variables in the docker-compose file. After the
container gets created, the danted.sh script uses the input environment
variables to overwrite the default value of internal and external
interfaces before starting the Dante server.
environment:
- danted_internal=eth1
- danted_external=eth1
- danted_auth_internal=eth1
- danted_auth_external=eth1
Change-Id: I7c65cdd136ba5dac387bee5e22e1f4335e960101
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>