[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 73feddf3ef97dc039f08972fd1c1d7031dcd347a to 7ce0c905c4af8c76d1a781e67fd6bec19c1033cf
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 ad48c8c48fe8683f5fa3bdc71fe5219cef5b9e29 by Eike Ziller on 27/07/2026 at 06:15..
Core: Guard JSExpander against infinite loops

Putting something like

    %{JS:for(i=0;i<1;);}

into any place where macros are supported lead to a complete freeze of
Qt Creator when that is evaluated.

The QJSEngine has a `setInterrupted` method since Qt 5.14 that can be
called from a thread different from the thread where `evaluate` is
running to interrupt the evaluation. For the JavaScript evalutation
Locator filter we already used that by running the evaluation in a
different thread and triggering setInterrupted via a timer from the main
thread.

For the JSExpander we need to invert that behavior, since the callers
expect a synchronous response from the evaluation. So create a watchdog
thread instead that interrupts any `evaluate` that takes "too long".

Fixes: QTCREATORBUG-19691
Change-Id: I76816caa5cf91582b2eea8e231e897a2e7285b84
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ad48c8c48fe8683f5fa3bdc71fe5219cef5b9e29

Git commit cdf10acfb37187119bf4e3aff479fb8a1a7d1b52 by hjk on 27/07/2026 at 06:37..
TextEditor: Indent wrapped lines (vim's breakindent)

Long lines shown wrapped started every continuation display line at
the left margin, which makes wrapped code hard to read. Optionally
indent the continuation lines to the leading whitespace of their
block, like vim's 'breakindent'.

Utils::PlainTextDocumentLayout shifts every wrapped line after the
first by the block indent; the cursor, hit-testing and selection
follow because they use the QTextLine geometry. A Display settings
toggle drives it, with a minimum kept text width and an extra indent,
matching vim's 'breakindentopt' min: and shift:.

A wrapped-line marker ('showbreak') can be drawn at the start of each
continuation line, either in front of the text or ahead of the indent
(vim's 'breakindentopt=sbr').

FakeVim maps :set breakindent / nobreakindent to the new toggle.

Verified in the GUI; the layout rendering is not unit-tested.

Assisted-by: Claude Code
Fixes: QTCREATORBUG-20974
Change-Id: Icd38a67929f1d09e4754ac115f13f33cba754331
Reviewed-by: David Schulz <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/cdf10acfb37187119bf4e3aff479fb8a1a7d1b52

Git commit 279cf5c9ab4f68677d3ae60c2ed71e5e227568b7 by André Hartmann (on behalf of Andre Hartmann) on 27/07/2026 at 06:54..
DiffEditor: Remove unused variable assignment

Change-Id: I95ec932b7952646b762972938bd3bce6af8b9365
Reviewed-by: Jarek Kobus <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/279cf5c9ab4f68677d3ae60c2ed71e5e227568b7

Git commit c6b50845959f58990804e4917a9deeb91ea9091d by Jarek Kobus on 27/07/2026 at 06:57..
LldbEngine: Track two more internal breakpoints

Follow-up to 754817: our own executeRunToFunction() (not upstream,
added for LldbImpl) creates a one-shot breakpoint the same way the
four sites 754817 already covers do, without registering it.
executeRunToLocation()'s file/line fallback (when StepOverUntil()
fails) does the same. Both leak a spurious "breakpointmodified" for
a breakpoint the engine never asked for.

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

Git commit bd721fe8827ad4d4730d348e5d2299a7d09d2b6a by Orgad Shaneh on 27/07/2026 at 07:09..
VcsBase: Find project encoding when the repo hosts the project

The project encoding lookup matched a project only when the given
directory was the project directory or below it. "git show" runs at
the repository top level, so when the project lives in a
subdirectory of the repository the directory is above the project
and no project matched, falling back to the system encoding.

Also accept a project located below the given directory, and among
containing projects prefer the most specific one.

Change-Id: I56d8c82e2e3a3314bc2ca82985e5c66625770db2
Reviewed-by: André Hartmann <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/bd721fe8827ad4d4730d348e5d2299a7d09d2b6a

Git commit b43c9ade0acd307313946c29cb3510aa72e47192 by David Schulz on 27/07/2026 at 07:45..
Editor: simplify BaseTextEditor::currentColumn

Change-Id: I76ac4da4a2402dee178dd65a0c85388e660e233a
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b43c9ade0acd307313946c29cb3510aa72e47192

Git commit a34453348947b2cc17497374a350a89016d106f1 by Eike Ziller on 27/07/2026 at 07:46..
ACP: Rename Close Session -> Switch Session and move to toolbar

The "Close Session" action does close the session, but brings back the
panel where the user can choose a session (if supported by client) or
start a new session, so "Switch Session" is more helpful for users.

Also move the functionality to the toolbar at the top, since it is often
what a user wants to do if they do not want to have two chats
simultaneously, since it reuses the agent/client.

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

Git commit a35a232343500ac5975f69abcfcbcd03353d3f13 by Jarek Kobus on 27/07/2026 at 09:08..
Pdb: Fix three bugs in pdbbridge.py

Found while getting PdbImpl (a parallel experimental backend, not
yet committed here) to pass its tests honestly, but all three affect
real PdbEngine equally:

- stackListFrames() never included a function name in its frame
  tuples.
- updateData() read frame.f_locals fresh every call, discarding
  whatever assignValueInDebugger() had just written into the cached
  self.curframe_locals - a real local-variable editing bug.
- listSymbols() emitted single-quoted values, unlike every other
  report() payload; GdbMi::parseValue() only recognizes '{'/'['/'"'
  as a value start, so the whole payload silently parsed as empty.
  Now also matches the {name="..."} shape PdbEngine::refreshSymbols()
  expects.

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

Git commit 1794e88dbac8b7285e3793ca0701f41a1248d21e by Jarek Kobus on 27/07/2026 at 09:08..
PdbEngine: Fix wrong-frame local variable assignment

assignValueInDebugger() always prefixed the assignment with
"global", even for a real local. That declares an unrelated
module-level variable of the same name instead - the actual local
is left untouched, and the bogus global then leaks into every
other frame's own reported locals (a module-level frame's
f_locals is its f_globals).

Confirmed live: editing a local parameter showed the old value
immediately after the edit, then reappeared as a spurious extra
"local" at the next, unrelated breakpoint.

Only use "global" for an actual module-level watch item now.

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

Git commit 211225f0b13e85b8290a3dcb401d5481a25cfaae by Cristian Adam on 27/07/2026 at 11:30..
ProjectExplorer: Mention missing wizard features

When a Kit is not suitable for configuring a project, the missing
features should be displayed.

Change-Id: Ide0c76683e8ade939727e420928778cf518effa0
Reviewed-by: Eike Ziller <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/211225f0b13e85b8290a3dcb401d5481a25cfaae

Git commit 5f740a1f3af908fd8b7aed38b63f92496d5de0e0 by Christian Kandeler on 27/07/2026 at 11:59..
CppEditor: Include header files in the compilation database

... if the associated build system unit does not have any source files.
Amends 37ccba0ad35c21632228251720b59d71ddb33b5a.

Change-Id: I2cb75a977df864eb8912f0303cdf2fdb0b08b8c8
Reviewed-by: Cristian Adam <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/5f740a1f3af908fd8b7aed38b63f92496d5de0e0

Git commit 7ce0c905c4af8c76d1a781e67fd6bec19c1033cf by Cristian Adam on 27/07/2026 at 12:02..
CMakePM: Fix clangd diagnostics for INTERFACE library FILE_SETs

When a CMake project uses INTERFACE libraries with FILE_SETs, headers
from those libraries had no dedicated project part, and clangd did not
receive compilation configuration for them.

INTERFACE libraries without compile groups now get their own project
part containing their header files. Include paths are derived from
FILE_SET base directories and collected recursively from transitive
dependencies, so clangd can resolve cross-library includes. The
clangd early-return guard also checks for headerPaths so these
header-only project parts trigger DidChangeConfiguration updates.

Assisted-by: Opencode (Qwen 3.6 35b)
Fixes: QTCREATORBUG-34298
Change-Id: I9faef157ee9c9e32578f467528856109941e8541
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/7ce0c905c4af8c76d1a781e67fd6bec19c1033cf
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.