...when acessing m_headerPaths, m_projectFiles or m_definedMacros from
different threads.
ensureUpdated() locked the mutex before writing the variables, but
reading them happened with an unlocked mutex.
Change-Id: I4951fd58f1939e4e50534a018dd600004789668e
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Allow foldernodes to specify which files they care for when doing
"Add Existing Directory". Before we used a fixed list with C++ header
and source files, which does make no sense for e.g. adding to resources.
Task-number: QTCREATORBUG-15278
Change-Id: I15dad133391485c2bcebd2d864623304b31b5f8f
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Always choose the context node as the project node to add the new
file(s) to. This fixes adding new files to resource files.
Task-number: QTCREATORBUG-15277
Change-Id: I27f6d9dbb402c88413570a8198a005496f103c7b
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
... by adjusting the expectations on the exact type display
and trying two possible versions of structure member names.
Change-Id: I817aeb787b905cb22c6f68856043a29db3e79e59
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Because the editor manager was asked first if it wants to
abort closing (because closing an editor failed), editors
were closed before any other close listener was asked.
Ask the editor manager last to avoid ending up with an
empty editor list when canceling for some other reason.
Change-Id: Ie56866cb668a717b7072d8092b4d86b7b3196d01
Task-number: QTCREATORBUG-14401
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
With C++11 we use std::atomic in the ref counter, giving yet
another possibility of structure member names. Instead of
trying to keep up with that, access the binary data directly.
Change-Id: Iabea831689f58f83150287218bb015c824e888ca
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This is essentially QJson with Qt replaced by std:: features.
This is useful to have in circumstances where a Qt dependency
is undesirable, e.g. for the Qt Creator debugger protocol
implementation in our CDB extension.
Change-Id: Iec79c6b23b1e717ce1b6f4d38755287d1f479c13
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
The objects have been reported as 'having children', but
when asked for them nothing was produced, leading to an
endless loop (until the next 'step' command).
Change-Id: I3bbfe10a7ed980b27a5fca1edfe44dd8983b8f7b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Themes from the user config where not restored correctly.
Improve error handling when no themes are found
in case of broken installations.
Cleanly differentiate between theme "id" (currently complete basename of
theme file) and theme "displayName" (as specified as a property in the
theme file).
Remove convoluted broken code that tried to allow using an absolute file
path for a theme on the command line and require themes to be installed
either in Qt Creator globally or in the user settings path.
In general stream line the code.
Task-number: QTCREATORBUG-15113
Task-number: QTCREATORBUG-15233
Change-Id: I014a4314e8bea27422ed4c42462cf16f4220698b
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
It has been in use by the Mer plugin for per build-engine path
mappings.
This reverts bits of commit 244cdb7804
(Debugger: Split off runtime-only items from DebuggerStartParameters)
Change-Id: Ibba60443c52cedf51722bc71c4df67bee5f1ecec
Reviewed-by: hjk <hjk@theqtcompany.com>
This fixes the case when action is set not visible _before_ adding with
FancyActionBar::insertAction.
Change-Id: Ib59129532d74b8edf8ed8e83fc9bb13ad3b996fc
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Register the translation unit and request diagnostics from the
clangbackend as soon as the project part is determined. There is no
reason to wait until the parser is finished for the highlighter.
Change-Id: Iebccbf59ebd205389462dcee97363746fb651bb2
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Provide the language option (e.g. "-x c++-header") when registering a
translation unit for the editor.
Task-number: QTCREATORBUG-14787
Change-Id: Ie06f9fdab302f1b21ba72cdb65b6aabf9f7bc04c
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Apparently libclang might return invalid ranges.
Now we discard the invalid ranges. Since there is a diagnostic location
(in addition to ranges) the editor will still display an indication for
the user.
Task-number: QTCREATORBUG-15272
Change-Id: I351e136b9925a53fb2273a394e17873c5533798d
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
We needed to adapt the relative settings location to the new destdir:
sdktool moved from QtC/bin to QtC/libexec/qtcreator
Change-Id: I24152ea7ba6c0992941ad1750489ddc22f1767b0
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
ICoreListener::coreAboutToClose() remains in the core,
ICoreListener::editorAboutToClose() is handled by a new
EditorManager::addCloseEditorListener() function.
This removes the need for some boiler plate code resulting
from the need to implement the interface in custom classes
(DesignModeCoreListener, EditorClosingCoreListener,
PojectEplorer::CoreListener and VcsBase::CoreListener).
EditorManager::addCloseEditorListener
Change-Id: Ie554c987b5455b555be6d77b77e4013639201d22
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
After b42bd585c4 there was
no automatic scaling of Qt Creator's UI with Qt 5.6 on non-OSX,
anymore.
This commit re-introduces it for Windows.
As a small bonus, now the environment variable is only set during
QApplication creation and unset afterwards. The run environments
are now not affected, anymore.
Change-Id: If0039df500d28a93c1ca8c2df9960992a010723f
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Do destinguish between /tmp/untitled1 and /tmp/untitled10.
Add some line-breaks while editing the file.
Change-Id: I49f9457bd43f188d4327fea3b84254ecb41ee7fc
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
The functionality in that class is covered by initializers and
Utils::unique, so there is no need to keep a custom class.
This way FileNameList plays way nicer with utils/algorithm.h.
Change-Id: I8eeae6aca0558ecd998920c4fdfc5ea56bf75501
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This methods returns a new container with only the unique elements
in the input container. Uses == for comparison of elements.
Change-Id: I80c2027b4d275d27343bd64851c17d42bc971e82
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>