Do not rely on QFutureWatcher::isFinished(), which triggers a crash in
the plugin unit test with Qt 6 (race condition?).
Change-Id: I379d894ebd4a28a64b1e70e0cee6eef9ab720a14
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
(cherry picked from commit 32541fef3b)
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
It was 10 min. Now it is 10 s.
Task-number: QDS-5077
Change-Id: I703721d08631590102611c5779929fdeae47d971
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
... in the context of #include and #define. These are not highlighted
with clangd.
Amends 99790aaa42.
Change-Id: Ia86f8606d9c1d72ff9f59909e36bfd0c44704b04
Reviewed-by: David Schulz <david.schulz@qt.io>
We don't have to build all the source files, and with Qt6, we can't.
Change-Id: Ica16e90160cf4a90612f7bba28a1140d4e8c70a2
Reviewed-by: David Schulz <david.schulz@qt.io>
clangd 14 will tag non-const reference parameters for us (https://
reviews.llvm.org/D108320), so let's make use of that at least as a
shortcut.
Change-Id: I0162b5d7b9fecc3e6ce0338e896980cd5b363ceb
Reviewed-by: David Schulz <david.schulz@qt.io>
... when doing a decl/def switch via clangd.
The delay is fine for e.g. populating the outline, but shouldn't be used
when dealing with explicit user requests.
Change-Id: I0350ed6daf8220ec3b702a3876fbf0f726da8a67
Reviewed-by: David Schulz <david.schulz@qt.io>
This makes sure that Qt 5 CMake android projects return the build dir
and not the android build libs folder.
Change-Id: I675e2ea2946beb63bbe08b9bf4b7d9603c386f09
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The interface can be used for checking the context of a codeassist
request to determine
the correct processor that has to be created.
Change-Id: I47ddb05c46399566e27bae21711f11a3a4132c3f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Do not rely on QFutureWatcher::isFinished(), which triggers a crash in
the plugin unit test with Qt 6 (race condition?).
Change-Id: I379d894ebd4a28a64b1e70e0cee6eef9ab720a14
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use 'find' on a docker image to search for diretory entries
if it is available.
If the find call fails we still may fallback to using 'ls'.
This silences currently active soft asserts regarding the
usage of sort or file filters when we are able to use 'find'.
Only support the most common and currently used options and
bark if some unsupported option is in use.
Task-number: QTCREATORBUG-26258
Change-Id: I9a082ea7aca1b6db7dcb668cfe40ed0ed48cd567
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
The named option is BUILD_LINK_WITH_QT, which when set to ON will
generate the QtCreator.ini file needed for Qt Creator to find the
installed Qt.
Change-Id: If3a47a463510fbfc90a314829378c6c4e505d2f7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Fix floating dock widget being covered by the main window if not having
focus on macOS.
Task-number: QDS-3144
Change-Id: I25230819a567a5582b97a0a52f0e46594dbab6ea
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Before we have matched actually "grep valgrind" process pid
and the intention was to match valgrind process pid itself.
Change-Id: I87576aa6fcf4ac302feb28f046421f7c21c1bcb4
Reviewed-by: hjk <hjk@qt.io>
The Android deployment file for CMake project was constructed based
on the main project target and thus was always expecting the file
to be under the build folder root path. This makes sure the correct
path to the output path is retrieved.
This practically different problems with running examples when the
main project is a Qt module, for both qmake and cmake.
Fixes: QTCREATORBUG-25793
Change-Id: I5fdedd94c7c4c84c351c28476ca14b0f95f99f22
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Due to the potential cost of the re-highlighting procedure, we'd like to
delay the semantic tokens update request to a time where the new token
information won't get invalidated right away due to further document
changes. While the document updates in principle have such a delay
already, it is often "sabotaged", for instance due to auto-completion
requests which require the server to know the current document contents
right away.
Therefore, we request new semantic tokens along with a document update
only if it's the "regular" delayed one, and otherwise add an additional
delay.
Change-Id: I074647d1cdfdbcc6aa5fc5ec2a2d5ae6ccd493ba
Reviewed-by: David Schulz <david.schulz@qt.io>
That is, don't just ask one random hover handler, but try all of them
and use the best one.
Change-Id: I38d0a90e96090c56240314a90f0f428c88fd222c
Reviewed-by: David Schulz <david.schulz@qt.io>
Remove the absolute RPATH to somewhere on the build machine,
which creates issues when loading Qt Creator on macOS 10.14,
and of course is bogus in any case.
Fixes: QTCREATORBUG-26196
Change-Id: Ic92deb9b2c6fe32f377fc31004779a2a43794054
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We synchronize the test tools now earlier and may
not have finished setting up the configuration of
the current project.
This means the project might have no valid target
yet.
Amends 481070d808.
Change-Id: Ic0c1817318a343e68587930c492397a6094a4ce2
Reviewed-by: David Schulz <david.schulz@qt.io>
stdErr, stdOut and exitMessage made const
Change-Id: Ia84d1441d632e4e08c24f817c6bdf742c154bed7
Reviewed-by: Alp Öz <aoz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
In particular, calling keys() and then take() for all the keys is
wasteful (and obscures what's going on).
Change-Id: Ic66803cf3579a39c23c32f1fc65e2c9399dcc583
Reviewed-by: David Schulz <david.schulz@qt.io>
There was a bug in the copying and comparison of mime magic rules, that
did not copy/compare the sub-rules.
With Qt 5 this was probably never actually used, because we save the
magic rules in a QList, and that didn't use MimeMagicRule as "values",
but internally used pointers to heap-allocated objects, so e.g.
appending a list of rules to another list of rules would only copy the
pointers to the actual objects (as long as the items were never
modified).
In Qt 6, QList has the same semantics as QVector, so MimeMagicRule is
actually used as values, which uses the copy operations. As a result,
the moment the MimeMagicRule was copied from the parser to the mime
type, it would loose its sub-rules. Which breaks the whole mime magic
logic, and leads to wrong mime type resolution, e.g. for *.ui files.
Change-Id: I90c46264423f18f73a6efc01887a0b8b6199d35d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The pure LSP-based implementation is too inflexible with regards to
activation characters.
Change-Id: I386a60b80f59e1b48254d55c2a47f1a1ffe1f97f
Reviewed-by: David Schulz <david.schulz@qt.io>
We must treat return and parameters types of the function differently
from the function itself with regards to template parameters. This was
already done for parameters, but not for the return type.
Fixes: QTCREATORBUG-26248
Change-Id: I44cf6f0bda7b5e3c38f9f73e13f51f2c12ab7dc4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
After replacing its use in the two remaining places.
Change-Id: I6900ccdaf4ba4cf035e59b1222f06b037e7da512
Reviewed-by: David Schulz <david.schulz@qt.io>