emitChanged() will be invoked when the system notifies the application
about a clipboard change. Hence, there is no need to call it previously
and cause two signals on the same change to be emitted.
Change-Id: I99605c9a71054e0610006dbeaaa90c5fb2f46755
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
In addition to setting the clipboard, we also need to store the mimedata
being passed. Otherwise requesting the mimedata returns a different
object, causing comparisons to fail.
Change-Id: I2ffea76e78be091cb98426e387619ac6788ea270
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
QErrorMessage autotests managed to create a scenario where the options
are not initialized yet, causing a crash later on.
Change-Id: Iabad6f181f2bfdc81a9c73f0e67c8ba70753fec6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Use the correct method of QMetaEnum to convert enum values to names.
QMetaEnum::valueToKey() should be used, because it takes an enum value
as an argument, while QMetaEnum::key() takes an index of the enum value.
Change-Id: Ie895fcc935e8835e3d9c416ca34be8bfe82fd74e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
op- takes a copy of the LHS, and calls subtract() on it. That means that
the old code not only added more nodes to the set than necessary (wasting
memory when nodes are removed again), but also takes a deep copy of the
large LHS container.
Fix by building the final set ourselves selectively. This avoids creation
of useless nodes, as well as the deep copy.
Port Q_FOREACH loop to C++11 range-for as a drive-by.
Change-Id: I9c83af02159a7d29ff5c2e7c3a4952a735c32af3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Previously we hardcoded the minimum windows version to the initial
Windows 10 release. However features have been added which require a
higher SDK version (eg drag and drop). Deploying such a package might
fail during distribution to consumer devices.
Hence introduce WINRT_MANIFEST.minVersion and
WINRT_MANIFEST.maxVersionTested as variables for the manifest file. If
nothing is specified, both values will be set to the UCRTVersion
environment variable, implying the development setup from which qmake
has been invoked.
Change-Id: I1dcf1e75c67c4ab2fd5a3fdcc32c8783a336e6ff
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Passing a string literal to QWindow::setObjectName() is rude:
it wants a QString.
Change-Id: Ic4c1079889002f0d5f1028c443456a8be0b7b0fe
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
The endptr from reading the exponent of a 'g' form snprintf result
should not be past the end of the string we're reading from. It has
nothing to do with the 'e' sign.
Task-number: QTBUG-54482
Change-Id: I8bdee917b8d21fdc94c255548ad7e008431a07fa
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
qt_div_255 does a fast rounded division, the form of rounding is however
only valid for positive integers.
Correct one case where it was used incorrectly and add it one place
it would be valid, and adds a comment to the function.
We were using the optimization (x*a + y*(255-a))/255 ==
(x-y)*a/255 + y but that makes the division by 255 potentially
negative.
Change-Id: Ie53aa82b66ef801f5d43f8d2ec48880cb4972f69
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
On macOS, even if pkg-config is present in the path, configure will by
default correctly ignore it and set no-pkg-config. However, this was not
propagated to qmake when invoked from config.test, so tests which rely on
that did not work.
This was leading to pkg-config (installed from homebrew) to be used in
the libpng test, so it succeeded. But the later Qt build would fail to
find png.h from homebrew, as it correctly ignores pkg-config.
Task-number: QTBUG-55011
Change-Id: Ic6fb866bea0551f528da56cb545174dcd9bacf0d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
This allows setting of variables, like FOO=bar.
Yes, it's intentional that there are no quotes.
Change-Id: Ib306f8f647014b399b87ffff13f1d9e6a10fa2f8
(cherry picked from commit e79200bf7f)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
On RHEL 6.6, mysql_config --libs returns "-rdynamic" among other arguments.
The configure test (config.tests/unix/mysql) would end up passing that
to qmake. qmake responds with "***Unknown option -rdynamic ..."
Change-Id: Ib1300e62aec8a5d866359f3eaea88d9648c872b9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
(cherry picked from commit d7e27e4d26)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
amends fc1092cf, necessary because of (the earlier) a28364bc1.
Change-Id: I5c86bcb27854994e59228fd205c799396464554d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Store the result of the comparison before the calling QWidget::setParent()
passing the flags which can modify q->data->window_flags.
Previously, this led to the condition triggering when a child window
was becoming top level, causing the geometry to be changed (notably for
fullscreen windows on Windows, where fullscreen is merely emulated).
Amends change 5e99b07a07.
Task-number: QTBUG-54906
Change-Id: I9369d7d9f886451cfdb933746a4572593ffa074a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
there is no point in doing that, as we don't load it in that case
anyway. in fact, it would lead to caching a new result in every run.
Change-Id: Ia5cb27fa8a5d705d7f32a785b1e3b944f92d8929
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
as these tests do nothing but validating the command line, caching the
result is more confusing than anything else.
also make the tests silent, so they don't clutter an otherwise fully
cached configure run.
Change-Id: Ifc3d65278769b36a056650f077fd6274a7e192e7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
implement it in configure.exe and fix it in configure.sh.
Change-Id: I30764f4cba4bad0f23bfb40ce7a2ca614e1afd71
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
the function is (nowadays) only called when the condition is true.
Change-Id: I014f736c28c37b066a3f62e22f9002c025734386
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
write them to the top-level build dir, not the qtbase build dir.
the old files will be still used for a smooth migration.
Task-number: QTBUG-46974
Change-Id: I6eae678ffc7dfb921ecd9e9012e79e3b915ad3fa
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Drop the use of QVLA, and the loop. Put all of the code into
QT_NO_SHORTCUT.
Change-Id: I49b8e9aa403ea793fd2f3701a521776c33b64a3c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
instead of saving the files away and restoring them afterwards, use the
new and shiny discard_from() function to throw away everything the files
might contain.
strictly speaking, this is not precise, as the pris may also use *=, -=,
and possibly other operations which cannot be trivially undone, but the
purpose is essentially to discard the special outputs of some features
which may affect subsequent tests, for which this is sufficient.
as a side effect, the failure to load qmodule.pri is not fatal any more
(like for qconfig.pri), to save the pointless effort of ensuring that it
exists.
Change-Id: I07625b60c4f2e27b21206b2c16d24ab111737395
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
this function discards all values that come from a specific file. it
will be needed for configure bootstrapping, but is too obscure to
document it for general use.
Change-Id: I62c18aeb1847712e33d0599dbb0b90ffa1722438
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
the inherited arguments may contain the '--' argument, which turns
additional arguments into configure arguments. the simplest fix for
that is injecting additional arguments at the front, not at the end.
Change-Id: I7cc00a42f0148e5ccbbeda2ad59fa8c63749f02d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
this goes at the cost of <into> without the subsequent dot not being
filtered before the result insertion any more. that's not expected to
be a problem, as it's not particularly useful to iterate the target
namespace without the dot in the first place.
Change-Id: Ib3497a60613b4c8c26676fe76b731239e427b8a7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
we have all necessary overloads now.
Change-Id: Ic4472eba15d4234e968fcb9443d0f79011aa43fd
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Plugin bundles are not frameworks, so this fixes the case where a lib
template with plugin and lib_bundle in the CONFIG would be mistaken
for a framework bundle, which has a different filesystem layout and
handling.
Change-Id: I9ce9daf22d4e3de70bfe7bc8bb219068de0bca42
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Correct a boundary check so the last present name can be read, and
correct a typo that caused non-present names to read garbage.
Change-Id: Ia9d0d3af7431c1f5f02824e884efb5f6f454dc5d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This is a prerequisite for properly constructed framework bundles.
On certain Apple platforms (iOS, tvOS, watchOS), bundles are used
in "shallow" format, meaning that the directory structures are
flattened compared to the one used in macOS bundles.
shallow_bundle allows the difference to be expressed independently
of the platform. Note that the term "shallow bundle" is used by
Apple in Xcode internals.
Change-Id: I1189c52b0ea66843c313783176c11cc2af97ad25
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Debug code is suppressed; let someone investigating a problem be able
to turn it on/off by just editing one byte instead of each line of the
block of debug code.
Change-Id: Iba06df4042d9126d3a5d0873e524ef504c19d3de
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
The (event) loop member spends most of its time NULL, so make sure
slots that dereference it can't trip up if called asynchronously when
it is.
Change-Id: If634df0ecf9650b52621bdb5a3e9f151abbc18fc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Restructure an if { if/else} else chain so that it reads more logically.
Change-Id: I0d9a68451147d2b7e6a6d01cf7bee1a64b9902a7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
If SSL was unavailable but requested (should never happen)
MiniHttpServer::incomingConnection() would have crashed on
dereferencing unset member client. Rework the run-time conditioning
on SSL to sit entirely inside the #if-ery on SSL support, so that
client is at least set in each code-path.
Change-Id: I9a8ee8e4186e16dd0d00b7f9cc9b988f0b4c62ff
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Moved a line of code that appeared after each call to setupSslServer()
into that function and replaced a copy of its code with a call to it.
Moved a line from the end of both branches of an if/else to after it.
Change-Id: I74ef3e643e41ce0279a6de7f4828baea4423f267
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Many struct, class and function bodies had their open braces on the
declaring line rather than on a line of their own. Split some lines
up and joined others in the course of resolving. Removed a stray
semicolon after a constructor body.
Change-Id: I492233ca8c499f13ebe4b7d63349382e5eaa1e19
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
The whole point of this pattern is that the macro can be used with a
semi-colon after it and be a single statement; if it has a semicolon
in it, that makes it two (so, e.g., using it as the body of an if,
without braces, won't let you follow it with an else).
Change-Id: I57aca35898711ca24e10ddab73e075d361ef7eb8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Remove QWindow instance from QGuiApplicationPrivate::modalWindowList
in the destructor.
Task-number: QTBUG-54566
Change-Id: I1f07fb46a371f69f04907b20657f3b05571445bd
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Fix a few places that were overlooked in
change 29c6e39086.
Most notably, fixes MDI subwindow titles disappearing
when moving windows between monitors.
Task-number: QTBUG-49374
Change-Id: Ie6ffabc4909064e649a3820d9aa952f3991ef06b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>