aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmldebug
Commit message (Collapse)AuthorAgeFilesLines
* QmlDebug: Queue the socket error and disconnect signalsUlf Hermann2019-07-031-4/+13
| | | | | | | | | | | Apparently these can be sent synchronously on trying to send something over the wire. Synchronously handling the signals at that point is dangerous as the rest of the system might be in some transitional state (e.g. just destroying the clients). Fixes: QTCREATORBUG-22640 Change-Id: I21a0c92a6334d401390cf6d92b9b855b83cc6307 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmlDebugger: Avoid clang complainshjk2019-06-041-7/+7
| | | | | | | | Inside the header the code model complains about unused functions, avoid that by removing the unnneeded 'static'. Change-Id: I305cc4df47787d0ec5aa75334f5ebe711007a710 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Replace uses of qVariantFromValue with QVariant::fromValuehjk2019-05-271-1/+1
| | | | | | | | Deprecated in Qt 5.14, alternative has been around since Qt 4 at least. Change-Id: I4e3a53c289088368609e0d0ce2405a832d311308 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Qt Creator CMake portCristian Adam2019-05-171-0/+18
| | | | | | | | | | | | | | Based on Tobias Hunger's work from a few months ago. The CMake configuration needs libclang and Qt paths specified as CMAKE_PREFIX_PATH. Auto tests are run with "ctest". At the moment the pass rate is 87%. Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QmlDebug: Modernize QmlDebugConnectionUlf Hermann2019-04-102-33/+22
| | | | | | | | Use nullptr, auto, and initialize members inline. Change-Id: Ie031057e8f4a3a74c22a86b343d8b5c265454550 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Replace static_casts by QOverload where possiblehjk2019-02-261-4/+4
| | | | | | | | | Mainly to get rid of the QProcess::finished deprecation warning. Also adjust coding style in the surrounding connects when needed. Change-Id: I12f9b248c7974b892c4a069356e578e80f8c59e9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix warning: "Missing emit keyword on signal call"Alessandro Portale2019-01-171-1/+1
| | | | | | | [-Wclazy-incorrect-emit] Change-Id: I93bdc6e23cdaccf35c9899ae16870ccc65a54f80 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Canonicalize some includesChristian Kandeler2019-01-101-1/+1
| | | | | | | | | | | | Our canonical style is #include <utils/fileutils.h> rather than #include "utils/fileutils.h" Which makes sense, as such headers will never be found in the local directory. Change-Id: I4ca46e90d6c4d19d4b1f235f4c79caad864ef222 Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/4.8'Orgad Shaneh2018-12-031-2/+2
|\ | | | | | | Change-Id: I5b18233936e3b2cd674df92a694ba73b5a3ed752
| * QML Debugger: Guard against some invalid dataUlf Hermann2018-11-301-2/+2
| | | | | | | | | | | | | | | | | | If the debug service announced unreasonably large numbers of objects and contexts, we would fill an unreasonable amount of memory with junk here. Change-Id: I461d378f35c7b87ee0be1b5a09aed3d27a133343 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Debugger: Add multi-engine support for QML inspectorUlf Hermann2018-11-211-2/+2
| | | | | | | | | | | | | | | | | | | | The engines are listed as virtual root items for their contents. This way, when we need an engineID we can walk up the tree of watch items and the last valid one will be the engine. Fixes: QTCREATORBUG-21486 Change-Id: Ib110457dc65523c1e2b75aa073f6cd399bbc9532 Reviewed-by: hjk <hjk@qt.io>
* | QML Inspector: SimplifyUlf Hermann2018-11-203-13/+3
| | | | | | | | | | | | | | | | Since we don't need to support the Qt Quick 1 clients anymore, we can drop some code. Change-Id: I7afcad8024392f058a35b3ed0d28d2172587552a Reviewed-by: hjk <hjk@qt.io>
* | QmlDebug: Remove outdated clientsUlf Hermann2018-11-199-604/+1
|/ | | | | | | | The declarative* clients are only used with Qt Quick 1. We don't need them anymore. Change-Id: I102fe93b3acd4b23cc01aff5eb9f12540625fe5e Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Robustify packet protocolUlf Hermann2018-06-192-20/+39
| | | | | | | | | | | | | | The packet sizes need to be explicitly little endian. So far the protocol would fail if the endpoints have different endianness. Furthermore short reads or writes from the device should not crash the application. We translate them to a protocol error now. It's disturbing that no client cares about protocol errors right now, but that is material for a different change. Change-Id: Ibcbb170150042cc15a0c3d5d65d5df8365d7fdf9 Task-number: QTBUG-68721 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* QmlDebug/QmlProfiler: Fix integer range checksUlf Hermann2018-06-191-7/+3
| | | | | | | | | | | | | The packet protocol should check if the number of bytes to be read is positive. The check in QmlTypedEvent is supposed to happen before we cast the number to the more restrictive type. Furthermore, if subtype doesn't fit the range constraint, we don't have to do anything at all as the default rangeType is already set before. Change-Id: I45006f8dd752787d59960948b222148d78509aba Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* QmlProfiler: When retrying to connect, double the timeoutUlf Hermann2018-06-062-8/+7
| | | | | | | | | | | | | | | | If you are retrying, then probably you want it to be more patient this time. Also, tell the user how long we have waited and how long we are going to wait when retrying. In turn, reduce the number of "internal" retries. Retrying 10 times should be enough to determine if the given timeout is too short. This will give us an initial waiting time of 2s, and make the second try 4s. Change-Id: Ibdfe02d041550eb16cadc59cec1b78ce97289b30 Task-number: QTCREATORBUG-20529 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlProfiler: stop trying to connect when the application quitsUlf Hermann2018-06-042-0/+6
| | | | | | Change-Id: I3b33ced218320a19fd4e4e834093c0f3b67a8cba Task-number: QTCREATORBUG-20499 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlDebug: Use override consistentlyTobias Hunger2018-05-075-7/+7
| | | | | | | clang-tidy fixes from modernize-use-override check. Change-Id: Ied0d1ed13163fb8ddb9f332a0302a3081ceb7aa3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* QmlDebug: Fix missing includeChristian Stenger2018-02-091-0/+2
| | | | | Change-Id: I5004d1444f8106e1d557c2423eed73baca82a65d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* QmlDebug: Allow retrieval of blocked engines from EngineControlUlf Hermann2018-02-082-11/+24
| | | | | | | | Also, don't accidentally add engines to the list on engineAdded() and engineRemoved(). Change-Id: Ida4362eb003b85282dad17afbf0116c82f024288 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QML debugging: Fix UI text punctuationLeena Miettinen2018-02-061-3/+3
| | | | | Change-Id: Id4d06b8d083f224a58299c134e2feeffedd72e9f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlDebug: Add a services preset for QmlPreviewUlf Hermann2017-10-191-1/+4
| | | | | Change-Id: If50aba7544c082d99cf03d2cf3c309fc99488803 Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Extract a general QML debug connection manager from QmlProfilerUlf Hermann2017-10-164-2/+350
| | | | | | | We can use it for other QmlDebug run controls, too. Change-Id: Iee1cd592848ef4c48954a2674b6fa509223fcda4 Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Use versioned packets for engine control clientUlf Hermann2017-10-161-7/+7
| | | | | | | | The service also uses versioned packets and not doing this might create subtle bugs. Change-Id: I54dfbe4f8e3d3a71daf2fe503a609c52c6a158bb Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Move QmlDebugConnection into own fileUlf Hermann2017-10-048-441/+527
| | | | | Change-Id: I761658de7c19754cfaadf8cbbad7596a9bcdfbf3 Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Streamline command line parameter creationhjk2017-09-121-16/+2
| | | | | | | | 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>
* QmlDebug: Drop unimplemented private methodUlf Hermann2017-09-081-1/+0
| | | | | Change-Id: I66a2212e6d2eb2208444ca97c64b10ac50c57c43 Reviewed-by: hjk <hjk@qt.io>
* Drop unused variables and lambda capturesUlf Hermann2017-09-081-1/+1
| | | | | | | | | 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>
* QmlDebug: Don't use QmlDebugConnection unconditionallyUlf Hermann2017-09-075-23/+31
| | | | | | | | | | 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>
* QmlDebug: Decouple QmlDebugConnection and QmlDebugClientUlf Hermann2017-09-078-17/+8
| | | | | | | | | | | 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>
* QmlDebug: Add some missing overrideUlf Hermann2017-09-077-24/+24
| | | | | Change-Id: I742cbeedff43e1e33b30150fec60f843698f05e8 Reviewed-by: hjk <hjk@qt.io>
* QmlProfiler: Remove slots declarations and Qt4 connectionsUlf Hermann2017-09-071-1/+1
| | | | | | | | 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>
* Android: Re-enable QmlProfilerhjk2017-06-291-1/+1
| | | | | | Change-Id: Icd73475be421e6813b0d496020461e7020b547dd Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger, QmlProfiler et al: Replace AnalyzerStartParameterhjk2017-06-161-0/+12
| | | | | | | | | | | ... and QmlProfilerRunner::Configuaration by PE::UrlConnection, and call it 'serverUrl' on the user side. That's the only variant we ever had and avoids "translations" between three structures that are essential the same. Change-Id: I33386b2b8d2a7985ff934f6f8f840de0831bf9c1 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Merge remote-tracking branch 'origin/4.3'Eike Ziller2017-04-191-0/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/genericprojectmanager/genericproject.cpp src/plugins/genericprojectmanager/genericproject.h src/plugins/genericprojectmanager/genericprojectnodes.cpp src/plugins/genericprojectmanager/genericprojectnodes.h Change-Id: Ie0c870f68c8d200a75489b75860987655b2f6175
| * Reserve some elementsMontel Laurent2017-04-141-0/+1
| | | | | | | | | | Change-Id: Iceef4e9a6f213a747045db3b06a5608d77652f98 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Cast enum to the an integer type before streaming out to QDataStreamThiago Macieira2017-04-051-1/+1
|/ | | | | | | | | We stream in as int or as qint32, so this is symmetric. Change-Id: Ic46ff326a6ba46bc877cfffd148325c21241f3b1 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Fix exports for shared librariesMarco Bubke2017-01-161-1/+1
| | | | | | | | We use "shared" to define a shared library and not dll. Change-Id: Ia97ebd0042a7ef0f33eadaa448d9a44b42331ad1 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* QmlDebug: Use the original names for connection states and errorsUlf Hermann2017-01-051-25/+6
| | | | | | | | | The way to extract them from Qt is somewhat funny, but this leads to clearer messages in the debugger log and other places. Change-Id: Ib458d5ec796a2e69a6543d405593be8e54016946 Task-number: QTCREATORBUG-17492 Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Add missing "emit"Ulf Hermann2017-01-051-1/+1
| | | | | Change-Id: Ib1affe0ca59c8ba01a9701fc9ee654f639122bd3 Reviewed-by: hjk <hjk@qt.io>
* make library defines more consistencyTim Jenssen2016-12-123-3/+3
| | | | | Change-Id: I211d511667d5b9c8f518bfbe750aca4483baff62 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QmlDebug: Simplify messageclientTobias Hunger2016-12-012-7/+0
| | | | | Change-Id: I6a5fbecc5c4cbdaff82ec671ad8667d6b187ee9e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Don't shout in text messagesJarek Kobus2016-11-041-2/+2
| | | | | Change-Id: Ie8d2c6761c87b358f0bc8691e529ba8144e267a4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Remove stray white spacesRobert Loehning2016-08-241-1/+1
| | | | | Change-Id: Ibc5d61a170cdcc333f7ec5d3061b053d33a06f9d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlDebug: Avoid crash on socket disconnectChristian Stenger2016-07-251-2/+5
| | | | | Change-Id: I873b2c84d32498ea4ea2591866d0dff13d59503b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlDebug: Decouple log messages from connection failuresUlf Hermann2016-07-182-23/+34
| | | | | | | | | A socket error is not the only possible reason for a connection failure and exposing socket error codes to the upper layers is unnecessary. Change-Id: I27e9f21160ecea5b0d811b83b7ab0ab9071cacff Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlDebug: Add socketState and flush() for local socketsUlf Hermann2016-07-181-9/+6
| | | | | Change-Id: Ieb90f661eaa2a595c88e1e36653437c810a6aa3a Reviewed-by: hjk <hjk@qt.io>
* QmlDebug: Properly close connection on invalid messagesUlf Hermann2016-07-151-2/+1
| | | | | | Change-Id: I5411a576bde22193bc997908ca2c87d9660d3ea8 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlDebug: Signal an error if local socket cannot be openedUlf Hermann2016-07-151-1/+2
| | | | | Change-Id: I61fa544f454e22de45d6a6ef9180a896231662c9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* qbs build: More steps toward creating a "development installation".Christian Kandeler2016-06-131-32/+35
| | | | | | | | | | | | | | | Namely: - Install header files. - Install imports and modules. - Create modules from products and install them. This is most of what we need. The main thing still left to do is dealing with paths in Export items. These have to be translated somehow. (Currently we only copy the Depends items out of the Export items and ignore everything else.) Change-Id: I12d49fa31d1c1e05bc77a0e0ce3ec9c78c27192a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>