The preferences dialog is modal and creates an event loop that would be
running within the mouse event handler of the widget. When the dialog is
closed after the widget is destroyed (i.e. after indexing finished),
control would be passed back to the destroyed widget, and crash.
Fixes: QTCREATORBUG-28566
Change-Id: I71efa683822b5682ad1b38c39ce8f73c89bdd610
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Without this we cannot identify the aspect when trying to retrieve the
settings. Therefore, we always run without any settings, and in
particular with an empty command line for perf.
Fixes: QTCREATORBUG-28545
Change-Id: Ia419c939d57ff65eca4992faff02c121ca20c83f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Setting entry to nullptr inside DocumentModelPrivate::addEntry()
sets it only locally inside this function, so the caller of
addEntry will still hold the originally passed pointer. So, if the
"if (previousEntry)" condition was hold, the caller of addEntry
operates on deleted pointer.
In order to fix it we return the valid pointer instead.
Change-Id: I3e4a5c3532ca942c43ab422a238f0a19ebd41794
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This allows a project to be properly configured with Qt Creator 9 when
the build environment had user defined changes.
Qt Creator version prior to 9 had one setting for both configure and
build steps.
Fixes: QTCREATORBUG-28372
Change-Id: I0da8065085bd6628ba75923c17b46648eb031801
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Otherwise some overrides of extraAreaWidth() may leave passed
value unmodified and we may end up with uninitialized value.
Change-Id: Ica89019fc2cff93f0bc7d784624730ec9d8c0224
Reviewed-by: David Schulz <david.schulz@qt.io>
Otherwise it may be uninitialized when while loop finishes
immediately.
Change-Id: I7638025813d4353abc864e106ef0e09c7c218409
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
A reference to buttonBox gets vahished after c'tor of FilterDialog
finished. Capture by copy the buttonBox.
Amends b72ae58629
Fixes: QTCREATORBUG-28524
Change-Id: Id6eaf826243e307f26a91c4bd6386cf836bce111
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
When starting a process, make sure that the working directory is
reachable.
Change-Id: I911239d03afd916411d7fb03da806211349ff7e4
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Instead of silenty failing and resulting in broken builds/packages.
The property is only available since CMake 3.19, so limit the feature to
that.
Change-Id: I82b06e78540e81a809f7fdfe130648becfc9672e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Some wizards will miss required components when corresponding plugins
are disabled. That is fine, and not an error per se. When actually
developing a wizard, these kind of errors should of course be posted,
but that is what -customwizard-verbose is for.
Fixes: QTCREATORBUG-28502
Change-Id: I3647d37ef7ca4dace7592c5443bdd13720290016
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
when we are in the limbo state where no session has been loaded, and the
default session has not been explicitly created or loaded yet.
Fixes: QTCREATORBUG-28393
Change-Id: I66d69561e18b5073a477d90c1926074e3cd97cee
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The issue is only reproducible when interrupting a running inferior with
cdb.
Change-Id: I336413d7f36aad28108623eb1bf8015b42f3dbb4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We cannot tell clangd to opt out of indexing for certain files, so we
must prevent "foreign" sources from ever getting opened, or we will have
strange effects in the case of non-unique symbols.
Note that there are more (upstream) problems in this area, but this
patch limits the damage at least.
Amends 8ad7ab2d2a.
Fixes: QTCREATORBUG-28452
Change-Id: I131be699a35da8eacea6415c630e9012cc905a47
Reviewed-by: David Schulz <david.schulz@qt.io>
It was no longer showing "No updates found." in the status bar if the
progress details are off, and the progress details were no longer
directly hidden if updates were found.
Amends 93401c9c81
Change-Id: I53c441a990c9cbda1a49969f57eb76128ab020c1
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
that are found locally in the documentation. That opens such links in Qt
Creator, instead of in the web, if possible.
Change-Id: I2270c6947db22f4aeb4968bf5b7245de57521c92
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* The QTC_ASSERT in pathView() is quite expensive
* Constructing the scheme using scheme() is not required
Change-Id: Ibea33dd6abf67c8bd184d118f23e2598075c362c
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit e471417539)
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
After the change to a single-string representation, the QString
construction for path() is expensive for the comparison operators
and simple convienience functions.
Change-Id: I643c7115d3ad52f971d1692230b6eab82645b810
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
We used to elide the right part of the name, and needed to take care of
not eliding the * away in that case. Now we elide in the middle, and in
that case the * may not be added to the elided text again.
Change-Id: I646b51d315e141a65df67841e163826e7136c118
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There are Linux distributions that (at least for building packages)
separate the development packages for the various Qt modules.
So, to find the include <QtQml/qqml.h> in timelinemodel.h when
building the test, a dependency on QtQml is required.
Pass the dependency down to everyone depending on the tracing lib.
Fixes: QTCREATORBUG-28434
Change-Id: I58a534a9c25f1f6ecfc10a9ce8292b5983cdcbae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
The workaround that fixed the drawing of arrows after a change between
6.4.0 and 6.4.1 broke the drawing of arrows with Qt 6.4.0.
This change add another enforced detachment of the palette (leading to a
modified cache key) that works with Qt 6.4.0. It still works with 6.4.1.
Amends: 9d32093421
Change-Id: I8917c99488cec4fb17ed148bb3b0f95d4ed7127c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If a build preset doensn't reference a configurePreset, the preset is
invalid but Qt Creator crashes.
Task-number: QTCREATORBUG-24555
Change-Id: Ibf5dd7f1bb165d8b7f392e6a1aaa043548bb0f7a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
A change in Qt 6.4.1 influences the behavior of QPalette::setColor, so
that the arrows appear in a wrong color. An enforeced detachment of the
palette in style option works as a workaround.
Fixes: QTCREATORBUG-28470
Change-Id: I4a44ff59c368105fdf448152d83e96cdedd46495
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It would add the paths from the environment variable again, each time
the searchPaths are requested
Change-Id: I2650ba832e23b5fcd6bfd363389e1eaf3beddb9d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
If perf cannot be started for whatever reasons it is quite hard to
figure out its reason.
Add a note how perf is started and give some hint on the application
output pane as the message box points the user to it.
Task-number: QTCREATORBUG-28462
Change-Id: I4d386078f6e3719fefc9b3dc7d77fffbdb294030
Reviewed-by: hjk <hjk@qt.io>
In rare cases it can happen that the installer creates a device that happens
to have the same rootPath as a user created device. We need to filter
these out since otherwise it can be random which of the two devices
is selected.
Change-Id: I8269795a2e4f439fb2f02d819272723a504c6703
Reviewed-by: hjk <hjk@qt.io>