While the format document only uses numbers for these in its examples,
the data type is not really specified there and chrome://tracing itself
handles strings for them without complaint. On trace-generating side
std::thread::id can't easily be serialized as a number, and strings can
easily be supported in the viewer.
Change-Id: I36c8497049d4933058b9f72a28f24e1d1cf0d5bb
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
In some cases the exact type of a tag is not needed.
Change-Id: I0e46d12c5dde34734e7e711dd940b9aa570d23f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The original change that introduced the usage of
QProcess::UnixProcessFlag introduced also a regression.
Since ProcessHelper::setLowPriority() and setUnixTerminalDisabled()
are part of public API, we can't use m_lowPriority and
m_unixTerminalDisabled inside c'tor for early return before setting the
setChildProcessModifier(), because these values may be changed later,
before starting the process.
Amends e8ca1877de
Fixes: QTCREATORBUG-29457
Change-Id: Ief360c123f6284c7df105ef530c4602555b5b069
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Show operator fills when cursor is placed at position where operator
is required
* Convert operators from real syntax to text version
Task-number: QDS-10630
Task-number: QDS-10638
Change-Id: Iffceb24024b7cde9a93c2acd0033fedd54e2ee32
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Add various trace points to the code, including the plugin
initialization methods (centrally in plugin manager), code that is
scheduled on the event loop with QTimer::singleShot or
QMetaObject::invokeMethod during initialization, and code that is
triggered from ICore::coreOpened
Can be turned on by configuring with `BUILD_LIBRARY_NANOTRACE=ON`
Run with `-trace <file>` to write trace file. If Nanotrace is not built,
the added code expands to nothing.
Changes in Nanotrace:
- turned generated data to microseconds instead of nanoseconds, because
that is what Chrome tracing expects
- fixed serialization of duration (needs to be an item of the event, not
in a "arg" subitem)
- fixed shutdown() to reset the initEvent
Change-Id: I994de82023b820d771e1be0a859ebd8da0b73d4d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Removes duplicate m_autoApply from AspectContainerPrivate.
Fixes issue when calling BaseAspect::setAutoApply()
on an AspectContainer.
Change-Id: I5f56d8d3c6d52d32c9365faf3d0e22facb757f03
Reviewed-by: hjk <hjk@qt.io>
The "Trim and Crop..." button now jas a static text and shows crop and
trim details via tooltip.
The confusing resizability of the dialog is prevented.
Change-Id: If967d8014a0751f7d2360bf7b239bf22f070024c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Which would trigger reading the MIME database, which is not needed at
that point in time. We persist the map of MIME type to custom default
factories via the MIME type names anyway, so just stay with that.
Change-Id: I7570432573b16700e00811fe409d43a2db6c5347
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The line-endings have to be correct, because
the rewriter only fixes the indentation.
Change-Id: If08f3b1bff8f35d63ee51521e6b07c7017fa3cf0
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
It is undefined behavior to access a uninitialized part of a union but
in this case it is not because both member have the same start member.
ControlBlock is in both at the address with the same layout and so it is
allowed by the C++ standard.
Change-Id: I3a165f67030d6726d2cb0cfbcbfb2622bcf7dcc4
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Calling FilePath::canonicalPath is expensive on Windows, so only call it
if we cannot find the filePath in the cache and save the result to the
cache again. This reduces the time to parse the auto test for the Qt
Creator repository from 10s to 2s here. It also improves the performance
of various quickfixes and follow symbol of the built-in code model by a
similar factor.
Change-Id: I7025828e1b91f492825b10753e3b97e1c917fbfd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
- Include singletons in the list of sources (former sourceModelNodes)
- Do not suggest sources on bindings that are initialized without a
source node. Prevent constructs like
"property string p: button.qsTr("STREXPR3")".
- Allow changing the name of the target property and update the
delegate properly when doing so.
- Remove superfluous emitCurrentIndex emission from the
dynamicpropertiesmodel.
- Add missing qml imports.
Note that it is still possible to create illegal constructs if the user
wants to.
Change-Id: I084978f2f8d451df076d1b556db15764e17e31fb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Yes, it is possible to set a unsigend integer to -1. It is defined that
a unsigned integer is underflowing and then you get the largest integer.
With https://en.wikipedia.org/wiki/Two%27s_complement it exactly the
same bit pattern as a -1 signed integer too.
But many compiler like the mix of signed and unsigned because it can
lead to bugs. So just use the unsigned interId() data type and set the
special value to the maximal integer.
Change-Id: Ie2ee1b5e2b476ec12abb5a48eee3eae2ae8cd14b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
They are similar with quite a bit of overlap, with the odd "base"
GccToolChain and discovery scanning mostly by scanning the same
directories for each "sub type".
This here aims at one class (currently still the mis-named GccToolChain,
later to be re-named to UnixCToolChain or similar)
Change-Id: Ia721932d4125d3673250ae727731acc7acd48def
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>