[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 4b8141d1ed9398c249590d6dad71dd1a44e3a25b to cdbce703ed6ce0714afad68b65ff07debed7d0d9 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 37836334a57a2454d84de9a94eadef889385360f by hjk on 30/07/2026 at 06:37.. QtSupport: Fix device Qt mkspec evaluation for Windows devices createQtVersionFromQMakePath evaluated the mkspec without setting the proparser device root, so a remote Windows device's absolute paths (C:\...) were resolved with host semantics and doubled up onto the feature dir. Set device_root as updateMkspec() does, and teach the proparser's isRelativePath() to recognize drive-letter/UNC paths as absolute for non-local devices. Assisted-by: Claude Code Change-Id: I22b99e2fbfe5463d0ba7a62b52788dd18f999eb6 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/37836334a57a2454d84de9a94eadef889385360f Git commit 4025fcb497ac50bf3bab2ff62f1f230bfa7885a3 by David Schulz on 30/07/2026 at 06:40.. Remote: improve WindowsDevice::rootPath Ensure a final / and cache the rootPath to reduce getting the remote environment. Change-Id: Icb48af2e084abfe1bb99e9c2bc667bab86480a79 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4025fcb497ac50bf3bab2ff62f1f230bfa7885a3 Git commit 0ee6d4b95fecdbe91692f62c3762c837d5eb558e by hjk on 30/07/2026 at 07:16.. QtSupport: Don't query qmake on a disconnected device QtVersionPrivate::data() launches the qmake query and then immediately waits for it, so it is effectively synchronous. As it is called from many property getters on the GUI thread (isValid(), qtAbis(), mkspec, ...), a remote qmake on an unreachable device froze the UI for the full process timeout - repeatedly, since failures are intentionally not cached. Skip the query while the qmake's device is known to be disconnected, mirroring the guard in IDevice::getUnixEnvironment(), and return the read-only placeholder instead of blocking. m_data is left unset, so the query is retried once the device is reachable again. Assisted-by: Claude Code Change-Id: Ibca4b0c34e6d64f3a7e48819fbff3ccb54f6b228 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0ee6d4b95fecdbe91692f62c3762c837d5eb558e Git commit a08d572511f483caf0dd7c65e71c7e22f3585ad6 by Eike Ziller on 30/07/2026 at 07:43.. Editors: Guard SaveItemsDialog against externally closed documents The SaveItemsDialog runs an event loop but caches the IDocuments that were requested to save. It could happen that some of these are closed & deleted during the event loop running, so keep a list of QPointers of the documents, and check if they still exist before attempting to close them. Noticed via Sentry report. Change-Id: I9735b98f5d37b43cf5541b858ddd22ad0e264ba4 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a08d572511f483caf0dd7c65e71c7e22f3585ad6 Git commit 8bd5eefd8d942cde65e6806eb51715bc395707c8 by Jarek Kobus on 30/07/2026 at 07:58.. Cdb/UvscEngine: Prune unfinished support for watchPoint() Change-Id: I8df9742cfeff27605d5d3f2b4b88054b79740e0d Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8bd5eefd8d942cde65e6806eb51715bc395707c8 Git commit 06a2c8d98fc5de07b0d05a62330c0fbc98dcb60b by Jarek Kobus on 30/07/2026 at 07:59.. Pdb: Report breakpoint hit counts pdb's own Breakpoint.hits already tracks this internally (self.currentbp, set in break_here()) - report it once per real stop. Reset right after use so a later, unrelated stop (e.g. a step) doesn't re-report a stale count, and skip when the breakpoint object is already gone (a one-shot tbreak deletes itself the instant it fires). Safe for real PdbEngine too: its own line dispatch has no final else, so the new, currently-unhandled "breakpointmodified=" line is just ignored there. Change-Id: I69298132bcdcc8245d4945166fa9cc8ff8040071 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/06a2c8d98fc5de07b0d05a62330c0fbc98dcb60b Git commit d7bd8dcd16699c41a468380169e658233c580a37 by Jarek Kobus on 30/07/2026 at 07:59.. Debugger: Read a "module" field in updateFromGdbOutput() Prep for a future CdbImpl, in conjunction with BreakModuleCapability; no-op for every real engine today. Change-Id: I066257d2efd2774c0608d61a10054e27d01b8f0b Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d7bd8dcd16699c41a468380169e658233c580a37 Git commit 6199e71d2365c6660418e6c47db342e5e63f6108 by Jarek Kobus on 30/07/2026 at 08:14.. PdbEngine: Wire up breakpointmodified hit-count reports handleOutput2() had no branch for it, so the line was just logged and dropped. Uses setHitCount() rather than updateFromGdbOutput(), which would clobber condition/enabled given pdb's minimal number+times report. Change-Id: Ib216ecb1f413fe8b738de2c9d0d7cf9eee128c07 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6199e71d2365c6660418e6c47db342e5e63f6108 Git commit f333b893c375a244d7822739b549cee8b784cfaa by Jarek Kobus on 30/07/2026 at 08:14.. LldbEngine: Fix watch expression on a global variable WatchpointAtExpression used frame.FindVariable(), which only searches the current frame's own locals/args, never globals or statics - its own comment already said "Top level-only for now". Confirmed live: for a module-level global, this silently resolves to an invalid value, so the resulting watch address is garbage and the watchpoint never actually triggers. frame.EvaluateExpression() resolves both, matching GdbEngine's own "watch <expr>" scope. Same bug, same fix needed, for LldbImpl - it calls this exact same insertBreakpoint() path. Change-Id: If43d3fc5a800fef7cad7a49354ad473f66d8d9b7 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/f333b893c375a244d7822739b549cee8b784cfaa Git commit b1f530847cd19194c091313ce30191419eec1f40 by hjk on 30/07/2026 at 08:19.. Remote: Run an executable on the Windows device Enable the run worker and run configuration for the native Windows device: register GenericWindowsOsType on RemoteLinuxRunWorkerFactory and the run-config factory. Reuse RemoteLinuxRunConfiguration but hide the Unix-only options (X11, VNC, run-as, remote terminal) for a Windows run device; the runtime library search path stays handled OS-aware via useLibraryPath (PATH on Windows). The integration test now also runs the freshly built executable on the device and checks its exit code and captured stdout. RemoteLinuxRunWorkerFactory is a misnomer now, I will drop the 'Linux' in a follow-up change. Assisted-by: Claude Code Change-Id: I107b9669475a18a82acfec03e70fe6fe426fb4d4 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b1f530847cd19194c091313ce30191419eec1f40 Git commit 10f22764659a82fa969a04281d2f937d5fb693f4 by Jarek Kobus on 30/07/2026 at 08:22.. LldbEngine: Report output for Execute Debugger Command executeDebuggerCommand() sent the command to lldbbridge.py's runDebuggerCommand(), whose own report() carries no token - so its success/output/error reply could never be correlated back to the command that triggered it, and was silently dropped. The command ran correctly, but its result never reached the user. Now runs the command directly via HandleCommand() and reports via reportResult(), the same token-carrying reply setRegister() already uses - and reads it back via a real callback. Change-Id: Ifa03b5328162999f620e68239839bad60179f70a Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/10f22764659a82fa969a04281d2f937d5fb693f4 Git commit 017c68e6c4e2b9dccf82b79f16ef830f6e30ff82 by Eike Ziller on 30/07/2026 at 08:29.. Merge remote-tracking branch 'origin/20.0' Change-Id: I682c35060693eca14035743738a77cb3cfbd0926 https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/017c68e6c4e2b9dccf82b79f16ef830f6e30ff82 Git commit 13773e06d393fa6e16dd5ec0106bf1bfbdbdbd3c by hjk on 30/07/2026 at 08:49.. Remote: Don't expose file access for an unreachable Windows device setupFileAccess() set the per-command (slow, one-SSH-per-op) WindowsDeviceAccess as the device's file access synchronously, before probing. An unreachable device then looked connected, so startup validation (toolchains, Qt, kits) ran file operations against it and hung on repeated 10s SSH timeouts - making startup very slow whenever a configured device was down (e.g. after auto-connect on startup). Set the public file access only after the async probe/deploy has finished (in the continuation); a down device now stays without access and is skipped quickly. deployCmdBridge() queries the device environment through a throwaway local WindowsDeviceAccess instead of the device's own. Assisted-by: Claude Code Change-Id: Ia29f15f785b0ea5f830cd35291e1d6eba78b7c4a Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/13773e06d393fa6e16dd5ec0106bf1bfbdbdbd3c Git commit 5d93c46df0c988906cd449b3ecd4865b7d401d5b by hjk on 30/07/2026 at 09:06.. Remote: Auto-connect the Windows device on startup Like LinuxDevice, connect the device in postLoad() so it has file access from the start. Without this the device has no file access until its settings page is opened, so hasFileAccess() is false and the device is filtered out of the device-aware file dialog (Open File or Project) and anywhere else that lists browsable devices. Controlled by an "Auto-connect on startup" option (on by default), also in the device settings, that switches itself off after a failed connection - mirroring LinuxDevice. Assisted-by: Claude Code Change-Id: I5e16e567bf2fd6b9c4396667cd99106105057a0d Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/5d93c46df0c988906cd449b3ecd4865b7d401d5b Git commit 2d2bb6b752b417c4a44d2ae60d4b0f9a330853d9 by hjk on 30/07/2026 at 09:06.. ProjectExplorer: Don't mix host and device paths in the MSVC env prependPathEnvironmentVariable() carried PATH entries from the previous environment into the result. For a remote (device) MSVC toolchain the result is the device's Windows environment while the previous one may be the local host environment, so host paths were prepended there - both tripping the Environment osType check and corrupting PATH. Only carry over paths whose osType matches the result environment. Assisted-by: Claude Code Change-Id: I4784228b061157a6a9adae3d1bb1fb721de45789 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2d2bb6b752b417c4a44d2ae60d4b0f9a330853d9 Git commit 28ad11606c2b19f9c7a3a155c5fb8e9d6b02cd2d by hjk on 30/07/2026 at 09:21.. Debugger: Make the abort-debugging force-kill discoverable Activating "Abort Debugging" once shuts the debugger down gracefully; activating it again kills harder. That escalation was only visible in the debugger log, so there was no hint that a second activation would forcefully terminate a debugger that is slow or stuck shutting down. On the first, friendly abort, show a status-bar message and rename the action to "Abort Debugging (Force Kill)" with a matching tooltip, so the stronger second step is discoverable. Assisted-by: Claude Code Task-number: QTCREATORBUG-11954 Change-Id: I79978ce6d2fd1ad6937c5d8be4742b080935dd45 Reviewed-by: Eike Ziller <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/28ad11606c2b19f9c7a3a155c5fb8e9d6b02cd2d Git commit 3842e27cc68d53705a2c1e5f55139fe06236a5af by David Schulz on 30/07/2026 at 09:38.. Editor: simplify TextEditorPlugin::updateCurrentSelection Change-Id: I44377ae9ea0c46cefa09f6b4806b7286154a1938 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/3842e27cc68d53705a2c1e5f55139fe06236a5af Git commit 36269743d53b31a63c1fcdd1ccc8e8899ed1d215 by David Schulz on 30/07/2026 at 09:39.. QMakeSupport: simplify QmakeProjectManagerPluginPrivate::addLibraryImpl Change-Id: I0b928168dd5e4a646b50ca8732e5605f73e5740c Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/36269743d53b31a63c1fcdd1ccc8e8899ed1d215 Git commit 8946f6cb84007f96637df1af515bfd15694b91a8 by David Schulz on 30/07/2026 at 09:39.. Editor: remove unused TextEditor::TextPositionOperation The naming was unintuitive and replaced by normal TextCursor functionality. Change-Id: I61b42026a0a083da9483d40af01ca420dedfaab4 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8946f6cb84007f96637df1af515bfd15694b91a8 Git commit aa69aedb96a76060c5ac95f21d0f41ffb0c9ae1d by David Schulz on 30/07/2026 at 09:39.. Editor: simplify BaseTextEditor::insert Change-Id: Idaecfcfbd484c8edab0a56c70c414ff62713b7e3 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/aa69aedb96a76060c5ac95f21d0f41ffb0c9ae1d Git commit 413cbb13762a30b232ab53aa354ce72aef962b0e by hjk on 30/07/2026 at 09:42.. RemoteLinux: Don't soft-assert when signaling a pid-less process SshProcessInterface::handleSendControlSignal() soft-asserted on a zero pid. But a device process that is canceled while its ssh connection is still being established never obtains a remote pid, and the cancel path sends it a control signal - so a canceled/unreachable-host probe spewed repeated soft-asserts. There is nothing to signal in that case; return quietly instead. Behavior is otherwise unchanged (it already returned). Assisted-by: Claude Code Change-Id: I2c1708471ad93b1746fc3234dd78a13f8c669555 Reviewed-by: Christian Kandeler <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/413cbb13762a30b232ab53aa354ce72aef962b0e Git commit 554b9da7583a20c472701a01e7ef306c3834f69e by hjk on 30/07/2026 at 10:42.. Devices: Add a common IDevice::isUp() Several call sites decide whether a device is usable by comparing deviceState() directly, and they disagreed: LinuxDevice::isDisconnected() treated both DeviceDisconnected and DeviceStateUnknown as not-usable, while the qmake query guard and IDevice::getUnixEnvironment() only checked DeviceDisconnected -- so a device in the unknown state could still trigger a blocking, doomed query. Add IDevice::isUp() (true only for DeviceReadyToUse or DeviceConnected) as the single source of truth, route qmakeQueryable() and getUnixEnvironment() through it, and drop the now-redundant LinuxDevice override. getUnixEnvironment() now also skips a device in the unknown state, matching the intent of not querying a device that is not known to be reachable. Assisted-by: Claude Code Change-Id: Ia1eb69e8dd89ab3c17fda2f796ff91c233b0e1b6 Reviewed-by: Christian Kandeler <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/554b9da7583a20c472701a01e7ef306c3834f69e Git commit 711f51ff718632553586901c3b6ce26fdfba136c by hjk on 30/07/2026 at 10:43.. RemoteLinux: Finish a canceled ssh process stuck connecting When a device process is canceled while the shared ssh master is still connecting (e.g. to an unreachable host), the interface kept waiting and the process never reached NotRunning. A subsequent restart then soft-asserted on "state() == NotRunning", and for a direct (unshared) connection the stuck local ssh client was never killed either. Abort the connect wait and report done when canceled mid-connect, and, when there is no remote pid, terminate/kill the local ssh client instead of doing nothing. Assisted-by: Claude Code Change-Id: Ib8631a2e39f4614bf6df5332e08cbd09e4fd7ee9 Reviewed-by: Christian Kandeler <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/711f51ff718632553586901c3b6ce26fdfba136c Git commit c818a256406c5a7d4639c8900529b26821fcf24a by hjk on 30/07/2026 at 10:43.. ClassView: Jump to implementation When activating a function or class variable in the Class View, the editor jumped to the declaration, because the Class View only records declaration locations (out-of-line definitions have qualified names and are skipped by the parser). Resolve the definition of the symbol at the target location via SymbolFinder and open that instead, falling back to the previous behavior when no definition exists or the symbol is not a function or class variable. Task-number: QTCREATORBUG-16175 Assisted-by: Claude Code Change-Id: I6297b44dae2c003b0a29a4b40069a05650373a7f Reviewed-by: Christian Kandeler <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c818a256406c5a7d4639c8900529b26821fcf24a Git commit 6181ad51b1baf57ad6bce382f39614b993ab71a8 by hjk on 30/07/2026 at 10:58.. ClassView: Show the project file path as a tooltip Projects are listed by name in the Class View, which is ambiguous when several projects share a name (for example different checkouts). Add a tooltip with the full project file path to the project items. Fixes: QTCREATORBUG-12156 Assisted-by: Claude Code Change-Id: Ic4a260501998a723e97edda0462b69850cff29fd Reviewed-by: Christian Kandeler <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6181ad51b1baf57ad6bce382f39614b993ab71a8 Git commit cdbce703ed6ce0714afad68b65ff07debed7d0d9 by hjk on 30/07/2026 at 11:09.. Debugger: Allow CDB for a remote Windows device Relax the CdbEngineType gate that required a Windows host: CDB drives cdb.exe as a subprocess and only parses its text output, so it also works with cdb.exe running on a remote Windows device, with its stdio piped over SSH. Add DebuggerRunParameters::cdbExtensionPath() to carry the device directory of the CDB helper extension, keeping the debugger core independent of the device plugin. Assisted-by: Claude Code Change-Id: I03bbda56494b4a0557c956a67f92157d6d1a4eda Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/cdbce703ed6ce0714afad68b65ff07debed7d0d9