Rename the method to clear() and make sure all the event types and
pending events are actually cleared.
Change-Id: Ie6c916d374a00025f7d77d21345d039fe8cead80
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Explicitly check the user-given port for the right range, drop an
unnecessary switch/default clause, and reorder members for better
memory alignment.
Change-Id: I82e9f4353debd6b211d251ecd83fc642a04bdd87
Reviewed-by: hjk <hjk@qt.io>
Moving aspect data closer to real Value semantics fixes
the regression introduced by 890c1906e.
Task-number: QTCREATORBUG-19186
Task-number: QTCREATORBUG-19192
Change-Id: Ieaeef3995ae06a817f266c1e2514f9e5793bd4e8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Otherwise the run control will believe that the application is still
running.
Change-Id: I16ec9762362f526bd89eb21ceb82b89b295d7b5c
Reviewed-by: hjk <hjk@qt.io>
This populates a file finder so that it is best able to find QML files,
prioritizing the given project/target. Some of it would also apply to a
non QML file finder, but as we don't use FileInProjectFinder for other
file types we keep the code here, for now.
Change-Id: I14e2ac63e699afe27d2f3af8ca3d57dfe732da8c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
We check that qmake property in many different places.
Change-Id: Ifd5efe4ad2831385493bd3afe8538929578e8fb4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This enables us to find QML files that are part of Qt, also if they are
not in the same location on the host and target systems.
Change-Id: Idcd0be8ae4301000c4123e39edeb04b43efb4659
Reviewed-by: hjk <hjk@qt.io>
The RunConfiguration we were using previously only served to retrieve a
target.
Change-Id: I30628197de3025511a03a53d3119083b980762c8
Reviewed-by: hjk <hjk@qt.io>
The test has failed again because of insufficient timeout. 22s would
have been enough this time ...
Change-Id: I001a921921997863d77af8483403a8bd8a85eb29
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use the URL scheme to distinguish between them, check that in
QmlProfilerClientManager and test all possible combinations of URL
parts.
Change-Id: I6583e5bf18eda0344a299a279c12578c4ebc7ffe
Reviewed-by: hjk <hjk@qt.io>
We might get malformed events from the application. Clamp message and
range types into the allowed enum values when reading and reset the
event data when reading an invalid event.
Change-Id: Id76a3a8b8ed9378f9fb1acf15cf46d20758ca030
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
We might get timestamps that are outside the trace time, negative
timestamps, ranges that go backwards, and other insane things.
In order to deal with this, we clamp all negative timestamps to 0, and
treat the specified trace time as minimum range, that can be overridden
by events.
Change-Id: Iba661f2a4346077871fc62a46759e169b2aad49d
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
There is no reason why we shouldn't. Logically that would be an
animation frame without any running animations. The frame would still
have a frame rate and we can still tell if it's the GUI or render
thread.
Furthermore the assert might be triggered by invalid trace data.
Change-Id: I58578a941c5d1471dd1b299ed5f489ad160b2904
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
We might get more event types in the future and filtering them is harder
than just displaying them. Also, traces might contain invalid input
events which would trigger the assert.
Change-Id: I9b38422af953ebb65363fc2b7a91facb7f757976
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
We always have a port now in advance and can construct the
command line directly.
Change-Id: I12dba553f4ef073d7c5b00477baf9fa0e5596bdb
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Also, add context to connect() expressions where we are or were
capturing "this".
Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
The trace may contain RangeData and RangeLocation entries that aren't
aligned with any RangeStart. As the trace is generated by an external
process we need to handle that.
Change-Id: I39a524127c9c9059e5c5521797e5effd385ce12b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
It might be null. We wrap the retrieval of the data stream version in
QmlDebugClient and return the minimum if connection is null. The extra
copy of the connection QmlEngine is dropped as QmlDebugClient already
has one and we don't want to hit a dangling pointer.
Change-Id: Ida8c45d357d46b4942eea99b77065d3c51c7edb9
Reviewed-by: hjk <hjk@qt.io>
The protected methods of QmlDebugClient need to be called by
QmlDebugConnection already. We also want to call them directly for
testing, so we make them public rather than having QmlDebugConnection
be a friend. By using a QPointer, we can avoid resetting the connection
on each client when it is deleted.
Change-Id: I2c0e3d2b8ec19e9acbc6b8f5623b4c28caae319a
Reviewed-by: hjk <hjk@qt.io>
The signals from QML are relayed through the respective models, so that
we don't have to use Qt4 connections there.
Change-Id: I864b49061c1f28acbebfc7378bfe39f96d3cae18
Reviewed-by: hjk <hjk@qt.io>
Only QmlProfilerViewManager is needed, so use that, as a step to
reduce the interface of the QmlProfilerTool singleton.
Change-Id: I19e55e3b22b3c64ff98b8ea29cbc5164a60ee15d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Test runs frequently fail because the timeouts are too low. the test
library suggests around 12s, so we make it 20s to be safe.
Change-Id: I746b141949620310371de71b0b2ec7538dc4b5ce
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
By using the new QTCREATOR_COPYRIGHT_YEAR variable
Task-number: QTCREATORBUG-18612
Change-Id: I3bcf0319660d210436d3130c00f43325c460a66c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
It's a workaround, not a proper solution (as indicated by the
SOFT ASSERT: "d->m_profilerState" in file qmlprofilerruncontrol.cpp,
line 144 triggering) The state manager (and possibly more)
is referenced from potentially running run controls, that are ramped
down after the plugin.
Task-number: QTCREATORBUG-18736
Change-Id: Ia20b168fe640c818276a777e1d23feab0cacd565
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
We want to examine the current list of projects, also if we don't have a
specific runConfiguration. Also, after repopulating the file finder, we
need to clear the cache of file mappings, as they might have changed.
Change-Id: I351789fe999009d443ca5ade9b365bfd490e0e23
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Take care of possible integer overflows and apply coding style.
Change-Id: Ib3922f30c102575ab773f7708864886fc0b53d15
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This is more expensive than just setting the filtered items' height to
0. However, this way we implicitly also change the size of the root
element, group equal items that end up on the same level by filtering,
recalculate the cutoff for too small items and resort all items by
width.
Change-Id: Ida2c5acd9848c5644ecff052d78e9fe5ad962606
Task-number: QTCREATORBUG-18713
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Otherwise the percentages and totals don't match. The extra recursive
time is shown in the tooltip, without percentage (as there wouldn't be a
sensible base value for a percentage number).
Change-Id: I47fcf92aac3f60554219f7da9dd2ac90061ce496
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This way we get a concise description of the inputs it reacts to and we
don't have to dereference the pointer in unrelated code, which lead to
crashes on shutdown.
Change-Id: Ieb75ab95cccc0d1f88420b270909c97867a5c3e0
Reviewed-by: hjk <hjk@qt.io>