[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 b52dcdc64f5a5ff71f38616784909103f61877dc to 172916159aafd866ddadddce96ea41c33aa2e06f
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 299ade50a2add4a7c86a059c19f8ff749fbeddea by hjk on 17/08/2026 at 07:27..
Debugger: Test boost::variant with a reference member

The active alternative of a boost::variant having a member of reference
type used to be dumped as the reference itself instead of the referent,
so a nested value showed the reference address instead of the pointee.
This works now; add a regression test covering the reported case.

Task-number: QTCREATORBUG-18835
Assisted-by: Claude Code
Change-Id: Ibb7883feeed7724cbc04c76d361513cbd35abef6
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/299ade50a2add4a7c86a059c19f8ff749fbeddea

Git commit f9326c614acaa55ea561314404eb8a9cff2580b8 by Marcus Tillmanns on 17/08/2026 at 08:05..
DiffEditor: Align the side by side inline diff with word wrap

The side by side inline diff kept the baseline and editor views aligned
with line-count based spacer rows, so a word wrapped line on one side
pushed the two views out of sync: the mirrored, pixel based scroll bars
rely on both sides having the same height per row.

Replace the count based spacers with a SideBySideAligner that pads the
two views row by row to the taller of each paired row. The pads measure
the other side on demand (non-forcing block queries, so no reentrancy or
forced full layout), which keeps the alignment correct across word
wrapping, resizes, splitter drags and font changes without an explicit
recomputation step. Cross-view staleness is handled by resetting the
other view's cached offsets on its counterpart's documentSizeChanged.

Also fix two markers that ignored the wrapped and padded rows:
- HunkControls' range bracket took its bottom from a cursor at the start
  of the last block, so it stopped at that block's first visual line;
  it now uses the end of the block and follows a wrapped last line.
- paintRevisionMarker drew the change bar down to the block bounding
  rect bottom, which now includes the aligner's appended pad and so
  bled through the empty gap below a changed line; it now stops at the
  main text bottom.

The now unused editorSpacers/baselineSpacers render model fields are
removed; the aligner derives everything from the hunks.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Change-Id: Iff995472a23d3bb492002970979a9481d60e0395
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/f9326c614acaa55ea561314404eb8a9cff2580b8

Git commit 2ebe13dbafca5b73d3184c85dd3a620f99393a58 by Christian Stenger on 17/08/2026 at 08:07..
AutoTest: Fix lookup for derived tests

Resolving non-local imports needs QML_IMPORT_PATH and
we need to make use of it.
Instead of parsing an empty context we need to pass the
real used context.
This follows the way of finding references of symbols
done elsewhere inside QmlJS.

Fixes: QTCREATORBUG-25066
Change-Id: Ifbb9b963b801c671c0374e29c77c24354cc1b90c
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2ebe13dbafca5b73d3184c85dd3a620f99393a58

Git commit e32a0740f51a43d1d1458320ce9a609ac158c42a by Christian Stenger on 17/08/2026 at 08:07..
AutoTest: Fix quoting for Quick Tests

We explicitly quote arguments like test cases for QTest
already, but never did for QuickTests although based on
the same functionality.
Move the helper function to a more general place and
make use of it also for QuickTests.
Fixes running Quick Tests with spaces inside their name.

Change-Id: Iff0d2c82cc2ca9623cd1a57b4dc2de7a57492387
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e32a0740f51a43d1d1458320ce9a609ac158c42a

Git commit c4df5b80578eb376502450c68618c8cc007ddebf by Christian Stenger on 17/08/2026 at 08:08..
AutoTest: Reset update type on empty parsers

Avoid providing wrong information on requesting to know
whether the parser is currently parsing or a parsing is
already scheduled.

Change-Id: I6a006ec92422d6f0a1612b1036c7f3d7230c78b8
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c4df5b80578eb376502450c68618c8cc007ddebf

Git commit aa115497c013ed71b3457917d57460f7ec323fd1 by Christian Stenger on 17/08/2026 at 08:08..
AcpClient: Avoid widgets popping up without parent

Updating the visibility without a parent makes the widgets
show on top until they get a parent.

Change-Id: Id4e68a8babe4be50c3de562b755c3aac2f82cc4a
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/aa115497c013ed71b3457917d57460f7ec323fd1

Git commit 4c16115804f19669e55b9c5065a27d2c3158379c by Christian Stenger on 17/08/2026 at 08:08..
TextEditor: Avoid popping up unparented widgets

Change-Id: I9cff6a993c104ac9d69caeedef57ac1f304588e2
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4c16115804f19669e55b9c5065a27d2c3158379c

Git commit df520fbeadff18949be44c9e73fe0e10d7b90354 by Christian Stenger on 17/08/2026 at 08:08..
CppEditor: Avoid popping up label on clangd settings

Change-Id: I1bc7f4e211778e4473b02a0f4ae3e63f2e470a69
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/df520fbeadff18949be44c9e73fe0e10d7b90354

Git commit 2bc291da5ec961a4bb583527137bb27f78542a1f by Christian Stenger on 17/08/2026 at 08:08..
Docker: Avoid popping up unparented widgets

Change-Id: I61862dad064ea0bd8741551540f5f8f5dec6ffe9
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2bc291da5ec961a4bb583527137bb27f78542a1f

Git commit 9c7366c63dfc65d6790e811f04654905b9c491f4 by hjk on 17/08/2026 at 10:16..
Debugger: Use native dumper-aware variables in BridgeEngine

Replace the DAP scopes/variables/variablesReference model with a native
qtc/fetchVariables request that drives the real Qt dumpers on the bridge
and reuses the shared updateLocalsView() on the C++ side - the same path
GdbEngine uses. Variables now have iname identity and Qt-aware values
(e.g. std::string shows its content) instead of gdb's flat formatting,
and lazy expansion and watchers ride along via WatchHandler's existing
format/watcher requests.

The BridgeVariablesHandler copied from the DAP engine is dropped.

The dumper's structured output is carried in the response verbatim and
parsed with the existing GdbMi reader; transcoding it to a pure JSON
tree on the wire is a deferred cleanup that does not change the
architecture.

Verified end-to-end against real gdb: a std::string local is reported
as its content via the stdlib dumper.

Assisted-by: Claude Code
Change-Id: Ifc8469783e116ece76dd564c06c473b656fbf9ca
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/9c7366c63dfc65d6790e811f04654905b9c491f4

Git commit e4da96fa7c8035487da0702c2ead47948c037694 by Marcus Tillmanns on 17/08/2026 at 10:25..
TextEditor: Add optional +/- signs to the inline diff gutter

Add a "Mark diff changes with +/- signs" display option, off by
default, that draws a "+" next to added or changed lines and a "-"
next to removed lines in the editor's extra area. The signs let
readers tell additions from deletions without relying on the green
and red background highlights, which helps with color vision
deficiency.

The signs live in a dedicated extra area column between the line
numbers and the folding markers. Added and changed lines take their
sign from a per-block map published by InlineDiffDecorator; removed
lines shown as ghost rows are marked from the layout at paint time.
The column only takes space when the option is on and the editor
actually shows an inline diff.

Change-Id: I140d3b04b99ec52a5c9ec69a5f8ce5b3b2c240db
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e4da96fa7c8035487da0702c2ead47948c037694

Git commit 0ec741ddda3e7bf10afdaa4598daa096ddb84a94 by Marcus Tillmanns on 17/08/2026 at 10:31..
CmdBridge: Let the bridge exit by itself when the client goes away

The teardown wrote the "exit" request and closed the process right
after. Neither reaches the bridge: writeRaw() only buffers, and close()
drops the process without flushing, so what actually ends the bridge is
the SIGTERM the reaper sends afterwards. A remote bridge does not even
get that - terminating the local end of the connection leaves it running
until its watchdog fires a minute later.

Closing also disconnects before Process::done, so nothing concludes the
jobs that are still pending. Their promises end up merely cancelled when
the client's data is destroyed, instead of failing with the error the
handlers expect, and Client::done is not emitted at all.

Wait for the process instead, bounded and in the thread that owns it,
which is also what gets the request written. Terminate it only if it
does not go by itself, conclude whatever jobs are left, and delete the
process there. Run all of it from QThread::finished, so that the
teardown does not depend on an event being delivered either. A thread
that still cannot be joined is left behind together with the state it
works on, rather than having that state pulled from under it. The
handlers reach that state directly, so that leaving the client behind
does not leave them pointing at it.

The bridge also has to notice the request. Its reader loop only decoded
when bytes were waiting in the reader it peeks at, but the CBOR decoder
pulls a whole read into a buffer of its own, where a second command from
the same read stays undecoded until more data arrives. The exit written
on top of a job that had not been flushed yet was exactly that command,
and never arrived.

Amends 0badec0a1013b192eddb95ed6fa1efdca76c0d52.

Fixes: QTCREATORBUG-34866
Assisted-by: Claude Code
Change-Id: I69c03871c2c7bda77cdb420a19b37e16c996628a
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0ec741ddda3e7bf10afdaa4598daa096ddb84a94

Git commit 48d9eb27bd567ac2b2eaa74766f539921c7eff55 by Marcus Tillmanns on 17/08/2026 at 10:38..
Tracing: Fix track hit test coordinates in the renderer test

The track area gained an 8px top margin, so track 0 no longer starts
at widget y = 0. The test kept hit testing in widget coordinates while
expecting track-local ones - the space the renderer builds its fill
geometry in - so a click at the row top landed in the margin, and the
top eight pixel rows of every drawn rect counted as unhittable.

Convert through trackYOffset() and size the viewports to totalHeight(),
which the tracks no longer fit into.

Amends b95d8ce5c59cf34c9f52a2b7f8401c1f774985ec.

Assisted-by: Claude Code
Change-Id: I604aafba906e437c7250e70b7ca9e44d8988feef
Reviewed-by: Alessandro Portale <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/48d9eb27bd567ac2b2eaa74766f539921c7eff55

Git commit 324cc07bb52633b35f7f66786b72dfcc69dfa14d by hjk on 17/08/2026 at 11:00..
Qnx: Run the remote "Custom Executable" configuration on QNX

QnxRunWorkerFactory only handled the QNX-native run configuration, and
the Remote (Linux) run worker does not list the QNX device type, so the
"Custom Executable (on QNX Device)" configuration had no run worker at
all: it was offered on QNX kits but its Run button stayed disabled.

Have the QNX run worker also accept RemoteLinux.CustomRunConfig. Restrict
it to the QNX device type at the same time. It previously matched any
device (empty type list), which with the added config id would have
conflicted with the Remote worker on Linux/macOS/Windows.

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

Git commit 7bda2bc16625741f64a36390b3ef06f50d4672ab by hjk on 17/08/2026 at 11:02..
ProjectExplorer: Offer the debug-frameworks option for custom executables

The "Use debug version of frameworks (DYLD_IMAGE_SUFFIX=_debug)" option
was only available for project run configurations, not for custom
executables. Add the UseDyldSuffixAspect to
CustomExecutableRunConfiguration, matching DesktopRunConfiguration
(macOS only; hidden elsewhere).

Fixes: QTCREATORBUG-9333
Change-Id: Id7abefc8bc2b32c8ded6dd4769b92425278c03fa
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/7bda2bc16625741f64a36390b3ef06f50d4672ab

Git commit 8def6fe183c6d39d2b107cf188e2cd627bf481f5 by hjk on 17/08/2026 at 11:02..
Doc: Describe the MCP server's capabilities

The "Set up QC MCP server" page mentioned only debugging, building and
managing projects. Add a short overview of what the server can do - C++
code navigation and refactoring, Git inspection, and file access - and
note that the MCP client shows the current list of tools, since the set
keeps growing.

Assisted-by: Claude Code
Change-Id: I3d3995674534a9ae66c36a482eb2206cb1d10d10
Reviewed-by: Marcus Tillmanns <[email protected]>
Reviewed-by: Leena Miettinen <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8def6fe183c6d39d2b107cf188e2cd627bf481f5

Git commit 5d54f2c63d1ce64fa89f419208af94226efd7cb7 by hjk on 17/08/2026 at 11:22..
Utils: Make repeated removal in grouped settings lists work

Removing an item only marks it as removed, so the selection stayed on
the struck-out entry and the next removal restored it instead of
removing the next item. Move the selection to another item that is
still there - preferring the same group (the next kept item there, else
the previous one) before moving on to another group - and bind the
Delete key to the Remove button.

Assisted-by: Claude Code
Change-Id: I2803bdb0427c84e46119f16906b90e23f12fee6c
Reviewed-by: Christian Kandeler <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/5d54f2c63d1ce64fa89f419208af94226efd7cb7

Git commit f645e06ac1036305c28d8f9702c94823cf2e0183 by Alessandro Portale on 17/08/2026 at 11:26..
Profiler: Format memory amounts with units

Add Timeline::formatMemory next to Timeline::formatTime (source
renamed from timelineformattime to timelineformatdata) and use it
wherever byte counts were shown as plain numbers or via ad hoc
"%n byte(s)" strings: MemoryUsageModel, Quick3DModel,
PerfTimelineModel, and the flame graph details panel.

The flame graph's Memory/Total Time/Mean Time roles gained
separate display-only roles so formatting doesn't affect the
numeric roles used for box sizing.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Change-Id: Id05d95c017b4cf0aad3dc9aec79848d9bf230d04
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/f645e06ac1036305c28d8f9702c94823cf2e0183

Git commit 5d3f23d2cd1c91871e17e39ecb1edef8cc8b1ffe by Marcus Tillmanns on 17/08/2026 at 12:10..
Docker: Do not lose the container start event

The event listener is started at the same time as the container, but
waiting for its process to start only proves the binary was exec'd, not
that it subscribed to the event stream. When the container wins that
race the start event is never delivered, the wait times out, and the
CmdBridge container is killed, degrading the rest of the session to the
slow direct access path.

Backdate the event stream with --since, so a late subscriber still sees
the event. The container ID is fresh, so no earlier start event can
match the filter. An hour is used rather than "now" because a --since
in the daemon's future matches nothing, which would turn clock skew
into a permanent failure.

Event delivery can also be unavailable altogether - podman with
events_logger set to "none" exits with an error and writes nothing to
stdout - so query the container state directly before giving up.

Bound the wait by a single deadline instead of restarting a five second
timeout on every iteration, and report a timeout as such instead of
blaming the start process that was just killed.

Amends 5289b1665d2846d792f33a3b57b181db6b6911f1.

Fixes: QTCREATORBUG-34867
Assisted-by: Claude Code
Change-Id: I17dce5d3de121e2bcfb91f5b242408bb35266053
Reviewed-by: hjk <[email protected]>
Reviewed-by: Marcus Tillmanns <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/5d3f23d2cd1c91871e17e39ecb1edef8cc8b1ffe

Git commit 172916159aafd866ddadddce96ea41c33aa2e06f by Marcus Tillmanns on 17/08/2026 at 12:10..
Utils: Fix "file://" links in the application output

The target was parsed by cutting off the scheme and splitting the rest
on every colon. That kept the slash separating the empty authority from
a Windows path and tore the drive letter off, so a click on
"file:///C:/dir/main.cpp:40" ended up opening "/C". Parse the URL
instead, which also takes care of percent encoding.

A path need not be usable as printed: It can be relative to a directory
we do not know, or refer to a copy of the file. Such links used to be
mapped onto the project by the Qt output parser, which no longer sees
them. Look them up in the formatter's file finder, so that this works
for all kits.

Amends f2d7fa6d6f4942c4f3a9eca2345223a9bfcc370f.

Fixes: QTCREATORBUG-34870
Change-Id: I79ca3b64000b1201878e6661c95c983f196aabd6
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/172916159aafd866ddadddce96ea41c33aa2e06f
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.