[qt/qt-creator/qt-creator]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt-creator/qt-creator
Pushed by mirror-service into branch 'master'.
Changed from 172916159aafd866ddadddce96ea41c33aa2e06f to 033027b8f854c212316de61c858c42ee09ee3f66
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit e73b5fd4d9d7a7af2a084fcd6ca2e7717c94b874 by hjk on 17/08/2026 at 12:42..
ProjectExplorer: Add a locator filter to switch the active project

The run configuration filters ("rr", "dr", "sr") operate on the active
project only, so running a binary of another project still needed the
target selector and a mouse. "sp <project>" now switches the active
project from the keyboard.

Assisted-by: Claude Code
Change-Id: Ida7582f7de808eab586bd069c8f4c03c5dc24099
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e73b5fd4d9d7a7af2a084fcd6ca2e7717c94b874

Git commit 4282e95e9e7e7cb0a6028ee4203ec0fc3dd1cd49 by hjk on 17/08/2026 at 12:42..
Doc: Say which analysis tools open in the Profile mode

QML Profiler, Performance Analyzer, and the Chrome Trace Format
Visualizer construct their perspective with the profiler view; the
others take the default one, which is still Debug.

Assisted-by: Claude Code
Change-Id: I3125be7e79e5ada858b21cec88fda63322c2e35f
Reviewed-by: Leena Miettinen <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4282e95e9e7e7cb0a6028ee4203ec0fc3dd1cd49

Git commit 0bfa7118329715d92949cfee3a737259e552f1aa by hjk on 17/08/2026 at 12:42..
McpServer: Make a settings page drivable

Two things stood in the way of setting up a kit through the MCP tools.

Typing into a path chooser or a secret field went to the widget that holds
the editor, so the keys were dropped; follow the focus proxy, or a lone line
edit, to what actually takes text.

And set_setting stored the value without applying it, so nothing acted on
it: the HarmonyOS SDK path arrived in the settings, but no toolchain was
looked for and no kit appeared until something else applied the page.

Assisted-by: Claude Code
Change-Id: If8e15f4dd445a7a0b2cf52193f57f9a6922eb516
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0bfa7118329715d92949cfee3a737259e552f1aa

Git commit 93a940a5cdddb01aa868fb6275ccae494c1e692a by hjk on 17/08/2026 at 12:43..
McpServer: Support extended-remote attach in start_debug

Add an "extended_remote" option to start_debug's remote attach so it can
connect with "target extended-remote" (a "gdbserver --multi" server) and
launch the program via run, passing "arguments" to it.

Assisted-by: Claude Code
Change-Id: Ibfb926272a7f055e622bb60888a2013ebf0b0ca4
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/93a940a5cdddb01aa868fb6275ccae494c1e692a

Git commit 858d3d06dc08fafc8d93ac21a5307657cea894f8 by hjk on 17/08/2026 at 12:43..
Profiler: Add MCP tools to drive the QML profiler

Add start_profiler, get_profiler_status and stop_profiler so the QML
profiler can be started and observed headlessly over MCP, the way the
debugger already can. start_profiler runs the startup project in the
QML profiler run mode; get_profiler_status reports the state, the
recording flag and a summary of the collected data (event count and
trace duration); stop_profiler stops the running session.

Assisted-by: Claude Code
Change-Id: I91b70ecc997d67a6ded909dffda0072de251192d
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/858d3d06dc08fafc8d93ac21a5307657cea894f8

Git commit 2a01bae9c81550f0ff0a7df6db490f830f807112 by hjk on 17/08/2026 at 12:45..
ProjectExplorer: Let run_project take a run_mode

run_project always used the normal run mode. Accept an optional run_mode
id (default RunConfiguration.NormalRunMode) so the same tool can run the
startup project under any registered, non-interactive run mode, such as
an analyzer. Interactive modes keep their dedicated tools (start_debug,
start_profiler).

Assisted-by: Claude Code
Change-Id: Ifb6e4b3ffa621ecf57e25636b940e79c480b1210
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2a01bae9c81550f0ff0a7df6db490f830f807112

Git commit 1d10dd76565592ca92aff02f153e81252e486554 by hjk on 17/08/2026 at 12:45..
McpServer: Add a get_message_boxes MCP tool

QMessageBox popups - QMessageBox::warning/question/..., and non-modal
boxes shown via new QMessageBox(...) + show() - never reach the log or
message panes, so a headless MCP client cannot see them. Capture each one
as it is shown, via an application-wide event filter, and expose them
through get_message_boxes (title, text, informative text, icon, buttons,
modal, and whether still open).

Assisted-by: Claude Code
Change-Id: I906279bb468167692cbe5e296e0d56334d563d5e
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/1d10dd76565592ca92aff02f153e81252e486554

Git commit cf2065bc94bc795b86d8d574bf022dc3178b7b4c by hjk on 17/08/2026 at 12:45..
Core: Let PatchTool::runPatch report through a callback

The progress and error messages went straight to the message pane,
which a headless caller cannot read. Add an optional logger callback
that receives them instead; without one the pane behavior is
unchanged.

Assisted-by: Claude Code
Change-Id: I4b09df5ef5111ea121d8d74ceb0e840de811d673
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/cf2065bc94bc795b86d8d574bf022dc3178b7b4c

Git commit 4e8501847b7b74cde1ce4edd3f6db4b03a2d1223 by hjk on 17/08/2026 at 12:46..
Profiler: Add MCP tools to drive the CPU (perf) profiler

Mirror the QML profiler tools for perf: start_perf_profiler,
get_perf_profiler_status and stop_perf_profiler drive and observe the
CPU (perf) profiler headlessly over MCP. start_perf_profiler runs the
startup project in the perf profiler run mode; get_perf_profiler_status
reports the recording flag and the sample count and trace duration;
stop_perf_profiler stops the session. The run-control lookup is
generalized to a runningRunControl(runMode) helper shared by both
profilers.

Assisted-by: Claude Code
Change-Id: I2e39d01986e186ef8172e136adba83d4dba0064b
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4e8501847b7b74cde1ce4edd3f6db4b03a2d1223

Git commit 78461735ca072c40de5f71da39e049ada24449a1 by Marcus Tillmanns on 17/08/2026 at 13:08..
Docker: Retry the CmdBridge setup after a transient failure

A failed setup cached a fallback file access for the rest of the
session, so a single transient failure made every file operation cost a
container exec until the device settings were touched again.

Retry the setup a few times instead, spaced a few seconds apart - file
operations come in bursts, and back-to-back attempts would all hit the
same transient failure. The retry flag is cleared for the duration of
an attempt, so that the recursive getFileAccess() calls made while
deploying take the cached fallback instead of starting another attempt.

Task-number: QTCREATORBUG-34867
Assisted-by: Claude Code
Change-Id: I5589080e05363702caf503e94ea95ff97b8bb256
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/78461735ca072c40de5f71da39e049ada24449a1

Git commit 4a2d0646a83e84a293a7d39d42e9b73e3a9f2990 by Marcus Tillmanns (on behalf of Christian Stenger) on 17/08/2026 at 13:09..
Utils: Ensure correct deinitialization of GlobalWatcher

Silences the warnings regarding stopping timers from another thread.
They only showed up when the notify timer was still armed at teardown,
that is, when a file change arrived within the last 50 ms before
shutdown.

The private object was destroyed on the main thread, after its own
thread had already finished, so its QTimer child was stopped from the
wrong thread. Let the thread's finished() signal delete it instead, the
same way the process reaper does, so that it and its children die where
their timers live.

Amends 740bde9516d39294fe73822d0c874185795f2bd9.

Assisted-by: Claude Code
Change-Id: If18b83c9f08b5dee4a4fe9db2ef30e00ff488d3e
Reviewed-by: Marcus Tillmanns <[email protected]>
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4a2d0646a83e84a293a7d39d42e9b73e3a9f2990

Git commit 013f12cf4a14450ec0c2f0db6799f0a0ab439e95 by Marcus Tillmanns on 17/08/2026 at 13:09..
ProjectExplorer: Let UseDyldSuffixAspect apply itself

The macOS DYLD_IMAGE_SUFFIX block was copied into every run
configuration offering the option, each spelling the connect
differently - DesktopRunConfiguration named UseLibraryPathsAspect for
the useDyldSuffix aspect, which works only because changed() is
inherited from BaseAspect.

Move it into the aspect, next to the id, settings key and label it
already owns, so a run configuration needs one line and the next one
gets it right by construction.

Change-Id: I1318d80e458392e26760bfe366dd63bcdf2fd99b
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/013f12cf4a14450ec0c2f0db6799f0a0ab439e95

Git commit bacf8a28937b98160b5d8504d3a1e39cd76ff9c4 by hjk on 17/08/2026 at 13:12..
CmdBridge: Fix -Wrange-loop-construct warning in the find test

Assisted-by: Claude Code
Change-Id: I7e4e230a1900745a526382ea15315ece440e32b0
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/bacf8a28937b98160b5d8504d3a1e39cd76ff9c4

Git commit ff772129246739062167e59d02c31d0cce04d97e by hjk on 17/08/2026 at 13:53..
QtSupport: Load Qt version info without freezing the settings page

Opening the Qt Versions options page called blocking getters
(isValid(), qtAbis(), toHtml()) for every version while painting.
Each routes through QtVersionPrivate::data(), which runs the qmake
query synchronously, so with many remote versions the GUI froze for
a long time on every open.

Render a lightweight placeholder for versions whose information is
not available yet, run the queries in the background, and refresh
each row once its info arrives. The detail panel does the same for
the selected version.

To support this, QtVersion gains a non-blocking
isVersionInfoAvailable(), and data() now remembers a failed query
instead of re-running it on every access. updateVersionInfoNow()
honors that marker too, so a passive refresh cannot restart the
query and re-block. refreshVersionInfo() clears the marker (and the
derived mkspec cache) to retry.

The retry hook lives in QtVersionManager, which listens to
DeviceManager::deviceUpdated and refreshes the authoritative
versions of the changed device. That heals them - ABIs, kit
auto-pairing - independently of whether the options page is open.

Assisted-by: Claude Code
Change-Id: I522c9fc60b0fd3fba7fb58d8e8109f35c227ba82
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ff772129246739062167e59d02c31d0cce04d97e

Git commit b5036ee6117c1b018e542cb449870e4efc8f2ed7 by hjk on 17/08/2026 at 14:13..
CMakePM: Name the project in the "cm" locator entries

Standard targets like "all" or "install" exist in every open project, so
with more than one of them the list showed rows differing only in a long
CMakeLists.txt path.

Assisted-by: Claude Code
Change-Id: Id333004d7b2437b9dd6712b06600e65cddd8b487
Reviewed-by: Sami Shalayel <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b5036ee6117c1b018e542cb449870e4efc8f2ed7

Git commit 46b97e51a2a9caeec4eebdae7f80fde36dec2c97 by hjk on 17/08/2026 at 14:46..
Debugger: Do not auto-open the QML console for filtered messages

The QML Debugger Console popped itself up on every error and flashed
on every warning, even when the user had switched those message types
off with the console's filter buttons. Respect the filter: only draw
attention to a message type that is actually shown.

Fixes: QTCREATORBUG-19886
Assisted-by: Claude Code
Change-Id: I7b3e50c40f40efa7f7e334ae1850734576f28ece
Reviewed-by: Ulf Hermann <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/46b97e51a2a9caeec4eebdae7f80fde36dec2c97

Git commit 75e07b0d59c288bf361e945e86f3faabaf817fa2 by Marcus Tillmanns on 17/08/2026 at 15:13..
Utils: Set up the desktop file path watcher from started()

The private object's setup ran as the first event delivered to the
watcher thread's event loop. Connect it to started() instead, so that it
pairs up with the finished() connection tearing the object down and the
whole lifetime is visible in one place.

The connection has to be made before start(), otherwise started() may
have fired already and the setup never runs.

init() loses its underscore, as there is no cross-thread wrapper left to
tell it apart from.

Assisted-by: Claude Code
Change-Id: I149844df5ff23000548e98dd03ba408c57cbc65c
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/75e07b0d59c288bf361e945e86f3faabaf817fa2

Git commit 033027b8f854c212316de61c858c42ee09ee3f66 by Marcus Tillmanns on 17/08/2026 at 15:14..
BinEditor: Report a missing file as missing

fileSize() returns zero for a file it cannot access, just as it does
for an empty one, so the check for a negative size never triggered.
Opening a file that does not exist was reported as "The Binary Editor
cannot open empty files." instead.

That is easy to run into, because a path that does not exist and has no
known suffix has no detectable MIME type, which makes the Binary Editor
the first choice for opening it.

Task-number: QTCREATORBUG-34870
Change-Id: I28d100a4f12aae5dc0fac08b54720e656000f5dc
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/033027b8f854c212316de61c858c42ee09ee3f66
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.