Previously, in AppStopRequested state we would wait until we are done
processing the data. This is problematic as when aggregating traces
this doesn't happen spontaneously. If we've explicitly asked the
process to terminate it's safe to do so after receiving Complete as
we won't need any more data after this.
Change-Id: I64111ce6039ffc7f6815425c6b7e4432ac528c86
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Otherwise we can run into an inconsistent state when we try to restart
the process while we're still "waiting" for it to die.
Change-Id: I82afd272a73b3be79328c45c8d027621d1feeace
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This test does start QC with '-version' which results in a (blocking)
dialog on Windows.
Change-Id: I75fc84382bf7228f17febe4b852db01362b02537
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Fix some misnomers and remove an unused declaration.
Change-Id: Ia5e30ccc7c465a10c5214b7fe025aa0f578cdab4
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
It makes more sense to have them in the same location as the actual
type.
Change-Id: Ia27970173d14cfe361d4fc007cb461f788350b21
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
... in turn, make its members private, so that we don't accidentally
change them.
Change-Id: Ibc65b406ee341d33f69647ed1b19e1e34f5cd535
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
The only member that can change after initialization is the text.
Change-Id: I6958f510e67c9fd6fe1f109c2676f80d93e7fd0c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
You should not change them independently as that is error-prone.
Change-Id: I07890a29b045492fe804b9537094dea763bc1b8d
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Apparently the popup window is not automatically activated.
Change-Id: I12e952568630d5ffe5d5dab9012b617a28ef9285
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
We want move constructor, move assignment, ==, and !=. Also, drop some
unreachable code.
Change-Id: I65f24d7ba0f146ad37ec4b7c438b47d4abc3d688
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The number type used to transfer data from the internal to the external
list is an implementation detail, and qint64 will always work. Users
can optimize the casting by choosing the same type as the external list
uses to store the numbers, though.
Change-Id: I069c31b130960519e7d27ec79a456924f7777364
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
The UTF-8 data stored in the event is not necessarily null-terminated.
Change-Id: Id5d4f0b50f8c7c70aa6576121905072984f1c342
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").
Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The idea is to have a way for tools to specify what kind of
control channel they would like to use to communicate with
a device without making the choice explicit dependent on
the exact kind of tool to further decouple device and tool
implementations.
The 'hint' values are there to help the device implementation
to decide on which channel to use exactly in case there are
multiple choices. In any case, the tool is responsible to
check that the returned channel is suitable for its operation.
Currently the only choice is "QmlControlChannel" yielding
a simple wrapper around the former IDevice::qmlProfilerHost()
return value.
Other enum values may potentially be {Tcp,LocalSocket}ControlChannel
(to specify a type of transport) AdbChannel (to specify some
generic helper mechanism). It might also turn out that something
more complex than an enum will be needed, e.g. to express
a set of values with priorities or such, but I'd rather
avoid overengineering for now.
Change-Id: Id386425eb3dd2bb395065f0bdb6f67217cd40a71
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
When a function returns and is called again, without memory being
allocated or freed in between, we don't want to assign any memory
events from the second call to a memory range starting in the first
call.
Change-Id: I3d5cd10381f31ff73849a5a396ad6bda7661afec
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
If we overwrite the pixmap state, we cannot later check it for the
old value ...
Change-Id: Ic81b9c360457b2ae3b2e1d76aeccfc5309f0782a
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Don't reimplement locationFromTypeId, make methods public when they are
public in the base class, remove redundant QVariant ctors, inline
memoryTypeName() into the only place where it's used.
Change-Id: I5d780cf27c90a277c13b117c25c80ccce5a4182b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
I doubt that anyone has ever used it.
Change-Id: Icf8c6513f5cdd10a9aa790e7373df9eba7c12ef2
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Call it the same way it's called everywhere else.
Change-Id: I5e61275c264c337307643c0874b7c764c4e18118
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Signals will be disconnected by QObject dtor anyway.
Change-Id: I193fa207e02b8f91258d165f0a7eacb0ccc4b9df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Methods that are public in the base class should also be public in the
derived class. Also, the accepted() method takes a type, not an event.
Change-Id: I086d382ffc2e71c7efda56b0dbf341942986582c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Technically they can still be selected after hiding the category they
belong to, but we shouldn't show the details window then.
Change-Id: I4f667a397dbe258a302e65b1fb8e4e6eb723c441
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The notes model wants to resolve IDs from timeline models when saving.
Change-Id: I02c6038c8519101f36db95183bfa05d01a531b97
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Clamping the timestamps and then sending the original events doesn't
make a lot of sense.
Change-Id: I42a42968d0188acb040649483d642c6b3f3e1038
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The parent class has a public add() method which has to be qualified if
the child class has a protected one.
Change-Id: I6d61d6123618fc0b5065893656b36559aa5298be
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
The model manager will make sure that the flame graph model doesn't get
any events it doesn't accept.
Change-Id: Ibe6e06c558d138cebe6be5dbc76e8f51e9e1fd95
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>