Handle cases where targets/projects are removed and then added again.
This is currently not done anywhere, but there should not be nasty
surprises when somebody decides to do that later.
Change-Id: I47f9b4a1577f2021bcee87ccdd5435e3628b2a95
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Clang uses mmap for system headers. This locks the header files on Windows.
If the project file is not in the root directory of the repository, and it
uses header files that are outside its directory, but in the repository,
Git operations like checkout, rebase etc. can fail because the header files
are locked.
Change-Id: If8a258234479fc70ca0a8384bf24c68d767dbeaa
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
The function hint proposal gets filled with pointers
it does not own. It does not notice when these pointers
will get deleted or modified, but as long the
hint is displayed it tries to access them.
If the document gets modified and the gls parser tries
to update the document's AST these pointers might vanish.
Only use the needed information on the proposal's side
to avoid null pointer access.
Trade off: updating the proposal hint of declarations
and definitions when document changes does
not work on the fly
Task-number: QTCREATORBUG-20570
Change-Id: I20253e92e1ca9822b1fc1f327c5c5e16b4fd91be
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Making it a QWindow meant that Alt-Tab will lead to the main window and
right back to "System Information" because this is modal. This
incovenience outweighs the convenience of having a "Maximize" button.
This reverts a part of 40d7399755
Task-number: QTCREATORBUG-20513
Change-Id: Idcea54ee2f60f9f7efde7d25ce0c305b87f445dd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When triggering the context menu on the navigation treeview and
having a model editor open QC might not find a node at all.
Task-number: QTCREATORBUG-20559
Change-Id: I71bc3e7c3f405460dd2af0a2b0cc7f1e6d3b68b6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
If the user used a macro, the Makefile will never match it, and qmake will
be executed on each build.
Change-Id: I2790db3a788ea7971145b475781a6193a1ed0842
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reproducable with
1. $ ./qtcreator a.cpp b.cpp
2. Switch to a.cpp => no highlighting
Because ClangEditorDocumentProcessor does asynchronous processing, the
backend might receive a DocumentsOpenedMessage where the document is not
the current editor (happens for a.cpp in the example). When switching to
that document, the initial jobs were not processed as the document was
not dirty.
Address this case by also checking for documents that have a revision of
1 and are not dirty. Unify adding the annotations jobs to ensure that
not more than needed are run.
Change-Id: I14030260842f97d58280235e763c8d7490705f8d
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This completes
commit f01fbcb789
Clang: Clean up some IPC names
Change-Id: Ic747ca4a01e5c693bd59626eef516ae4a42bf9fc
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
With recent clang versions we can show default arguments properly.
Change-Id: I6028db183b0413650a32928d0051afb9402c5e32
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
A general option for disabling library linking generally for all
projects.
Task-number: QTCREATORBUG-20240
Change-Id: I9f7f53e6deae7079613be32dadcd1325e5579720
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Do not show the same operator twice in symbol outline and
current document filter.
Extract common checks to TokenInfoContainer class.
Change-Id: I3b48aa949d678564c952a71f650b7ba601570fa2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Treat everything inside function scope the same way
as local variables.
Change-Id: I038d84e5e90057d65a08afc742ebcdf2de55ff85
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
If you are retrying, then probably you want it to be more patient this
time. Also, tell the user how long we have waited and how long we are
going to wait when retrying.
In turn, reduce the number of "internal" retries. Retrying 10 times
should be enough to determine if the given timeout is too short. This
will give us an initial waiting time of 2s, and make the second try 4s.
Change-Id: Ibdfe02d041550eb16cadc59cec1b78ce97289b30
Task-number: QTCREATORBUG-20529
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... in the Projects view in the sidebar. Also, there is a big
Manage Kits button in the view now.
Change-Id: I3440fa34b98dba4c71a1c6a6559af31f7d9fd78c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The actual remaining use was to pop up a terminal in some
setups where Mode == Console, with a default of Gui meaning
"no console". In some downstream uses it was used set to
Console (probably to mean "this helper process does not need
a gui") but then luckily ignored when actually starting the
helper processes.
All cases where the console is useful and requested are
nowadays RunWorkers belonging to RunConfigurations with
a TerminalAspect, so they can directly get the relevant bit
from their RunConfiguration without having it part of
all StandardRunnables.
Change-Id: I1368d5968da5cf672656aebf200ccac8d45335d0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Testable on Linux/macOS by changing c++14 to c++1z in qtcreator.pri.
Testable with latest MSVC2017 by setting _CL_=/std:c++17.
unary_function, binary_function, and a few other things that were
deprecated are removed in C++17.
std::string got a non-const overload for its "data" member function,
so we cannot create a function pointer on it without specifying its
type. Use std::declval instead (though it requires a default constructor
for the type).
MSVC seems to have an issue with Utils::transform for std::vector
(used in Nim plugin), but that looks like a compiler issue.
Change-Id: I94f9a93d591d55b610f86fabfc618158927d6221
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
When the path listed in a PathChooser does not exist,
instead of showing actions on non-existent paths show
"Create Folder".
Task-number: QTCREATORBUG-20532
Change-Id: I98d149129ad33d7be36bfe13b2c1ab57ee193cf0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
...when a new run is triggered instead of on Qt Creator shutdown.
There is no reason to keep them around for longer than needed.
Change-Id: Ida7698843cc2f8822ffd662679cf5da2c4ece05c
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
... in the Projects and File System views in the sidebar.
Change-Id: I38c77d8e5c19a1adb934c5b8d4777889467392c6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>