On Windows upon a CMake file change and save during a build, the
reconfiguration would fail due to the inability to save the build.ninja
file.
Fixes: QTCREATORBUG-30048
Change-Id: I68bec70b0a95bc4256b736a1c4caf1b4d706e43b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The command passed to bash as argument needs to be quoted.
Task-number: QTCREATORBUG-29981
Change-Id: I0e91ab4c088f8cd4e5a2df82604ea86cf73369fc
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We forgot to reset the state, which gave us a permanently broken run
control, preventing re-starting the application, among other things.
Change-Id: I7c168e31e015fdf7002c57aba0ed2178437a15ae
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
rendercontextcore is now a public header
(qtquick3d 89ca37fb914c6539334df62b38ea8cee80dade9d)
Fixes: QTCREATORBUG-30052
Change-Id: I58ac699ed81e958c0a0fccd14385b3359be1fb08
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Explicitly chose a newer kit as the kit we would use by default
lacks some compiler features on Windows.
This patch here only fixes the test crash when trying to access
a disabled menu item due to cmake dropping out with error when
parsing the project with the active kit.
Drive by change: removed workaround for fixed bug.
Change-Id: I783626f30d27ab1852536ae0d1f936ec8323feb8
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
We called deleteLater() on the parser while immediately deleting an
object that was supposed to outlive the parser.
Amends 1231c9e546.
Change-Id: I7ada041c4047d86249c5bdefc0c53e70dcdd5140
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
The tool buttons for switching the edit mode e.g. between "edit",
"signals/slots", and "buddy" hardcoded the index of the corresponding
tool in designer. The index in designer depends on the load order of
(static) plugins, that has changed in qtbase
2f226336a2aeb477b7ba339b6c3a63abb69746c3 (Qt 6.5.1 and later).
Instead of relying on the index/plugin load order, try to find the right
tool by class name (still falling back to the index otherwise).
It would be nicer if the tools had actual IDs though, but that change
would need to go into Designer first.
Fixes: QTCREATORBUG-30017
Change-Id: I17caea6289574db2b1c8934e80d865a142b74725
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
As we don't show blame annotations for the trailing
(empty) lines, the following could happen for single
line files:
1. Cursor is in the first line, annotation is shown
2. Cursor is moved to the last line, the annotation
is cleared
3. Cursor is moved back to the first line, but now
no annotation is shown
Fix this by resetting the last visited line when the
annotation is cleared in step 2.
Change-Id: I1ea5dc339f57c94bc1835dcbccd7a9d93f79ffe5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Qt SDK is using the following parameters for sdktool:
"--name", "CMake %CMAKE_VERSION% (Qt)"
This effectively hardcodes the CMake version for the Qt SDK forever.
Fixes: QTCREATORBUG-30019
Fixes: QTCREATORBUG-29973
Fixes: QTCREATORBUG-28437
Change-Id: I05408442ea26d390f60a123be4fbf71f7018b150
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
They are already added by the Python run configuration.
Change-Id: Icfea32e00209a690901cf672a17a8ef5c23b909d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
pdbbridge uses exec() on the main file which causes the inferior to
use its sys.argv. Inferiors using argparse would then fail since they
cannot make use of the working directory passed.
To fix this, append the inferior arguments separated by "--" and
change sys.argv accordingly.
Change-Id: I35caf4b3ec19c5259c0d4235787c03a3e592768a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
We used to follow a Goto Implementation request with a Goto Definition
request, because the latter gave us the declaration instead of the
definition. This has changed in clangd 17, which means we now called Goto
Definition on a definition, which clangd interprets as switching to the
declaration.
We now do the right thing for all supported clangd versions.
Change-Id: I1c0acd2c8d5c942f7e25dedb1da953bb4f8d8d13
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
- Check condition only once
- Make sure correct length is being used
Change-Id: I8c9627d91b4f022d60bae039c0478248cc30d183
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
If the Qt platform plugin fails to load, most famously xcb on systems
that do not have libxcb-cursor0 installed, the interesting messages are
only written to a terminal, and not visible when running Qt Creator from
e.g. the installer or dock.
Temporarily install a special Qt message handler that scribbles along
the qWarnings and qFatals while creating the QGuiApplication, and make
it output the messages via xmessage in case a qFatal is received (and
xmessage is available). On macOS show a dialog with osascript. Windows
already gets a dialog from Qt proper.
Also add the explicit message about (lib)xcb-cursor0 for Qt versions
that do not have it yet.
Fixes: QTCREATORBUG-30004
Task-number: QTBUG-108796
Task-number: QTCREATORBUG-29873
Change-Id: I5e5dafb398db6a72178413c8b883325c56d9a016
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
QtMCUs package is part of every target with the same pointer address across all
targets, when reseting the target packages to default this will cause
inconsistensy as the default path for QtMCUs package is the home directory.
Fixes: QTCREATORBUG-29960
Change-Id: I2fcc6b631355928bc883e9072b0f3f3c12737c37
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Karim Abdelrahman <karim.abdelrahman@qt.io>
Users don't add QDB device themselves and therefore device test isn't run.
This means neither rsync or sftp is available with GenericUpload deployment.
Ideally, we should run the device test in the background but that would
require larger code refactoring to support it. For now, set all QDB devices
with support for both rsync and sftp. Host's support will still determine
if either one can be used.
Change-Id: I1f73508b9255e0984ca48c763dcaf49b931e0e21
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
That can happen for example, when having a file with active
Instant Blame open and choosing "Save As" to save a copy
of that file in a folder not under version control.
Also fix the related case, when the file is saved in the
same folder, but is not under version control yet.
In this case, let's remove the blame mark, otherwise it
will stay forever as we only stopped the cursor connection.
Fixes: QTCREATORBUG-29991
Change-Id: I6ffed869c18334ba87dbcded409d31ead21f4b25
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
It was previously fixed in 1a43983ea6
Since then, adding the aspect to grid adds a label itself, so the self-
created label in setKit is irrelevant (it adds some empty space), and
the labels that are created for the aspects are accumulated again.
Instead of trying to delete the labels, create a wrapping QWidget.
Deleting this widget gets rid of any widgets that might have been added
when creating the grid of mutable aspects.
Fixes: QTCREATORBUG-29990
Change-Id: I5f2aebf9a865e532c9e24a29ec5979b11d17d43a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Let's not access the object state after emitting
ClangdFollowSymbol::done(), in case the receiver deletes us.
Can happen in test code.
Change-Id: Ia6c691c0f88b16476da1a6be1cedd106d9da2d53
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Backslashes in the markup string are escaped with another backslash, so
we need to check for two consecutive ones on Windows.
Otherwise, qdoc/doxygen commands such as "\note" are interpreted as files
and trigger expensive I/O operations.
Fixes: QTCREATORBUG-29975
Change-Id: I822f57a8612274ff4112063928cab21b9d7ca792
Reviewed-by: David Schulz <david.schulz@qt.io>
The code to handle dropping unintentionally got commented out, then
fixed, then commented out again.
This change restores it.
Amends: e5f74d217b
..which amended: 5da1f14903
..which amended: e34762c844
Fixes: QTCREATORBUG-29961
Change-Id: Iccc8a9b7bc24bc3475ed4fa37a7c231a1f575c1c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
GenericUploadStep doesn't set execute rights to the binary when
deployed from Windows host. Switch back to DirectUploadStep
until support is available.
Task-number: QTCREATORBUG-29971
Change-Id: I253210d44c5587d529f1f7082cac3e9a2ead59c1
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
lldb will normally set OS_ACTIVITY_DT_MODE, so that NSLog is mirrored
to stderr, but this also affects os_log, which we use in the Apple
unified logging backend.
When we detect this situation in the unified logging backend, we disable
Qt's own stderr logging, to avoid duplicate messages.
As the Qt stderr logging is preferable to the stderr logging that os_log
gives, we override lldb's choice, using the same environment variable
opt out that Xcode uses: IDE_DISABLED_OS_ACTIVITY_DT_MODE.
This makes console output in Qt Creator the same, regardless of whether
the user is debugging the app or not.
Change-Id: I5544bde803671258cede918705388c9283885e30
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>