[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 6dc04ef847f85923106f1981ecff270a6337fd90 to 1f82c5e1dd1b5596b4a02fb9135fa2378fd05857 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 a91c4991f2779bccbf668c315b29be51da6113a7 by Christian Stenger on 18/08/2026 at 07:07.. McpServer: Fix build for older Qt Amends 0c1b7dcca7ba04c1eae8a4ebcd95c8db7cc8d8f2. Change-Id: Idc0f9f50cf694790ce13c9b7c66cb1f8b5040948 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a91c4991f2779bccbf668c315b29be51da6113a7 Git commit 44a7b0c2d0e316b708ed06822ff24a6b6e2a26b1 by hjk on 18/08/2026 at 07:28.. Remote: Show GUI runs on the Windows device's interactive desktop An application launched over SSH runs in the non-interactive session 0, so its window lands on a desktop nobody sees. Launch runs on the logged-on user's interactive desktop instead, via an interactive scheduled task (schtasks /it): WindowsRunWorkerFactory flags run-mode processes, and WindowsProcessInterface stages a PowerShell orchestrator that creates the task, waits for it, and relays the exit code and output. Verified on a real Windows machine over RDP. Live output streaming and killing the remote process on Stop are follow-ups. Assisted-by: Claude Code Change-Id: I98a960f6a7d5fe1dd4c124904f83b18a48b21e33 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/44a7b0c2d0e316b708ed06822ff24a6b6e2a26b1 Git commit 387daa726c35d728962f1130e2a98cc9b19d7abc by Eike Ziller on 18/08/2026 at 07:32.. Merge remote-tracking branch 'origin/20.0' Conflicts: src/libs/utils/markdownbrowser.cpp Change-Id: Id285c4952c4056c2e20b1745d43be63e29bbdd8a https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/387daa726c35d728962f1130e2a98cc9b19d7abc Git commit 266254593f77ccb252fe145908d2d66bf14d52de by The Qt Project on 18/08/2026 at 07:43.. Merge "Merge remote-tracking branch 'origin/20.0'" https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/266254593f77ccb252fe145908d2d66bf14d52de Git commit 6712b2cf4c58972f4323b24a0e07b663f7e4dfd9 by hjk on 18/08/2026 at 08:58.. libptyqt: Do not write utmp records on HarmonyOS The utmpx.h of the musl in the OHOS sysroot declares struct utmpx but none of the functions operating on it, and no _PATH_UTMPX, so the whole block fails to compile. Android and FreeBSD are skipped here already. Assisted-by: Claude Code Change-Id: I95adf90f85a7502ccb778d5d09baa6f85afd42aa Reviewed-by: Joerg Bornemann <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6712b2cf4c58972f4323b24a0e07b663f7e4dfd9 Git commit f346b69227398774e4d3e0151df4b04d761aff16 by hjk on 18/08/2026 at 08:58.. Remote: Report failed Windows GUI runs faithfully The interactive launcher passed the application's Windows exit status straight out of the script, but that status reaches Creator as the exit code of the SSH connection, which carries only its low 8 bits. A status that is a multiple of 256 - as many crash and loader failures are, for example 0xC0000100 - arrived as 0, so a run that died before main() was reported as "finished successfully". Other statuses arrived as meaningless small numbers, 0xC000012F as 47. Pass exit codes that fit through unchanged, and turn anything else into a failure that names the real status. A missing or unparseable exit value now fails too instead of silently becoming 0. Assisted-by: Claude Code Change-Id: I9bdeac87b42e56a0bc68dad114e227e4c6262a08 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/f346b69227398774e4d3e0151df4b04d761aff16 Git commit e1002c989a58c7b0bb502ff0c741a43cce25aae5 by hjk on 18/08/2026 at 08:58.. Remote: Provide a real run environment for remote Windows runs Launching an application on a native Windows device gave it an almost empty environment, so a Qt application could not find its Qt DLLs on PATH and exited before main(). RemoteLinuxEnvironmentAspect left the "System Environment" base empty until the user pressed "Fetch Device Environment"; fetch it from the device on first use instead, so a remote run starts with the device's actual environment. The CMake run-environment modifier only adds the target's library directories, which on Windows are the import-lib (lib) directories, not the DLL (bin) directory. Add the kit's Qt bin to PATH for a Windows run device so the application finds Qt6*.dll at runtime. Assisted-by: Claude Code Change-Id: I4726968dcf73c7472fb1377a97bf127a36b70143 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e1002c989a58c7b0bb502ff0c741a43cce25aae5 Git commit 51743338dd0957b3c71f89d2fbc998bcaf1f997c by hjk on 18/08/2026 at 08:59.. Remote: Describe the interactive run launcher as it works The comment still described the first implementation, an interactive scheduled task (schtasks /it). What the script does is elevate to SYSTEM through a scheduled task, because only SYSTEM may call WTSQueryUserToken, and start the application in the active session from there. Amends 44a7b0c2d0e316b708ed06822ff24a6b6e2a26b1. Change-Id: Ic5144c4aa44058dcc92201cd313bd2960dd6b991 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/51743338dd0957b3c71f89d2fbc998bcaf1f997c Git commit e623400ccf9d83e408906d400a2295f31eb2ffc6 by hjk on 18/08/2026 at 08:59.. libarchive: Do not claim glibc-only functions on HarmonyOS config_unix.h is generated on a glibc Linux, so it claims closefrom(), close_range() and lchmod(). The musl of the OHOS sysroot has none of the three, and linking libUtils failed on the first and the last. Dropping closefrom() alone would not do, as close_range() is what libarchive falls back to; without either it uses _SC_OPEN_MAX. Assisted-by: Claude Code Change-Id: Ib5561e33bf12deed09645ca4f68d595d4cbde884 Reviewed-by: Joerg Bornemann <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e623400ccf9d83e408906d400a2295f31eb2ffc6 Git commit d49cd06ffb0269900cb110a6563be55ccf7d0721 by hjk on 18/08/2026 at 09:05.. Debugger: Show CDB inferior output in the Application Output pane When debugging with CDB without a terminal, the debuggee's stdout and stderr (for example std::cout) did not appear in the Application Output pane, unlike in a plain run. CDB relays the inferior's output interleaved with its own stream; parseOutputLine() routed every unrecognized line to the Debugger Log, so the program output was hidden there instead of shown as application output. While the inferior is running, such lines are the debuggee's own output, so route them to the Application Output pane like the other engines do. Verified on Windows/MSVC with CDB: std::cout/std::cerr now appear in Application Output. Fixes: QTCREATORBUG-10626 Assisted-by: Claude Code Change-Id: I6026546eb71cac8a469a12b8a5de4e3292675162 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d49cd06ffb0269900cb110a6563be55ccf7d0721 Git commit 6f061043f849afa7fc9dd9049851d9c5b6510e19 by Alessandro Portale on 18/08/2026 at 09:43.. Tracing: Use QLocale::formattedDataSize Replaces the selfmade Timeline::formatMemory with QLocale::formattedDataSize. Timeline::formatMemory is renamed to ::formatDataSize. Change-Id: I7848ca921f4a6d063d5324350642b6479e3f1e0e Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6f061043f849afa7fc9dd9049851d9c5b6510e19 Git commit a4bcc8672828bc2dfcdd2bdb35b4b32d2b9aae34 by Marcus Tillmanns on 18/08/2026 at 09:50.. Profiler: Show and control debuginfod downloads Post-processing a perf recording resolves symbols through perfparser, which fetches debug information it does not find locally from the debuginfod servers in DEBUGINFOD_URLS. That fetch blocks, once per build id, so a slow or unreachable server left the Qt Profiler sitting in "Processing captured samples" with no progress and nothing to cancel. Make the downloads a setting, off by default, enforced by handing perfparser an empty DEBUGINFOD_URLS, which is how elfutils is told not to ask anyone. Cap what an unresponsive server may cost through DEBUGINFOD_TIMEOUT and DEBUGINFOD_RETRY_LIMIT, whose defaults come to 4.5 minutes per build id. And while a download is in flight, name the server on the recording page, with the request URL in the tool tip. DebugInfoDownloadProgress was missing from PerfEventType::Feature, which mirrors perfparser's wire tags, so the message never decoded. Change-Id: I8c1a2f65d9c71359b9e738343ac55b1fbc273ad8 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a4bcc8672828bc2dfcdd2bdb35b4b32d2b9aae34 Git commit 4b52e8b4157acb750d67776b6ee668f0833689da by Marcus Tillmanns on 18/08/2026 at 09:50.. Utils: Fix crash when a file watcher outlives the shutdown guard The GlobalWatcher is owned by the shutdown guard, which is destroyed at the start of PluginManagerPrivate::deleteAll(), that is, before the plugins are deleted. A plugin holding a FilePathWatcher member thus called removeWatch() on a null GlobalWatcher while being deleted, as happened with the Lua plugin's user scripts watcher. There is nothing left to unregister once the global watcher is gone, so skip it. Amends d4412e0e2e5b364a49c845b2d003458123dfa118. Assisted-by: Claude Code Change-Id: I31d24b88a0f0ac48abe6136b05580b7673f853ad Reviewed-by: Eike Ziller <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4b52e8b4157acb750d67776b6ee668f0833689da Git commit ef4a9c27ec9cedb39b634fc6419b0f523bafe8c1 by Alessandro Portale on 18/08/2026 at 10:17.. Tracing: Remove one more selfmade data size formatter Use Timeline::formatDataSize instead. Change-Id: I9c0c619caea418ac86e17ba7d6b9f108751413cc Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ef4a9c27ec9cedb39b634fc6419b0f523bafe8c1 Git commit f86c16374b12e758506c3510fe3a2d346c0f147d by Alessandro Portale on 18/08/2026 at 10:23.. Tracing: Draw note markers as icons Replace the exclamation-mark path (stick + dot) with an icon, in both backends. Change-Id: I41c80e5c52bd3ba9adf73926f44e2c2211dc3600 Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/f86c16374b12e758506c3510fe3a2d346c0f147d Git commit 6ab0fe7775b3a5e6a431559e0843d6be7844c2c0 by hjk on 18/08/2026 at 10:40.. CMake: Do not stage an install for HarmonyOS kits A Qt for HarmonyOS project has no install target: its package is built by the generated "<target>_make_hap" target instead. Staging made the build step ask for "--target all install", which ninja refused outright. Assisted-by: Claude Code Change-Id: I2a1b3869c7f2432a034ecf9ab17db9be4ed710b3 Reviewed-by: Joerg Bornemann <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6ab0fe7775b3a5e6a431559e0843d6be7844c2c0 Git commit 976a05d32fb7e80cdc58d2ec54a1194a2c7e6e5e by hjk on 18/08/2026 at 10:45.. McpServer: Add an apply_patch tool Applies a unified diff to files on disk via the configured patch command, capturing the tool's output through the new runPatch callback so the result reports which files changed and any rejected hunks. Supports revert and a configurable strip level; paths default to the startup project's directory. Assisted-by: Claude Code Change-Id: I041895c0574111eb3193c18ecc9499b131693d99 Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/976a05d32fb7e80cdc58d2ec54a1194a2c7e6e5e Git commit b315691d5f6ee24037c7cfed8fe7f8fd85952648 by hjk on 18/08/2026 at 10:45.. CppEditor: Report a 1-based column from get_file_symbols IndexItem::column() is 0-based, so the tool contradicted its own description and the 1-based columns the other code-model tools take as input. find_symbols already converted; get_file_symbols did not, which is what its new test caught on the CI machines. Amends 69aff8f4d8ca2ab1e38ae09494d0e257b8f12558. Assisted-by: Claude Code Change-Id: I2dfd617d21088cc5dddbff9e46f99ba320179ae6 Reviewed-by: Christian Kandeler <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b315691d5f6ee24037c7cfed8fe7f8fd85952648 Git commit 6cd4ec96f567c768de1321fd6debb61eac18e5be by hjk on 18/08/2026 at 10:45.. Profiler: Let the perf MCP tool start the way its action does start_perf_profiler called runStartupProject() directly, so unlike the Performance Analyzer menu entry and unlike start_profiler it left the Profile mode unselected. Give the tool a profileStartupProject() used by both. The QML side keeps its extra step, discarding a previous trace after asking about unsaved notes, which perf does not need: it clears its trace when the next one starts. Both tools' instance() is reachable from MCP requests while the perf tool is already deleted by aboutToShutdown(), so clear the instance pointer in the destructor, as the QML tool does, and report the missing tool instead of dereferencing it. Also state why start_profiler and start_perf_profiler exist next to run_project, which reaches the same run modes by id: they return immediately, so status and stop tools can drive the session. Amends 4e8501847b7b74cde1ce4edd3f6db4b03a2d1223. Assisted-by: Claude Code Change-Id: Ica6c1c39a7683c36cbffbcac9f5f2716b89b6309 Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6cd4ec96f567c768de1321fd6debb61eac18e5be Git commit 66c20f2a40dfecc3c3d27049895f45588fe11396 by Marcus Tillmanns on 18/08/2026 at 10:56.. DiffEditor: Collapse unchanged lines in the inline diff Add a toolbar toggle to the inline diff editor that hides runs of unchanged lines, keeping a few context lines around each change and replacing each hidden run with a clickable "Show N hidden lines" placeholder that reveals it again. The toggle is on by default and its state is persisted. It works in both the inline and the side by side view, where both sides are collapsed at their corresponding lines so the aligner keeps the two views lined up row by row. The inline diff editor shares its document with the regular editors, so real folding via QTextBlock::setVisible() cannot be used: it would collapse the same lines everywhere. Instead TextEditorLayout gains a per-widget "editor-hidden block" concept - hidden blocks report zero height and line count and are skipped in this widget's paint, scroll, gutter and navigation only. It stays inert for every editor that does not opt in, behind a hasEditorHiddenBlocks() guard. The CollapseController computes the collapsible runs on the editor side and maps each to the matching baseline lines through the diff offset, so a pure insertion or deletion collapses consistently on both sides. It hides the runs in each view's own layout and floats the placeholder rows; naturalBlockHeight() treats hidden blocks as zero so the side by side aligner stays consistent. Add testInlineDiffCollapse and testInlineDiffCollapseAddedLines, covering both views, the toggle, the gutter line numbers, the row alignment and the pure-insertion case. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Change-Id: I80cff6bd415f31eadfa40075c553049903db31f3 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/66c20f2a40dfecc3c3d27049895f45588fe11396 Git commit e6dbb94dea23cece555401c505315ebaeb119b5c by Alessandro Portale on 18/08/2026 at 10:58.. Tracing: Use theme colors for selection overlay, improve overlay width Use theme colors for the selection/hover overlay instead of hard-coded ones, and grow the border outward instead of inward so narrow items keep a clearly visible outline. Change-Id: I955dae1105caa136d7c9b56b78745854aba13233 Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e6dbb94dea23cece555401c505315ebaeb119b5c Git commit a6fa1df5f2a42609e6cb647f8f4c2c33d188a819 by hjk on 18/08/2026 at 11:34.. Debugger: Use native incremental breakpoints in BridgeEngine Replace the copied DAP declarative setBreakpoints model (whole-source replace with fragile file:line correlation) with incremental qtc/insertBreakpoint / updateBreakpoint / removeBreakpoint requests. Parameters are serialized with the shared addToCommand(); responses are correlated by the stable modelid, never by file:line. The bridge returns the breakpoint in the MI 'bkpt' shape (with a sub-location list), which the C++ side feeds to the shared updateFromGdbOutput()/handleBkpt() - the same path GdbEngine uses - so sub-breakpoints are populated as first-class children. Verified end-to-end against real gdb: insert returns a resolved bkpt and the inferior stops at the breakpoint. Still to do: qtc/enableSubBreakpoint, the async qtc/breakpointChanged event, and demangling the location function name. Assisted-by: Claude Code Change-Id: Ie736e343a5d79c9aac490e659de3e279a3ac9803 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a6fa1df5f2a42609e6cb647f8f4c2c33d188a819 Git commit af64ee48cdfd22e594cbc9c8cee1c28145b6b149 by Marcus Tillmanns on 18/08/2026 at 11:45.. Docker: Do not hardcode the X11 display X11 forwarding always passed DISPLAY=:0 into the container on Linux hosts. That fails on any session that is not :0, which is common on Wayland setups where XWayland runs as :1. Derive the display from the host's DISPLAY instead. A local display name applies verbatim, since the host's X11 socket is mounted into the container. Anything else has to reach the X server over TCP, so only the display number is taken over from the host. Add an "X11 display" device setting to override the derived value. Leaving it empty keeps the derived value, so it follows the current session instead of freezing a stale display into the device configuration. Fixes: QTCREATORBUG-34872 Assisted-by: Claude Code Change-Id: I73524dc8f31e36a9100e4056ce3480e3a77e107f Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/af64ee48cdfd22e594cbc9c8cee1c28145b6b149 Git commit b46c49c96b58f0aaf18f1652aa012507910b4f78 by hjk on 18/08/2026 at 12:19.. Debugger: Add a run_to_line MCP tool Resumes the paused inferior until it reaches a given file and line, like the "Run to Line" action but for an explicit location. Adds a public DebuggerEngine::runToLine that wraps the protected executeRunToLine, mirroring handleExecRunToLine which only knows the current editor position. Assisted-by: Claude Code Change-Id: Iaa11f1dd38b47f0ec5c8d0d62aef6f2e78330900 Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b46c49c96b58f0aaf18f1652aa012507910b4f78 Git commit 415367948970edfe32497047e726bc6e7affdf96 by David Schulz on 18/08/2026 at 12:24.. Remote: fix ssh key deployment to admin accounts Change-Id: I41aa2637634867de3cbefcbb4a0e4da92ff84224 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/415367948970edfe32497047e726bc6e7affdf96 Git commit 37c344247e9eeef02f6a9d150c18aa3508a26119 by Marcus Tillmanns on 18/08/2026 at 12:24.. Profiler: Say why a perf recording captured no samples "No samples were captured" named two possible causes and left the user to guess between them, while the processes that knew the answer had already given it and been ignored: "perf record" writes the reason it could not open events to stderr, and perfparser rejecting an argument or giving up mid-stream was reported as an empty recording rather than as its own failure. Keep both streams and report what they say. Read perf_event_paranoid when it is the restriction in force, so the message can name the level and what it has to be. Count the samples perfparser delivered, which separates "nothing was sampled" from "nothing resolved to a call stack" -- two problems with nothing in common but an empty trace. Change-Id: I5f23327b2ae9abe5310ffda1eb7de78b3a293dd2 Reviewed-by: Alessandro Portale <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/37c344247e9eeef02f6a9d150c18aa3508a26119 Git commit 1f82c5e1dd1b5596b4a02fb9135fa2378fd05857 by Marcus Tillmanns on 18/08/2026 at 12:24.. Profiler: Offer to lower perf_event_paranoid from the error Recording under a perf_event_paranoid of 3 or more cannot produce a sample, and the only way out was a command the user had to find, read and run for themselves. Let a backend describe a system setting that stands in its way, as a button label, an explanation and the command behind it. PerfSampler offers one by re-reading perf_event_paranoid after a failed recording, so the button appears only while the change is still needed, and the Qt Profiler runs it through pkexec, which asks for the password in its own dialog -- sudo would read from a tty a GUI does not have. Applying it starts the recording again; that is the whole confirmation, so there is no second dialog to dismiss. Dismissing the password prompt is a deliberate no and passes silently. Change-Id: Ie60df00c4b07f593fd520cac497fde913a28ed1d Reviewed-by: Alessandro Portale <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/1f82c5e1dd1b5596b4a02fb9135fa2378fd05857