aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Fix preview zoom problems on windowsTim Jenssen2019-03-224-68/+183
| | | | | | | | | | Apparently the window is moved to random places on multi-monitor setups on windows. Fixes: QDS-263 Change-Id: I21082c7031fefff3057074c147e82df7a88f4f78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-12-113-5/+16
|\ | | | | | | Change-Id: If18e582a7210dae046426d97af530ab7ef47ddf4
| * Fix leaking resources by OpenVG scene graph backendKirill Burtsev2018-11-143-5/+16
| | | | | | | | | | Change-Id: I4e67c639d8343e39673ef5ea08bda7af033fb19f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | QML Inspector: Use Qt5-style connectionUlf Hermann2018-11-151-1/+1
| | | | | | | | | | | | | | | | highlight.h doesn't have a slots section anymore, so the Qt4-style connect produces a runtime warning and the text doesn't disappear. Change-Id: Idacd3552df75179566b9efe43192c9c95dbd6f96 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | QML Tooling: Fix ordering of memory events in V4 profiler adapterUlf Hermann2018-11-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | We should not send memory events that are chronologically after the next call event, even if the time threshold given by the profiler service would allow us to do so. When the remaining call events are sent, the chronological order would otherwise be violated. Fixes: QTBUG-71515 Change-Id: Iee27304f836a899b2b35133316cecd3d34f128c6 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | Fix translation contexts for paths with drive letters on WindowsErik Verbruggen2018-10-152-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inside method_qtTr, the filename is assumed to be a (correct) URL. When a (normalized) path with a windows drive letter is passed to QJSEngine::evaluate, the URL will have a scheme that is the drive letter. We cannot correct this in method_qtTr, because at that point we might get in files that do not come from the file system, but through actual URLs. The place where we know for sure that the filename is a real file name and not a URL, is in QJSEngine::evaluate. So at that point, make sure that the filename is a valid URL. Task-number: QTBUG-70425 Change-Id: Ia41859c4024ac46e6f8c3d96057a5dffdecd8f56 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QML Tooling: Prevent property capture while collecting dataUlf Hermann2018-10-101-0/+28
| | | | | | | | | | | | | | | | | | We don't want additional connections to be formed as result of reporting data to the debugger. Task-number: QTBUG-70989 Change-Id: I78b038a159addac43a8661e402a70e5b14fb222b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Tooling: Don't read properties in order to count themUlf Hermann2018-10-101-2/+1
| | | | | | | | | | | | | | | | | | Reading properties may have side effects and we don't actually need the values here. Task-number: QTBUG-70989 Change-Id: If9f43f3c6a390ebd0ab1d1375fd021189adb10f7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Whitelist the Qt tests pathUlf Hermann2018-10-051-1/+3
| | | | | | | | | | | | | | | | | | | | Having that blacklisted only provides some bullet/foot interaction when running the test on an installed Qt. Just leaving it out of blacklist is not enough as the prefix and data paths are usually parents of the tests path. Change-Id: I480ecd88716a2f0084c1acbb8c29cde2c2b4590a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QmlPreview: Change license to LGPL/GPL/CommercialUlf Hermann2018-09-2814-57/+211
| | | | | | | | | | | | Change-Id: I17484583ca02f98d6120816611ccc7e8b0ce43e3 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | QPacketProtocol: Remove aboutToClose() methodUlf Hermann2018-09-202-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't serve any useful purpose. The cleanup is done on destruction anyway, and re-opening the underlying device after it was closed isn't supported. Furthermore, clearing the sendingPackets leads to a crash when the device sends another bytesWritten() signal after aboutToClose(). That can happen, for example with local sockets on windows, when flushing the remaining data. Fixes: QTBUG-70638 Change-Id: Icd636efc9794a127a3869a1c3e999d2286593067 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Cleanups in Value/PrimitiveLars Knoll2018-09-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Get rid of Primitive and move the corresponding methods directly into Value. Mark many methods in Value as constexpr and turn Value into a POD type again. Keep Primitive as a pure alias to Value for source compatibility of other modules that might be using it. Change-Id: Icb47458947dd3482c8852e95782123ea4346f5ec Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Store InternalClass::nameMap in a MemberDataLars Knoll2018-09-162-2/+2
| | | | | | | | | | | | | | | | | | | | This helps make that memory known to the GC as well, and makes marking of internal classes much more efficient, as we don't mark the property keys repeatedly (even if they are shared between different internal classes) Change-Id: Ibb7e5383672d7657926bd08bf13f73f7680a9f31 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Qml Preview: Record more detailed frame statisticsUlf Hermann2018-09-104-10/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | Just the number of frames per second doesn't tell us the reason for any low frame rates. The problem could either be GPU-bound, and rendering could take very long, or the problem could be CPU-bound, with synchronizing or the gap between frames being very long. Reporting the rendering and synchronization times in more detail gives the client an idea of what is actually going on. Change-Id: Ib2840a9e1aa9b9738e967730c668769946659be2 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | QML Preview: fix a possible crashTim Jenssen2018-09-071-1/+1
| | | | | | | | | | | | | | | | Use the preview together with 3d runtime crashes at calling m_currentWindow->framePosition. Change-Id: I582f1bc5e17b24020a95f955752f0ada376289bf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Make QtDeclarative work for the no-thread configMorten Johan Sørvig2018-09-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Force use of the basic render loop, adapt qqmlthread and qqmltypeloader to work on a single thread. Disable components and features that require worker threads: qmldb_server, worker script, shapes, folderlistmodel, threaded render loop, software renderer. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: I77d965947f684f8b7d19284b5decd893395316cb Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | WebAssembly for QtDeclarativeMorten Johan Sørvig2018-09-051-1/+1
| | | | | | | | | | | | | | | | This is the squashed diff from wip/webassembly to 5.12. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: Ieef34accefef38018a66d3c39bfacb825af4bea6 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Use nullptr instead of 0Jesus Fernandez2018-08-161-1/+1
| | | | | | | | | | Change-Id: I028fc16b0e0f06efc1738a07a76c43379d07371d Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* | Simplify ObjectIterator::nextLars Knoll2018-08-042-15/+10
| | | | | | | | | | | | | | Use PropertyKey instead of two out pointers Change-Id: I4f57bcb36fd412f19f0ed116042f7b094b5785dc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Preview: Use QTranslator::install(QLocale, ...)Kai Koehne2018-08-034-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | See commit e6f6c4aee6951a for the matching change in QQmlApplicationEngine. Also needed to adapt the autotests, since qt_QT is not (yet) a valid locale. Task-number: QTBUG-69196 Change-Id: If92156abbb3e20042a934b8150a8f456d8f770b6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Tooling: Allow QML preview to change the languageUlf Hermann2018-07-204-1/+56
| | | | | | | | | | Change-Id: I9afc5a0e1c7807f19dfcca1270267bbf7f718903 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Preview: Remove RuntimeLocation from auto-blacklisted pathsUlf Hermann2018-07-201-1/+0
| | | | | | | | | | | | | | | | On windows this is the user's home directory. We don't want to blacklist that ... Change-Id: I76705fb8344d3d91a3a36ba86407f235d1116bcb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4 Debugger: Add command to change break pointsUlf Hermann2018-07-191-47/+87
| | | | | | | | | | | | | | | | | | | | | | The function to do so has been around for a long time. Finally expose the functionality to the client. It doesn't make much sense to allow the client to set the initial enabled/disabled state, but not to change it later. Task-number: QTCREATORBUG-20795 Change-Id: Ie2cb01ca3ca5578b6bc85650d7ee38d0aad9bbab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4 Debuger: Drop namesAsObjects optionUlf Hermann2018-07-184-87/+11
| | | | | | | | | | | | | | | | There is no client that uses this anymore, and dropping it allows us to eliminate a lot of code. Change-Id: I6b09669c9dd7fcf9c2d249f133bfbb78d2b6f7f4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4 debugger: Drop redundantRefs optionUlf Hermann2018-07-186-107/+13
| | | | | | | | | | | | | | | | No client is using this anymore and we can eliminate a lot of code this way. Change-Id: I454581928fe88e59cd28738c4f7fddd060999181 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove references to V8 from V4 debug service internalsUlf Hermann2018-07-182-63/+63
| | | | | | | | | | | | | | | | For years no one has checked if this is still compatible with the V8 protocol. Let's assume it isn't and move on. Change-Id: I4c4125eba2d8d3ecc4d73bba14a7638e409f6b5b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Preview: Add a frames per second counterUlf Hermann2018-07-184-7/+60
| | | | | | | | | | | | | | | | It is instructive to the client to know how many frames per second the current QML can achieve in the preview. Change-Id: I8b73e2b5218410d903a07dfe27c038663c84fdee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-161-9/+34
|\| | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickloader.cpp tests/auto/quick/qquickanimations/tst_qquickanimations.cpp Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
| * QML Debugger: Check in time if values can be saved to QDataStreamUlf Hermann2018-07-101-9/+34
| | | | | | | | | | | | | | | | | | If you feed something non-saveable to operator<<() the application will crash. Task-number: QTBUG-69316 Change-Id: I9fe5f83a9eb49e5bde3002c0a5dda4206470c644 Reviewed-by: hjk <hjk@qt.io>
* | QML Preview: Add heuristic for auto-loading the root componentUlf Hermann2018-07-132-0/+16
| | | | | | | | | | | | | | | | | | | | This allows the client to skip the initial "Load" command if the first .qml file loaded is the source for the root component. Furthermore, it can just pass an empty URL to Load in order to have the service reload the last loaded URL. Change-Id: Iae5b9bdd20dbc8a772f46d97f91adf7092df1ef3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Preview: Blacklist paths ":/qgradient" and "/etc"Ulf Hermann2018-07-131-0/+4
| | | | | | | | | | | | | | | | | | | | ":/qgradient" is where the new webgradients introduced in QBrush are stored. We don't want to load them from the client. Replacing target-specific files in /etc with files from the host is also a bad idea. Change-Id: I3228388713dec29dad1841aedb175dca10cfe1e1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Tooling: Add QML preview debug serviceUlf Hermann2018-07-1317-1/+2097
| | | | | | | | | | | | Task-number: QDS-181 Change-Id: I02193afb84aa111792d8bebff3bdd9b410f9db5a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Unify the get and getIndexed vtable functions of QV4::ObjectLars Knoll2018-07-022-3/+3
| | | | | | | | | | | | | | | | This finalizes the refactoring of Object's vtable API. Also added the receiver argument to the method as required by the ES7 spec. Change-Id: I36f9989211c47458788fe9f7e929862bcfe7b845 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Unify put and putIndexedLars Knoll2018-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | Pass an Identifier through those virtual methods to unify the string and integer based versions. Also add the receiver that's required in ES7 Change-Id: I4e7f01b4c97cc80bcb3c485f6343f28213dc9e6b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devUlf Hermann2018-06-251-5/+16
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp src/quick/handlers/qquickhandlerpoint.cpp src/quick/handlers/qquicksinglepointhandler.cpp tests/auto/qml/ecmascripttests/test262 Change-Id: I8908ec8c6116ca626fbd269af7625d4c429429ca
| * PacketProtocol: Explicitly transmit packet sizes in little endianUlf Hermann2018-06-221-5/+15
| | | | | | | | | | | | | | | | | | So far the protocol would fail if the endpoints have different endianness. Task-number: QTBUG-68721 Change-Id: Ib53894b1e2f3eecf40160bb7bb9cfaa4beb2c045 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devSimon Hausmann2018-06-191-3/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp src/qml/compiler/qv4codegen.cpp tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp Change-Id: I010505326d76ee728ffe5fbd4c7879f28adadb12
| * Tooling: Fix integer range checksUlf Hermann2018-06-061-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The packet protocol should check if the number of bytes to be read is positive. Also, a Q_ASSERT on the return value of read() is too brutal. The device can have failed for any number of reasons and we don't want to crash the application because of that. Finally, the number of bytes to be read includes the bytes read to determine the number. Make that clearer by subtracting the actual count, not sizeof(qint32). The check in QQmlProfilerTypedEvent 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: I48c8c47e4207abae6e718eea97815d43e7f9d833 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-261-26/+37
|\| | | | | | | Change-Id: I626068886d4440b569dbeb1789b1ebfa480000c5
| * QML Debugger: Don't crash when encoding JSON dataUlf Hermann2018-05-251-26/+37
| | | | | | | | | | | | | | | | | | Apparently QVariant::save cannot deal with QJsonObject and friends. Transform them into QVariants before sending them over the wire. Task-number: QTBUG-68474 Change-Id: I8fc9fade4915c2b40f8d16aea51ea6ff65247dc1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLars Knoll2018-05-242-30/+27
|\| | | | | | | Change-Id: I0127f2c16de1d930bdd8cbccd42ec6785f31ab96
| * V4 debugger: Allow retrieval of non-CallContext scopesUlf Hermann2018-05-232-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to encode the scope type properly and we need to return something from the "scope" command. Previously the client didn't even get notified about QML contexts and couldn't actually retrieve anything but call context. The other scope types are not terribly interesting right now, but at least for the global context it should be possible to provide more data in the future. Task-number: QTBUG-68218 Change-Id: I88d3dbc15a93f19b00f6f12365e4fb64ec78862e Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Ensure we have a lexical scope for global codeLars Knoll2018-05-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires a bit more work than simply pushing a new BlockContext for the lexically declared variables, as eval() and the Function constructor operate on the global scope (including the lexically declared names). To fix this introduce Push/PopScriptContext instructions, that create a BlockContext for the lexically declared vars and pushes that one as a global script context that eval and friends use. Change-Id: I0fd0b0f682f82e250545e874fe93978449fe5e46 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add support for horizontal gradients in RectangleMichael Brasser2018-05-032-4/+12
| | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick] Added support for horizontal gradients in Rectangle. Change-Id: I4feee8ec93d9fe75a9f91a7afbe33c8d4756cedb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Garbage collect identifiersLars Knoll2018-05-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implemented by storing a backpointer to the Heap object in the identifier. Since identifiers now point back to their originating String or Symbol, we can now easily mark all identifiers that are still in use and collect those that aren't. Since Identifiers are 64bit also add support for holding an array index in there. With that an identifier can describe any kind of property that can be accessed in an object. This helps speed up and simplify some code paths. To make this possible, we need to register all IdentifierHash instances with the identifier table, so that we can properly mark those identifiers. Change-Id: Icadbaf5712ab9d252d4e71aa4a520e86b14cd2a0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Use Identifier by value and don't new them anymoreLars Knoll2018-05-022-2/+2
| | | | | | | | | | Change-Id: Ib25c08027013217657beb2675dafa9a8c85cbaf9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Rework catch context handlingLars Knoll2018-05-021-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove the need for a specialized catch context, instead use a regular block context, that also captures the catched variable. This also removes the need to do lookups by name inside a catch expression. Change-Id: I8b037add7f423922e2a76b4c0da646ca7e25813a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add support for proper lexical scopingLars Knoll2018-05-021-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This is still to some extend work in progress as lexically scoped for loops won't yet do the right thing. let and const variables are still accessible before they are declared, and the global scope doesn't yet have a proper context for lexically declared variables. Change-Id: Ie39f74a8fccdaead437fbf07f9fc228a444c26ed Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove the QString member from IdentifierLars Knoll2018-05-022-2/+4
| | | | | | | | | | | | | | First step to turning identifier into a simple int. Change-Id: I4988587aa61f1f02ed80426ccbf00b685f38c829 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Rename the CompilationMode enum to ContextTypeLars Knoll2018-05-022-2/+2
| | | | | | | | | | | | | | | | | | And make it an enum class. The new name fits better, as it's mainly used to determine the type of the context when parsing. Also already added the 'Block' value that will be needed. Change-Id: I70d963b6a0b22db1a3c607cce6bdd2054b29e000 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>