Previously when detecting / checking debuggers the process would be
started with the Host environment set. This was incorrect for remote
debuggers.
Change-Id: Icd210dbfc9437e9abd2e0c4248e5503129bf6d8b
Reviewed-by: hjk <hjk@qt.io>
The .pro file path is QString compared when trying to import
an existing buildfolder. This broke since resolvePath() does not
necessarily clean the path anymore.
Fixes: QTCREATORBUG-28409
Change-Id: I10286f086762b8f8dd9020aa4003317ff6180e12
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Sometimes, after I close Creator, I notice a bunch of logs
being written to console. However, I really don't know when
these logs happened - on close of Creator of much earlier
(e.g. 1 hour ago). Having times in log may help to link
the log content with the recently executed actions inside
Creator.
Change-Id: Id53c1eecd315917211b04adbd82669eb8865be81
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
At the first run of Qt Creator after its installation, MSVC toolchain
command is set lazily after it's detected, so an empty string can be
set to cmake toolchain variable when a Qt for MCUs kit is created
automatically. It needs be avoided to keep the cmake variables valid.
Even when the command is not updated, it will work correctly with the
default variale (%{Compiler:Executable:(C,CXX)}).
Task-number: QTCREATORBUG-28457
Change-Id: I5de277831e7f1e696f67724193938d6eef7a12dd
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The effect of rehashing on removing an item from a set was not
considered, so the empty packages were not removed completely in
the packages set of McuTarget and it randomly caused an invalid
status of the McuTarget.
Task-number: QTCREATORBUG-28457
Change-Id: I964862330cf4f8d2de88647125f65c2959db417c
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... by mapping the executable and working directory to the target
device.
Change-Id: I0a220fe9bae980cb279fae776962f23335eac248
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Some creeped into settings earlier, making the paths that were
meant to be empty look non-empty.
Also add a test for FilePath::isEmpty().
Change-Id: I99e3dd673294206558f9fee9b7c7874d2441327e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
It looks like starting device shell is fragile in some
circumstances.
Fixes: QTCREATORBUG-28072
Change-Id: I1a51d1fb939bd42884a55e1492de808bee89219f
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
If a temporary file is stored by using "Save As..."
the temporary state should get lost to properly handle
other actions, like closing a modified file, putting it
into the recent files list, or similar.
Change-Id: I94b3141bad1bd476056a774756071df5f60137aa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This reverts commit 19ef8e5c7a which
introduced the following regression:
FAIL! : tst_protocol::parseCString(octal) Compared values are not the same
Actual (parsed) : "abc\u00C3\u00A4\u00C3\u00A9def\u00C3\u00B1"
Expected (expected): "abc\u00E4\u00E9def\u00F1"
Loc: [/data/dev/creator-out/tests/auto/debugger/tst_protocol.cpp(32)]
FAIL! : tst_protocol::parseCString(hex) Compared values are not the same
Actual (parsed) : "abc\u00C3\u00A4\u00C3\u00A9def\u00C3\u00B1"
Expected (expected): "abc\u00E4\u00E9def\u00F1"
Loc: [/data/dev/creator-out/tests/auto/debugger/tst_protocol.cpp(32)]
Change-Id: I59509fd61a54c335ab0a34f8ca0dffb3d75da696
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Before, the SshProcessInterface was trying to run kill
command (on remote host) for the running processId. However,
in case of terminal process the returned processId is an id
of ssh running through creator process stub, not the id of
remote process. The fix is to redirect a call to sendControlSignal
into the internal terminal process.
Change-Id: I57509fd61a54c335ab0a34f8ca0dffb3d75da696
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
If the rectangle of an annotation changes we need to completely redraw
the annotation since the content might have shifted and the eliding
character is now at a different position.
Fixes: QTCREATORBUG-28411
Change-Id: I41b0f38a73b287e6a5d5318ba797aac6e2ff71b0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The elements are sorted by their CMake variable to keep the order
consistent. Otherwise they would be sorted by their pointer, which leads
to a random order every time.
Task-number: UL-6614
Change-Id: Ie3520fb312044ccca4c9dc853e00ae2710b28d1c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Pasting an object should directly add the object at the
right branch of the tree if necessary.
So, in case of having a container or widget property
the new item has to be added as a child of this.
Change-Id: I0d7398eec8ae7b5bf6414a525e695d52b13b1113
Reviewed-by: David Schulz <david.schulz@qt.io>
Ensure we are using UTF8 all over the place especially when
using external tools and their stdin or stdout streams.
This fixes bad encoding issues on Windows when having unicode
characters inside the objects map file.
Change-Id: Ic8e66a876abe0903308002cd25315b1eaa3788b1
Reviewed-by: David Schulz <david.schulz@qt.io>
This fix addresses two problems:
1) If no boot2qt device exists yet, no deploy step is created.
This is hard for the user to debug.
2) As the device supports rsync, an RsyncDeployStep would be created.
This is not optimal when the build device is remote, as the fallback
would not check if the target file is up-to-date first.
Therefore this fix adds another possible deploy step that will always
be created if either no device is available, or the build device is a
remote device.
Additionally this change adds an RSync deploy step if neither a remote
build device is set nor a target device.
Change-Id: I8959408e13d690d484ade9e837e7fa65eb106676
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
When the QtcProcess failed to start, we immediately delete it.
Later it would try to access it to retrieve the command line
for the error message, which would crash.
Change-Id: Ibac942e9a1a91001d90ce7e73d5463c51af81590
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Check the existence of all commands used by the DeviceShell
script before trying to start it.
Change-Id: I7a69957a979f8eb021c45e54615ad8d38353d28b
Reviewed-by: hjk <hjk@qt.io>
Otherwise, the issues pane can pop up due to a key press, as code models
refresh their diagnostic entries.
Amends 04a23c38f0.
Fixes: QTCREATORBUG-28330
Change-Id: Ic7e63a1bbbf3e4c37383849cfad05529bac23e9b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
That is, recognize '"', '<' and '/' as activation characters, like the
built-in code model.
Note that we do not actually start the LSP completion procedure for
these unless we really are in an #include directive.
Fixes: QTCREATORBUG-28203
Change-Id: I85727d0e392a27efa8549e7d6fa5f18f953774b4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Don't read or modify private data from worker thread.
Move Preparation of the deploy file list into the caller
thread, as it is using e.g. pointer to Kit object, what
doesn't look to be safe when used from non-main thread.
Change-Id: I6523e8f46541f5f96d46fa98f0ba941c2ec46e74
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
An MCU kit that is created automatically also requires variable
expansion before the kit is generated. The same preparation for
the variables will be done as the MCU option page.
Task-number: UL-6603
Change-Id: I915f6f6e8c6e2a90409c527951e469c555002cff
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When using BuildStep::runImpl() it was possible for the async part
to still be running while the BuildStep is already deleted.
This change returns the Future so that users can wait for it to finish.
Change-Id: I27c0fc8741c59851c5ab8f5cb858fbcda923c14d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The complete memory management in the code assistant needs an overhaul.
For now just delete or at least track the assist interface with scoped
pointers.
Fixes: QTCREATORBUG-28408
Change-Id: I0bd4cfaa36a660b6fd5bb467af3b13414ed76e63
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Use the intelligent partial text replacement logic that is also used for
e.g. the Beautifier formatters.
Fixes: QTCREATORBUG-28349
Fixes: QTCREATORBUG-25218
Change-Id: I9ae4052df27c8aa2012106a8ef8f624ba5f3c30b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
The Qt shared library for Windows desktop platform has been
moved from Qul 2.3.0 to support MinGW toolchain. The updated
library path needs to be configured correctly.
Task-number: QTCREATORBUG-28303
Change-Id: I7cf8150bfb4a66731904ea49089849496305f22e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>