| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-64674
Change-Id: I48ed1a51f66ef8d55cc026f140d270baaca04fbf
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
We should not operate on invalid QML contexts and once we have
established a context to be valid we don't have to check the result of
QQmlContextData::get anymore.
Change-Id: I9106115ddf925c3572048f1fd334bdfd9a9cfca7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If the "Waiting" output appears before we wait, the event loop could run
forever. Also, the timeout of 5s was too low. We increase it to 15s.
Remove the blacklists and other workarounds in turn.
Task-number: QTQAINFRA-1334
Change-Id: Ib1032a8e57ab8dada3e56163ebab1523a7357aeb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Capturing the output of the started process mysteriously fails on
Windows with gcc. While the nested event loop is run, the readyRead()
signal is never emitted. Only after the timer fired and the event loop
is terminated, we receive the output we were expecting.
Some tests needed adapting to the initializing sub-function failing in
QVERIFY/QCOMPARE calls, in order for the process to not crash and the
blacklisting to work.
Task-number: QTQAINFRA-1334
Change-Id: I4804d94580e7db65595137d19d7b75d75c243257
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The old calling convention used for builtin functions is very
inefficient. It was still being used in a few places. Clean
those up and convert them to the new and much more effiecient
calling convention.
Change-Id: I6b769c6185df7e9be1e80709330fc1ca868576c1
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We always want to place the jump on the last line of the conditionally
executed statement, unless we might never execute the last line.
In the latter case, that is if the inner statement is again a
conditional, we use some token of the outer condition. This works fine
with loops, as the loop condition is actually checked after each
iteration, and it's plausible to the user that we jump there.
With "if" statements, it's not so great. We cannot really explain why we
jump back to the "if" token after executing the conditional statement.
However, we have to add some source location to the jump instruction as
otherwise it uses the source location of the last statement that had
one, which is rather random.
Task-number: QTBUG-59204
Task-number: QTBUG-59774
Change-Id: I48e331ce1c1830f236e16b75c9201a2f490d2092
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
QQmlMetaType::prettyTypeName() does a better job in finding a valid type
name for our objects than we can do ourselves.
Task-number: QTCREATORBUG-17741
Change-Id: Ie8a192aceb230e73b5295b745987692548aff641
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
QtInfoMsg > QtFatalMsg, and it was added later.
Change-Id: If565ebd491aba57b162c7f8ddb5534e416f7ab44
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Large parts of the protocol are unnecessary. There is no reason to send
a separate chunk of "handles" with almost every reply. The refs are
given as part of the regular data and if the client wants to find out
more, it can do further lookups. Also, it makes no sense to encode the
function and script names as objects, as they are in fact not JavaScript
objects.
Unfortunately these cleanups require some cooperation from the client.
Older clients will misbehave if we just drop the redundancy. Therefore,
we introduce parameters which the client can explicitly set with
the "connect" message. redundantRefs tells the service if redundant
references are required, namesAsObjects tells it if script and function
names have to be sent as objects/
Once we can require clients that support these options, we can drop the
code that generates redundant data.
Also, fix tst_qv4debugger::evaluateExpression() to actually check all
the expressions evaluated, not only the first and second one.
Task-number: QTBUG-42435
Change-Id: If93d2a2b9d0b8035f85dbef871bc1b03f199171d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-59204
Change-Id: Id1a73b228cd3386c7fcc7712c2485f387238b65e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise it will assume the last statement as the location of the
jump, and that might be a statement that is never hit.
Task-number: QTBUG-59204
Change-Id: I66019a284b061358939b23e649ca0832b5442388
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
The last instruction is a return, which leads to an invalid context.
Don't try to save that context, but rather clear the current one.
Change-Id: I468b7420c4ca0842209c9b00478f99cc4dc69726
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't exactly know when the animation speed is actually set and the
system clock may play tricks on us. Consider the test failed when the
wrong animation speed is witnessed 3 times in a row and successful if
the correct one is witnessed 3 times in a row. Also, make sure we don't
confuse lines from different hits of the timer.
Task-number: QTBUG-58186
Change-Id: Iaa2c35f723a92f32131e36084399b3d32accb7d0
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I9d87ed86e95b5901a86cc3aa65d7ac39b0b708c2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have to call the QQmlEngineDebugService back from QQmlObjectCreator
rather than QQmlComponent, as there are more ways to create an object.
We also add the new instance to the global instance list if only the V4
debug service is active, as both QQmlEngineDebugService and
QV4DebugService use it.
Change-Id: I5dcc71b2e91049bc19ec70d7b87959a61c9b6b75
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp
src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp
src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp
src/qml/qml/qqmlimport.cpp
src/quick/items/context2d/qquickcontext2dtexture_p.h
tools/qmleasing/splineeditor.h
Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
|
| |
| |
| |
| |
| |
| |
| |
| | |
Instead use QT_CONFIG(foo). This change actually detected a few
mis-spelled macros and invalid usages.
Change-Id: I06ac327098dd1a458e6bc379d637b8e2dac52f85
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Interpret the "context" option as an ID for a QObject whose QML context
is then injected when evaluating the expression. The QObject needs to
be tracked by some other debug service for this to work, e.g. the QML
debugger or the inspector.
Task-number: QTCREATORBUG-17177
Change-Id: I6a9e8b9ae23e8bb67ed1905a2ef73f7c4faeb990
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With this change arbitrary debug connector plugins can be loaded by
specifying them in the "-qmljsdebugger=..." argument. It was already
possible to load them by using startDebugConnector(...), but that
requires source code modification.
Change-Id: I06ec7f54ec65add7cff2846ed4083ea878a04765
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
|
|
| |
So far the local client connection would give up if it could not
connect to the server on the first try. Considering that you cannot
reset the connection, this is very harsh. Instead, retry on failure.
Change-Id: I68464b7b99b94a4b0fb2722d718a43a1c0889f40
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
| |
Most of the changes are optional, but cleanup our QT_CONFIG
usage.
Change-Id: I5253d53f72f6fb03c2cfedae1e17d94f424a6bbb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
Use delete[] on a new[]-ed pointer.
Change-Id: Ic5721851bdcec284cdd631b81d2cc96b7a1748fc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickshadereffect.cpp
5.7 had a bug-fix in code dev has replaced wholesale.
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
One side changed a method's signature; the other side renamed a method
declared adjacent to it and changed some code using it, moving some
from the public class to its private partner.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side added a blank line before a comment the other re-wrote.
Kept the re-write, killed the stray blank.
.qmake.conf
Ignore 5.7's change to MODULE_VERSION.
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qqmlpropertyvalidator.cpp
5.7 changed code in the former that dev moved to the latter.
Reflect 5.7's changes there, adapted to dev's form.
src/qml/qml/qqmlobjectcreator.cpp
One side added new QVariant types; the other changed how it handled
each type of QVariant (without git seeing any conflict); adapted the
new stanzas to work the same as the transformed ones.
tests/manual/v4/test262
dev had a broken sha1 for it; so used 5.7's 9741ac4655808ac46c127e3d1d8ba3d27ada618e
Change-Id: I1fbe2255b97d6ef405cdd1d0cea7fab8dc351d6f
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/quick/demos/photoviewer/deployment.pri
One side made it redundant; the other removed part of it; remove it all !
src/quick/scenegraph/util/qsgatlastexture.cpp
One side changed a preprocessor condition, the other a code condition,
on adjacent lines; keep both changes.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side changed a condition, the other the content of its block; keep both.
Change-Id: Idb8937f92a7edb28212449dfe0c5cfdb8e6de986
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The scene graph might decide to do an initial rendering, before the
first SceneGraphContextFrame.
Change-Id: Ie6d96574b5585cfda4dcd258b6031303f9a37715
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some of the adapters immediately return dataReady() when reportData()
is invoked. This means that there is only one adapter in the start
times list then, which in turn causes all the data from that adapter
to be sent at once, without caring for the other adapters' timestamps.
Change-Id: Ic1e12fdcefb0a691067518fba100368f13c927f7
Task-number: QTBUG-53590
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will allow us to #define them away on -no-qml-debug, saving two
pointers per engine.
Change-Id: I400cffd32cd7f55ff0e68565734b6002b9f901d5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6746b777f73d047f5cf610bfca9b320ac1e13676
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Timestamps should always increase monotonically.
Change-Id: Idfd44e160193aab7bce37b58bc42a94ff087d15e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\ \ \
| | | |
| | | |
| | | | |
Change-Id: If91e0e28d004f1db978dcab393f189743bb69cd5
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/jsruntime/qv4engine_p.h
src/qml/jsruntime/qv4runtime_p.h
src/qml/qml/qqmldelayedcallqueue.cpp
src/qml/qml/qqmlvaluetypewrapper.cpp
src/qml/qml/qqmlvmemetaobject.cpp
src/qml/qml/v8/qv8engine_p.h
tests/auto/quick/qquicktext/tst_qquicktext.cpp
Change-Id: I3f0608c7beb88088cbbef4d0db59920f56deaea9
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
All other changes are just to be able to include qv8engine_p.h in
qv4engine_p.h
Change-Id: I71ba2ec42cdc20d5c7d97a74b99b4d1ada1a5ed8
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/quick/items/qquickopenglshadereffectnode.cpp
src/quick/items/qquickshadereffect.cpp
src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
src/quick/scenegraph/qsgdefaultglyphnode_p.h
Change-Id: I3d6874b4e4231a89d2836c04fe8e7f2ef2d698c4
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This enables some of the tests to run in QML-only environments, without
QtQuick.
Change-Id: Icc7250b6ddab43730cb4744ffc4e0bade8574d26
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|/ / /
| | |
| | |
| | |
| | | |
Change-Id: I4154084b4a0e0709ee8cb39a856a37a611e2d537
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: I48c493b537e65276107ed7ee029312e294947e8b
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Subjects each *.png file that matched grep -law "sRGB" to:
pngcrush -ow -brute -rem allb -reduce
Various tools grumble about sRGB tables in PNG images; and our
handling of them doesn't pay attention to these, so purging them
makes the images smaller with no loss to the images.
Change-Id: I9e4dc3aec97cd32bc8ac216fadeaf7669c49647c
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia85ced87b9cb0ad2093bdfc4abcf222929bc8bd5
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Remove #ifdef sections for Q_OS_WINCE and wince .pro file clauses.
Task-number: QTBUG-51673
Change-Id: I33ab74f0c2ce9086c3610c5fa727f281197b6b55
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't need to pass engines around as the data collector already has
all the necessary information. Also, the exception collect job is only
used in the test case, so we don't need to define it in the collector.
Change-Id: I9e9f092a10295e3dc970f7b5f440e8f242ea1d54
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To avoid interaction with the engine from the debugger thread we
move the value lookup functionality into the data collector, and
drop the RefHolder. Also, we define some more debugger jobs to
move the work the request handlers do into the GUI thread.
Task-number: QTBUG-50481
Change-Id: Id93548dc65133246deac71f73188c715e9dc01e4
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: I3c826a7b3ee9ff66fac89a7a3d6f0e7057f03eed
Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The inspector service had bitrotted to a point where there was little
code to be rescued. Apparently it was never really finished and quite
some code didn't make any sense. This change removes some features
that were unused or didn't work correctly:
1. Panning and Zooming with mouse wheel and touch interaction. This
might be useful in some contexts, but the implementation was so broken
that it wasn't worth trying to fix it. The whole idea of doing this on
the layer of QQuickItems is not so great because there is no
distinction between spontaneous changes triggered by the application
and debugging interaction triggered from outside. It might be better to
implement such functionality on a lower level, e.g. in the renderer.
2. Reloading the scene with debug changes. Use one of the other debug
services to change properties. Clearing the component cache is a rather
drastic measure and not necessary here.
In turn, we get support for inspecting multiple windows, and all
subclasses of QQuickWindow are supported now. Also, show-on-top works
now.
Task-number: QTBUG-33376
Change-Id: I65497f49c6b46128a600b0e3a31483eeef40313c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
We don't want to replace the system environment, but rather add to it.
Change-Id: I0a498682f8f70dc349c529fa4fc3d76ccb815af8
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the code more readable and allows us to keep the data
collector as value, rather than pointer, in QV4Debugger.
Change-Id: I2939c2b2f551111139f1dc34704a6029e87a66bf
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we can evaluate expressions without pausing, we might as well
test for that. The race conditions should also be resolved by now.
Clarify the reason why the break-on-attach test cannot work (so that
whoever tries to fix it the next time doesn't have to figure it out
for the (n+1)th time) and remove some dead code.
Change-Id: Ib1aab03d40779c6876db914b852f05061a2be046
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can schedule jobs into the GUI thread just fine, even if the
debugger is running. They will run in global scope then. The only
restriction is that we need exactly one engine to be running in order
to do that, as otherwise we cannot decide which engine to use.
To avoid interaction with the engine from the debugger thread we
move the value lookup functionality into the data collector, and
drop the RefHolder.
Change-Id: Ifae124d70f42e488ed9a1b6794baef638992ddb1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Whenever the debugger is paused, there is exactly one engine that
caused the debuggerPaused() slot to be called. We can only interact
with that engine in any meaningful way.
Of course you can shoot yourself in the foot with this tool. You can,
for example, set a breakpoint that will be hit by multiple engines and
then get confused about which engine just hit the breakpoint. Similar
things are also possible with other kinds of debuggers, though. If this
becomes a problem we can add an engine ID to the responses.
Also, this does not fix the other debug services. So you might still
not see the "correct" locals and expressions from the
QQmlEngineDebugService while the debugger is not paused.
Task-number: QTBUG-49615
Change-Id: Ie044f0aedb51481c4cf851635d7c12839251cbd0
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|