A loop initialized i = 0 and used i > 2 as its condition; it didn't
get very far. Consequently, the test it was in never checked whether
CET's 2011 transitions happened at the times expected - which they
didn't, as the times in question were in fact the times at which
Pacific/Auckland had its transitions that year.
Change-Id: I94d1f8df615c5bcfe48e73d41b4c7faf2beccb96
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Using a stack buffer and then a growing realloc() buffer can be tidily
packaged by using a QVLA. Passing the reported name length to
QString::fromWCharArray() saves the need for 0-termination, even if it
has been missed. This also degrades gracefully to produce an empty
QString when GetModuleFileName fails (returning 0).
Change-Id: If58f5ad8505f66fb67e59572af1ceb60a068f0ab
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Instead of expanding the VULKAN_SDK environment variable at Makefile
processing time, expand it at qmake time, so that a resolved include
path is passed to WebEngine's build system GN.
Task-number: QTBUG-61823
Change-Id: I63bd661350883d22af2ccdeb7c360ed0d8d881c8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
The original test is quite unfortunate - it has cipher names hardcoded,
and it fails with OpenSSL 1.1 - no matching cipher found for 'RC4-SHA'
and QSslContext::initSsl fails with 'Invalid or empty cipher list'.
We skip this test entry for 1.1.
Change-Id: I810b80a62d9e27a60db71fd412af0c80630d976c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Could be unwrapped further but that's a different topic.
Change-Id: I8f3414374dd6f114ab368c7508f725cece74ce34
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
&operator<<(QDebug &, const QVectorPath &) was modifying the QDebug
state without restoring it after finishing.
Change-Id: I28c377bc99bfeb5a7bc67ca9affa8123f04583df
Coverity-Id: 11375
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
CID 10994 (#1 of 1): Resource leak in object (CTOR_DTOR_LEAK)
The font database was not destroyed in the destructor.
Coverity-Id: 10994
Change-Id: Ibd4cb0b65d1e554593295a3654e8d8c946551cc2
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
This patch amends a4c8129.
This is more consistent with other parts in QPlatformWindow docs.
Change-Id: I26d7a91849f3fde3ab2a0f3c81e00a5f9c830707
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The QT_NO_ITEMVIEWS queries in corelib/ seem to had no effect at all.
Change-Id: I494ee2309a96b0cf25de18781fc9a675878a2ee9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Moving the cursor is not synchronous.
Change-Id: I6b820af026585e1fcfef845cc712fa8f6812e941
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
MinGW 5.3 is able to compile the IAccessible2 classes. All that is needed
is some way to provide the missing IIDs, which is done via specialization
of a function template (similar to the MinGW's __uuidof operator).
[ChangeLog][Windows][Accessibility] MinGW builds now support IAccessible2.
Change-Id: I218a4b89c81b54aa96f7c743544388631ca9a53e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Make QVariant::toJsonValue do conversions as well as
QJsonValue::fromVariant.
Change-Id: I175d43677061470691e2e0104a800be355fbbd3d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/io/qfiledevice.cpp:741: warning: Can't link to 'setFileName()'
src/corelib/io/qfiledevice.cpp:772: warning: Can't link to 'setFileName()'
src/corelib/io/qfiledevice.cpp:790: warning: No such parameter 'time' in QFileDevice::setFileTime()
src/corelib/io/qfiledevice.cpp:790: warning: Undocumented parameter 'fileTime' in QFileDevice::setFileTime()
src/corelib/io/qfileinfo.cpp:1344: warning: Can't link to 'FileTime'
src/corelib/kernel/qcoreapplication.cpp:2007: warning: Can't link to 'isTranslatorInstalled()'
src/gui/opengl/qopenglextrafunctions.h:468: warning: No documentation for 'QOpenGLExtraFunctions::glBlendBarrier(void )'
src/gui/opengl/qopenglextrafunctions.h:494: warning: No documentation for 'QOpenGLExtraFunctions::glGetGraphicsResetStatus(void )'
src/gui/opengl/qopenglextrafunctions.h:475: warning: No documentation for 'QOpenGLExtraFunctions::glPopDebugGroup(void )'
src/sql/models/qsqlquerymodel.cpp:217: warning: Unknown command '\override'
Change-Id: Ide0ce911f6faf964fda8f32fac433da7d2cb11de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The attempt at loading these functions at runtime with WinRT always
failed, so stop trying.
Change-Id: I658f552684924f8aa2cafffd14cfc5179ac08498
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(one of them is even from Windows 2000)
We just need to link to userenv.dll now. WinRT is not affected.
Change-Id: I658f552684924f8aa2cafffd14cfc4b785a1d55c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
internalInsert() will set the cursor to the right position which accounts
for any input mask set on the control as well. Therefore it will already
be placed at the next correct position and should not be changed again
after that.
Task-number: QTBUG-40943
Change-Id: Ic0f5fad6999ddd367e435ec4409a5db5b9eacb7b
Reviewed-by: Daniel Teske <qt@squorn.de>
Reviewed-by: David Faure <david.faure@kdab.com>
Do not print a critical message when the pipe connection dropped as this
can happen with regular QLocalSocket usage as demonstrated in
qtremoteobjects.
Change-Id: If79915ce5d83b8cae5e090c04e893dafcb5a88a7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Change-Id: Id220f10f4ff756230155c7c8f37713d53ed3ca0c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
It's flakey/failing on macOS, the menu is opened but opened above
the button, so the intersection test fails.
Change-Id: I6b13a1b0df2b07fa36bbb73071cdeb55547ac93a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
...tst_qlineedit.cpp:1938:9: warning: explicitly assigning value of variable of type 'Qt::Key' to itself
-Wself-assign]
key = key;
~~~ ^ ~~~
Change-Id: I18a46f61e13f6e2c74edce869a1c36a7f3a0fb70
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
... for better localization. This is not possible in C, but in
C++ a struct has the same features as a class. Thus, use default
member initialization feature (available since C++11).
Change-Id: I91522c3a4fe4270c37bb6e85fddeb5970a847352
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Counting draw calls in the style is not a reliable way to count
italic items in the combobox.
Task-number: QTBUG-62080
Change-Id: I6cb6d54535f073f66cfcf61bb19eb645284c835d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The Microsoft documentation says that CreateFile cannot be used to
create directories, so you can only use it on a directory with
OPEN_EXISTING and FILE_FLAG_BACKUP_SEMANTICS. This commit implements
that.
Change-Id: I658f552684924f8aa2cafffd14cfc0e5660a4a62
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Don't assume signals will not be emitted during show. The test should
focus on testing that changing the model results in change signals. What
happens before that is not under test, and not stable.
Change-Id: I71e62abc15fc81c069d7685e4342e795449c3632
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This hasn't done anything since at least Qt 5.0. It's possible it was
only used in Symbian, which we removed before the 5.0 release. This only
served to make the tst_QNetworkProxyFactory test slow.
[ChangeLog][QtNetwork][QNetworkProxy] The functions related to
QNetworkConfiguration are deprecated. They've performed no action since
Qt 5.0, so code using them can safely stop doing so.
Change-Id: I84e45059a888497fb55ffffd14d31b7c2978a04e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Since b13aa15e10 the event must not be
accepted when calling "canDrop()" method. Inside it "dropOn()" method
is called which requires not accepted event. Otherwise the event will
be ignored later in "QListView::dragMoveEvent()". On next movement it
will be accepted again - the event is now ignored, so "dropOn() method
will work properly.
If "filterDragMoveEvent()" returns false for any reason, the event
acceptance is not changed - the same behavior as before.
Task-number: QTBUG-61951
Change-Id: I2d49ce5b15300c42e2efc745e8e32d3d17f34a2f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
The original fd was already FD_CLOEXEC due to qt_safe_open.
Change-Id: Ief61d358e2b54a0fac37fffd14d2394ee02da059
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
It's failing when enabling synchronous expose events, but likely
due to making assumptions about expose behavior. Will be looked
at in more detail once the expose event patch is in, so we can
move forward.
Task-number: QTBUG-62092
Change-Id: Ie76b5f11ccf841981a42d2eda19fbcda8b43c36c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Move two functions that are using toString(const QString &str) from
qtestcase.h to qtest.h. This fixes compilation on INTEGRITY platform.
Task-number: QTBUG-61702
Change-Id: I5a433126741c7a52621616c5b98203e7d642b330
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Although Qt declares its minimum supported OS version to the compiler
and linker, the OS ignores this information when loading shared
libraries, so instead of failing with a useful error message, the
program will simply crash at runtime. This attempts to bring that
failure as early in the lifecycle as possible, and provide a better
error message as well.
Change-Id: Ic58b44f8895eac718c94e62cad6e2506dbea8a7e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Task-number: QTBUG-59301
Change-Id: I2562b862465a52ecc56f551bcdb98fa7279ebfcf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Some customers still need this for interoperability with legacy code.
Let's continue to keep it working in 5.9.x, and then move to
64-bit exclusive features (thus dropping 32-bit entirely) in 5.10.
Task-number: QTBUG-58401
Change-Id: Ibb7200c1885e9caba70439df5f7c86c81b1312b5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
MSVC warns about iterators being passed to certain Standard Library
algorithms. dbd55cdaf3 introduced
a usa of std::is_permutation in a public header, which is causing
such a warning to be emitted.
To suppress the warning, Microsoft suggests to either use the 4-arg
std::is_permutation overload (which however is not available
in MSVC 2013) or to use a Standard Library extension, which we are
already using elsewhere in Qt to deal with the same problem. However,
that extension requires the iterator to be moved by size_t quantities,
which isn't the case for QHash::iterator, and therefore generates
more warnings about loss of precision (size_t -> int).
Therefore, go with the 4-arg std::is_permutation, only on MSVC >= 2015.
Change-Id: Idfcff28d14e0f1fde5d77f1deb9eec27c87ff5cd
Task-number: QTBUG-61902
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Skip EGL surface re-creation when a sequence of unprocessed resizing
requests leaves the buffer size unchanged. In this situation, the
buffers won't be resized. Recreating the surface without resizing the
buffers leads to screen providing incorrect information about the
buffers.
Change-Id: I1f75ab99eb1dffe0bcf9660bf014f047407b0c1b
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Getting the end position of the selection was not possible.
[ChangeLog][QtWidgets][QLineEdit] Added selectionEnd(), selectionLength(),
complementing selectionStart().
Change-Id: Iaecc624063d7c043f9502351f07eb76f869e86f1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
<APPDIR> was initially thought to be app-specific but is in fact
more used as a kind of vendor prefix, where one vendor (e.g. KDE)
can install many applications into the same APPDIR.
[ChangeLog][QtCore][QStandardPaths] On Windows, QStandardPaths
now also looks into "<APPDIR>/data/<APPNAME>" for non-generic paths.
Change-Id: I426d97d61cc229bad0f5a2a4eb061e349de6681e
Reviewed-by: David Faure <david.faure@kdab.com>
Fixes the build with MSVC2017.
Amends ae292be869.
Task-number: QTBUG-62052
Change-Id: Ibb55e4e93815da8077961e68525e3cb8dc6807b0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
The native APIs don't support previous transition, only next after a
stipulated date. The prior code started its search at the epoch; if
used for a time before the first transition after the epoch, this
found no transitions so returned invalid data, when the last
transition before the epoch would have been suitable. It also wound
through all transitions since the epoch, on its way to the selected
time, which was potentially laborious.
Instead, start a year before the stipulated time; this should get a
transition if the zone uses DST. If it doesn't, start with the first
known transition and binary-chop our way to one within a year of the
last before the stipulated time; then wind forward one transition at a
time, as before. The chopping is actually faster than binary: each
time we find a transition after the interval mid-point but early
enough, we move the early end of our interval to the transition, which
is later than the old interval's middle. Using halving, starting with
a vast interval, should thus only incur modest cost, while ensuring we
give up early when no transition data is available at all or the
zone's first transition ever was after the stipulated time.
Change-Id: I96c14540fc2600837e6a22e480fb8dc36cb37220
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
[ChangeLog][QtNetwork][QNetworkProxy] UWP now supports proxies using
SOCKS5.
Task-number: QTBUG-45495
Change-Id: I78cb7416b6c827eb41485f3f7682f85ff75fcbd0
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
In commit 85ff351266, we removed support
for systems where the pipe2(), dup3(), and accept4() functions are
declared in the libc headers but fail at runtime. On Linux, O_CLOEXEC
was added before accept4(), so if the latter is supported, the former is
too. On the BSDs, the libc headers are updated in lockstep with the
kernel, so we know for sure.
There are still systems that have O_CLOEXEC (a POSIX.1-2008 flag) but
not the extra functions (Solaris and Darwin). Solaris libc must update
like the BSDs, but on Darwin we do build with a new SDK targeting an
old OS. Fortunately, O_CLOEXEC has been supported since 10.7, so we're
out of the woods.
Change-Id: I84e45059a888497fb55ffffd14d249dd4719e2cc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>