This seems to have silently broken ages ago, perhaps when run workers
were introduced: The clang tools' run controls no longer hold the
executable, so we passed an empty file path to the function that was
supposed to retrieve the include path, which in turn gave us compile-
time values as a fallback.
Change-Id: Ie275dab93e4a4ed551c3c8fcd604cd37a3b7bd0e
Reviewed-by: hjk <hjk@qt.io>
Previously lldb never actually attached to the process running
in the terminal, but started its own copy.
Since the process is interrupted by the terminal stub already,
code was added to automatically continue the process.
"Start and break on main" and "Run in Terminal" also did not work
together and are now fixed.
Change-Id: Iaeb6e7dd0f511f3bf195ab5d0008856b310615d9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The LinuxProcessImpl works better. Specifically the QnxProcessImpl
process exit code would always return 0.
Change-Id: I939d486e1cf7a1bdbb61a120a303d79e7cbce8e6
Reviewed-by: hjk <hjk@qt.io>
The crash could be reproduced by opening a project, clicking the "Kit
Configuration" button in the build configuration, closing that dialog,
opening it again, opening the settings from the "Manage" button for the
CMake tools, and closing the settings dialog.
The "KitAspectWidget"s are not really widgets, and by default do not get
a parent, or are otherwise lifetime managed. When "they" are added to a
layout, actually only their widget members are added to the GUI. When
opening and closing the "Kit Configuration" dialog, the widgets were
deleted, but the KitAspectWidget instances were leaked and lived on, the
CMakeKitAspectWidget referencing a now deleted QComboBox, and still
being connected to the CMakeToolManager's signals, which subsequented
crashed when these were sent.
Fixes: QTCREATORBUG-28740
Change-Id: I36db3b6596ef21cc01dc877bca92b9961c0606b9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
To allow the same item to appear in multiple categories.
Change-Id: Ib957b1fb0d98a28ceeb1d80e9fb497cc2a6b1f48
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Add a reference to c'tor's encodings arg.
Make c'tor's args default.
Make m_items field const.
Change-Id: I74bb1829f3ba0ea8a61106bddadeb935b6405f77
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Another attempt for 87c00b86db.
This section was added in 3b5ecac238, which was a refactoring commit,
not sure why.
It causes state discrepancy, because only on quit the "thread-exited"
messages are processed, and when the thread list is clear, the engine
considers it as InferiorShutdownFinished and triggers engine shutdown
again, which is wrong, because it quits twice and can no longer write
to the process, which is already dead at this point.
Change-Id: Ic5cfced672b640865e701ac96b6fcea34d748211
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The target of the connection determines in which thread the slot is
executed, and in these cases the slot needs to be executed in the
logging thread. But the LogTailFiles object is created and stays on the
main thread. So, the slot that was supposed to stop the event loop in
the logging thread was blocked from being executed when
IosToolHanderPrivate waited for the canceled threads to finish with
futureSynchronizer.waitForFinished().
Use the event loop as the "target" of the connections.
Amends 33e8251edf
Change-Id: Ie78fcb33b88c1fe7a138fac790fd4f3b7dd9bad9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Use a separate client for the authenticator widget that can react on
changes in the settings widget. This removes the need to manually apply
the settings between setting up the nodejs and agent.js paths and
signing into github.
Change-Id: I6628a3a8906ccbba208f9dac968262df962f93c0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Whenever cmake runs, the app_version.h of qml2puppet is
recreated. This was included almost everywhere so a complete
rebuild of qml2puppet would be triggered. This patch
moves the app_version.h include into a single .cpp to limit how
much of qml2puppet needs to be recompiled.
Fixes: QTCREATORBUG-28784
Change-Id: I5064d450ed92ec003f164bcd42be694612011196
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
- centralize starting client
- allow to start copilot with alternative settings
- do not reset the client on finished.
A finish might be followed by a restart attempt, so untracking the
client in the plugin can result in having multiple running clients. Use
a QPointer instead to safely reset once the client is deleted.
Change-Id: Ifab8b04287d84bbdd4a0e936f4684b8d4391da2b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The multi line selection from bottom right corner to top left was broken
for copy to clipboard.
Change-Id: Ica40ec2ce5bb7b9d4b0187ebb454cd16e039e339
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
When selecting the whole screen (e.g. while running nano)
the iterator position would be "end", but the iterator
state was not, as "CellIterator(this, pos)" did not check for that.
Change-Id: Ie26ce27c0078f7b3fcc3c77673ac66bc273c842d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Previously all lines would be copied into one without lines breaks.
Change-Id: Id87dbde84a19ccbc5f53438a305173d1b070eaba
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This fixes the case when a CMake variable (CMAKE_PREFIX_PATH) would
reference an environment variable (qt_path) that would contain a CMake
preset macro (${sourceDir}/../qt_install).
Fixes: QTCREATORBUG-28606
Change-Id: Ib6239b13782b2ea854969547af46c3fe82a061f4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
By issuing "threads" the jdb will output the names of the running
threads. This makes sure that jdb has "settled" and is in a running
state.
Task-number: QTCREATORBUG-26592
Task-number: QTCREATORBUG-26709
Task-number: QTCREATORBUG-28141
Task-number: QTCREATORBUG-28428
Task-number: QTCREATORBUG-28851
Change-Id: Ib371e333eb9fc4d93a6b797bf7be68793f887fcd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
In case a passed future interface is used only for checking for
cancel, use QFuture<void> instead. This will properly integrate
with QPromise API.
Change-Id: I33e5e9c62dbcfb1f7aa71eace6158e5b7c0a7098
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
It's more reliable than the built-in code model with non-trivial
directory layouts.
Fixes: QTCREATORBUG-28878
Change-Id: I02a058e7efb54e6af0998948a20d990e10293f03
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Printing the source code line the debugger stopped at causes issue in
the general output handling and was just used to conveniently reading
the log file.
Fixes: QTCREATORBUG-25054
Change-Id: I8db54ef6aa101b2bc7e39984bbf93bd6c9e2dc41
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The query currently used does not provide this value and showing
public for everything is misleading to the users.
Fixes: QTCREATORBUG-28882
Change-Id: Ie47a4fa24e4b1e90b8d1a53c5819742f2b5aca71
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Avoid having to pass to CreateTexture whether the asset needs importing
or not. Instead check if the asset is already inside the porject or
not. Also small relevant tweaks.
Change-Id: I6a449d76a6b70ab34fe81762fc9e3eacf9b64d04
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>