... and replace it by direct uses of ProcessHandle::activate().
Change-Id: I7beffba7bfbeff72a81b8699ff54a311a74ce1a3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Instead of a blunt delete() RunControl::initiateFinish() is triggered
by the closing of the application output instead. The rampdown process
is basically the same as stop() now, except for the other success
signal (new finished()) and the final self-destruction of the
runcontrol.
stop() itself triggers initiateStop() on all running workers in
parallel (before it was in the order of start). This gives
downstream complex worker combinations the flexibility to use any
order it wants by ignoring stop() on 'uninteresting' workers,
and centralizing rampdown e.g. in the main worker. That setup should
be rare in practice, but seems needed in some profiler cases.
Change-Id: I986a152a663754206709ed4df0d4568847afad17
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This fixes the regression introduced in 5a848aa188 and uses the
feature to resolve the conflict between ClangStaticAnalyzer and Boot2Qt.
Change-Id: I6cdec8261a457c399c11a4b2078a78088d4c56d1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
In that case the first item will be activated as soon as it gets
available. That behavior got lost during the recent refactoring.
Task-number: QTCREATORBUG-18560
Change-Id: Ifda117f92f2adf23b499f50bdb4809c5e7830517
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The two cases in which the UI might be blocked are:
* Invocation of the editor context menu
* Rename Symbol Under Cursor
Cancel the future if the backend is restarted and on the other side,
check whether the future is cancelled.
Change-Id: If2315da1f66f15eab1531fcd8da1dff851a9a4e6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Issue was:
1. Open some small file without any includes but with diagnostics
2. Switch to the shell and touch the file open in Qt Creator
3. Switch back to Qt Creator and confirm reload
--> Ops, inline diagnostic stays invalidated/gray
This is due to a race condition. The problematic sequence is:
1. CppEditorDocument::scheduleProcessDocument()
// OK, because contents changed
2. ModelManagerSupportClang::onCppDocumentReloadFinishedOnTranslationUnit(bool)
// OK, because we listen on TextDocument::contentsChangedWithPosition.
// Because of the fast reparse, new diagnostics are processed with
// ClangEditorDocumentProcessor::updateCodeWarnings().
3. CppEditorDocument::processDocument()
// Timeout, invalidates the already up to date diagnostics
Avoid to trigger the process timer during a reload.
Change-Id: I712d6b2fd5524d5fe6866dbdbb8cbca05e4aef2c
Reviewed-by: David Schulz <david.schulz@qt.io>
... and make use of it.
With gcc 7, the new option -Wimplicit-fallthrough is introduced and
added to the -Wextra set, triggering dozens of warnings in our sources.
Therefore, we annotate all obviously intended fall-throughs. The ones
that are still left are unclear and need to be checked by the respective
maintainer.
Change-Id: I44ead33cd42a4b41c28ee5fcb5a31db272710bbc
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
...since this is not yet implemented and confuses users.
Change-Id: I16e41f3308607aeaf1fb4a8d38ca276781c88952
Reviewed-by: David Schulz <david.schulz@qt.io>
Reducing display of unwanted line annotations while typing in small
files.
Change-Id: I51864bbc3056ad792d5ee4b96f63e954dfba79dd
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
The controls in the Options view have been rearranged, so the
text was rearranged accordingly.
Updated and added screenshots.
Change-Id: Ideb8fbd43d7872091980fc1b17d6593ed2f356eb
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Backport the master commit (cherry-pick).
Apply clang fix to the old code model
Do not replace the text after cursor if
the proposal does not contain it or
if proposal matches 100% the text after it
Task-number: QTCREATORBUG-18471
Change-Id: I10c90580d46d2d2c899dc1ed8fe4d7df0531691a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Realistically, we only have UTF-8/plain ASCII messages, and if not then
the conversion should happen when the message enters the "creator eco
system" as there's potentially information on the actual encoding
present, not at some random consumer further down the chain.
Change-Id: Ie21199b99255f5c4d28fce3da7db2fd6c3bcfb3a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... instead of onFinished(), which is on its way out. Should be the
right think in theory and not make a difference in practice as
the code appears to be unused right now.
Change-Id: I5ef415fc0fab8902e8e31e75354a5943d99b2182
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
For the Clang Code Model, this assert is not valid as it does not
require the semantic info.
Change-Id: Ia28253354baa531c620c1bd4dead16ef88a95f1b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This improves reparses for big header files significantly. The second
patch fixes invalid diagnostics associated with the new behavior.
Change-Id: I1606cff0164c69994e82c02766f955196d43953a
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Patch provides faster preamble loading by improving the handling of
diagnostics.
Change-Id: I61a79160e0272335d6d4e76478a7a35760cdf9ef
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This clang patch makes llvm avoid using memory map
which makes llvm work without locking files.
Without that patch the user is sometimes unable to
save files in qt creator.
Task-number: QTCREATORBUG-15449
Change-Id: Iab77a758174d153f860edb2f419b6ab767571964
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
It was for llvm/clang >= 4.0, but we are still on 3.9 for now.
Change-Id: I29338b6ed90b3ac4f32021085139e6917fd5ac9e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>