Philippe Coval [Mon, 14 Apr 2014 15:25:42 +0000 (17:25 +0200)]
packaging: ship examples subpackage for sample qml demos
Change-Id: I145de824e94d85c7cc22dee075cfc3138237af88
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
Tomasz Olszak [Tue, 11 Mar 2014 10:17:11 +0000 (11:17 +0100)]
Bump package version to 5.2.90+alpha
Tizen-Bug: TIVI-2416
Change-Id: If1cb1214af839c53065eea6d137a3e807d35cf81
Signed-off-by: Tomasz Olszak <olszak.tomasz@gmail.com>
Tomasz Olszak [Tue, 28 Jan 2014 22:19:20 +0000 (23:19 +0100)]
Bump package version to 5.2.2
Tizen-Bug: TIVI-2416
Change-Id: I22274ead6015c2a3ab470f3f9bd7b09e44a52a1f
Signed-off-by: Tomasz Olszak <olszak.tomasz@gmail.com>
Tomasz Olszak [Tue, 17 Dec 2013 21:31:43 +0000 (22:31 +0100)]
Bump package version to 5.2.1
Change-Id: Ia11f37037f55b1572e0700ee315bcfa069c3f38a
Tomasz Olszak [Thu, 5 Sep 2013 22:30:52 +0000 (00:30 +0200)]
spec adapted for Tizen
Tomasz Olszak [Thu, 5 Sep 2013 22:29:53 +0000 (00:29 +0200)]
Import from Mer
Simon Hausmann [Thu, 3 Sep 2015 11:32:24 +0000 (13:32 +0200)]
Temporarily blacklist importsPath change on Windows
The test started failing with no changes in declarative, so the best theory at
this point is a networking related change in qtbase.
Change-Id: If361253847d781126d3877080648f5ccc07808cd
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Shawn Rutledge [Fri, 21 Aug 2015 14:24:52 +0000 (16:24 +0200)]
Photosurface demo: add Shortcuts for open and quit, tooltip for open
Demonstrates the new Shortcut.sequenceString property.
Change-Id: I6c523a46b595610b310070214c31f3fbd79a3d28
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Shawn Rutledge [Fri, 7 Aug 2015 08:52:36 +0000 (10:52 +0200)]
Shortcut: add sequenceString property
If you set sequence to a StandardKey, then read back the property,
you will get an int, which is not suitable for display.
Now you can use sequenceString for tooltips, preference dialogs
for setting shortcuts, and such.
[ChangeLog][QtQuick] Added Shortcut.sequenceString property to read
back the key sequence as a displayable string
Change-Id: I63ee46f8a2c2da1b1c803282baa894fb1667fe67
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Simon Hausmann [Wed, 2 Sep 2015 15:19:03 +0000 (17:19 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: Ibc7a47f7ce6d15dff79fdc59f8ded297d1b8d50d
Mitch Curtis [Tue, 25 Aug 2015 13:43:56 +0000 (15:43 +0200)]
Don't consider QLocale a value type.
This fixes a regression where all of the properties of
Qt.inputMethod.locale were undefined.
Change-Id: Id33890a78296709baad6aeda96d74ca8cb39c61d
Task-number: QTBUG-47916
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Nico Vertriest [Tue, 21 Jul 2015 09:03:42 +0000 (11:03 +0200)]
Doc: broken links and missing doc for functions
Task-number. QTBUG-43810
Change-Id: I14e03317d7470f33a899ba05b62b3d68fdb03734
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Marco Benelli [Thu, 23 Jul 2015 08:39:25 +0000 (10:39 +0200)]
Warn if a composite type is not ready and continue.
Change-Id: Ib28f484188466831e4c64aee0e36a27dd4842b06
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
J-P Nurmi [Sat, 29 Aug 2015 16:35:12 +0000 (18:35 +0200)]
Doc: fix the "Grouped Properties" example snippet
Change-Id: Id41084b5abd7a83aab519a73b7377deb30302511
Task-number: QTBUG-48009
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Simon Hausmann [Fri, 28 Aug 2015 04:57:18 +0000 (04:57 +0000)]
Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6
Julien Brianceau [Thu, 27 Aug 2015 12:37:50 +0000 (14:37 +0200)]
XHR: Server side errors are not network errors
XMLHttpRequest specs state that only 'network errors' should result
in a request error, and a server side error like HTTP 500 Internal
Server Error (which results in QNetworkReply::InternalServerError)
is an indication of the HTTP server response rather than a network
error.
Change-Id: I94bf678a8487e3d31007dc5119d6fb4e87ea3102
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Valery Kotov <kotov.valery@gmail.com>
Topi Reinio [Tue, 25 Aug 2015 12:31:59 +0000 (14:31 +0200)]
Doc: Rename sections in Touch Interaction example documentation
A section title 'Flickable' caused mislinking when using
\l {Flickable}, and the intention is to link to the
Flickable QML type reference.
Change-Id: I2945fc675f0adcf0fe97d1d5f2ed0301c6e9f64b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Simon Hausmann [Tue, 25 Aug 2015 08:48:33 +0000 (10:48 +0200)]
Fix sha1 of test262
While .gitmodules was pointing at the new URL, the sha1 for the submodule
was pointing to the old github repository.
Change-Id: Ie0b9f39e13a6e759249aaaf0e90c5a242bb36134
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Thomas Hartmann [Tue, 25 Aug 2015 07:08:58 +0000 (09:08 +0200)]
Fix warning in tst_qquickdesignersupport.cpp
Taking the address of a temporary is not allowed.
It is against the standard to pass a non-const reference
to a temporary object.
Change-Id: Ib333fa9a366725b8f0491a4216597fa5baeef7ff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Lars Knoll [Fri, 7 Aug 2015 06:46:26 +0000 (08:46 +0200)]
Fix compiler warnings on recent clang
Add some Q_DECL_OVERRIDE and a cast
Change-Id: I834d16049805b5fc6e64a64d26cd6c92ac873163
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Fri, 14 Aug 2015 07:20:42 +0000 (09:20 +0200)]
Create less BindingWrappers
Instead create QmlContext's directly as they are the only
thing used from the binding wrapper.
Change-Id: If3a987134dee9e85b6a76ed74aacd76b19279117
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Thu, 13 Aug 2015 20:08:49 +0000 (22:08 +0200)]
Fix autotest
The test was not getting a new warning as assumed, but still
reading the old warning from a few lines before. This mirrors
the intended behavior.
Change-Id: I7211923e378db34cdc5f8c1c78f3cfb1bea548d2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Thu, 13 Aug 2015 16:14:52 +0000 (18:14 +0200)]
Remove this piece of code
This was required with the old v8 engine, but removing the
lines doesn't seem to cause any regressions in our tests, so
let's get rid of them, and have proper JS scoping rules
in place.
Change-Id: Ib22b4e820bceff9fe26291dae1bf7b55b12a5cde
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Thu, 13 Aug 2015 16:15:43 +0000 (18:15 +0200)]
std::sort JS profiling data instead of insert-sorting it
The original FunctionCall struct is much smaller than the resulting
FunctionCallProperties, and thus not as expensive to copy. Repeatedly
calling upper_bound on a QVector is not such a great idea, either.
Since the usage of QVector instead of QList for the results is new
in Qt 5.6, the insert-sorting got slower, making this change a fix
for a performance regression.
Change-Id: I7154d8cf129b7fbe6e02424fbe16442042a5c3c2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 11 Aug 2015 10:47:28 +0000 (12:47 +0200)]
Fix profiling of QML/JS compilation
The compilation of .js resources was missed and the compile times were
underestimated because the dependency resolution and error checking
wasn't factored in. In particular we only profiled the done() step for
QQmlTypeData. However, JavaScript compilation also occurs in the
dataReceived() step of QQmlScriptBlob and QQmlTypeData will already
parse the program into an AST at that step.
Compile steps can be nested now, but considering the fact that
significant time may be spent before and after compiling dependencies
for a parent module, this seems to be the best way to model them.
Furthermore, in order to not needlessly convert QUrl to QString at
runtime, the compilation profiler saves the files now as QUrl.
Change-Id: I215a87787f9117c069ecd77b2d913cc0b0ff3c89
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Laszlo Agocs [Mon, 24 Aug 2015 13:29:03 +0000 (15:29 +0200)]
Fix hue clamping in Context2D
It goes from 0..359, not 0..255.
Task-number: QTBUG-47894
Change-Id: I0612a9d5e4999afae7703b5c49741b94fb0da07f
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Simon Hausmann [Mon, 24 Aug 2015 10:38:18 +0000 (12:38 +0200)]
Fix incorrect signal emission for QML declared properties
After commit
6cd0001054faa9c7c20dcd5e9c7512367b2c1f5f we also need to remove
the special var handling for signal indicies assigned to QML declared
properties, in order to emit the right signal when the property changes.
Change-Id: Ibdaba0435d8878e1e16dabe20559c484b217d82a
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Lars Knoll [Mon, 24 Aug 2015 08:42:18 +0000 (10:42 +0200)]
Make iteration over persistent values safer
This makes it safe to destruct persistents while
we are iterating over them.
Change-Id: I8797d0c553d3201859cdf03fb25df28836e55691
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Simon Hausmann [Sun, 16 Aug 2015 13:26:40 +0000 (15:26 +0200)]
Fix use of function expressions with signal handlers
Writing
onClicked: function(mouseEvent) { ... }
would get silently "accepted" by the engine, but it wouldn't do anything. We
basically wrapped it in a new function, so that it became
onClicked: function(mouse){ function(mouseEvent() {} }
which is a noop. With older versions this used to produce a syntax error.
However the better fix is to simply support this kind of assignment for more
expressive signal handlers, because now the names of the signal parameters can
be explicitly named (with names of your choice).
Change-Id: I96369f8805fab97509784222f614ee17cf681aba
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Robin Burchell [Tue, 28 Jul 2015 12:41:31 +0000 (12:41 +0000)]
Implement support for providing information to Linux's perf JIT interface.
For more information on what this is, see:
https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/jit-interface.txt
[ChangeLog][QtQml][Profiling] QtQml can now write additional information so that
perf is able to give function names of JavaScript methods when profiling. To
enable this, set the environment variable QV4_PROFILE_WRITE_PERF_MAP=1 when
running the process in question.
Change-Id: I187c9b0792f40d93c89a986c0edb3c4487095cb7
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Liang Qi [Fri, 21 Aug 2015 13:18:07 +0000 (15:18 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
tools/qml/main.cpp
Change-Id: I6d521b21be85d91ebb96c28e2c64186f02d94842
Gabriel de Dietrich [Thu, 2 Jul 2015 16:20:41 +0000 (18:20 +0200)]
Add isTabFence private flag
When an item has this flag set, the user can't
tab-navigate either out of it, or enter it.
We use this flag to implement QQuickPanel as an
item for platforms that only support one single
top-level window.
Change-Id: I1f4313912ae1c70217af0d4d21064932b50a9438
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Friedemann Kleint [Thu, 20 Aug 2015 09:50:59 +0000 (11:50 +0200)]
Remove unused member variable QQmlDebugServerThread::m_block.
Fix CLANG build error:
qqmldebugserver.cpp:115:10: error: private field 'm_block' is not used
[-Werror,-Wunused-private-field]
bool m_block;
Change-Id: I3be87c1ec0347b46e90e40c8769aeb507cf22c26
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Mitch Curtis [Thu, 20 Aug 2015 06:48:04 +0000 (08:48 +0200)]
Don't try to link to SQLite plugin when building samegame statically.
Disable the linking to a SQL driver that isn't a plugin
Task-number: QTBUG-42926
Change-Id: I6d51fce7bb924d8b778fe36fa9f908c6fda3da13
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Lars Knoll [Thu, 13 Aug 2015 06:14:37 +0000 (08:14 +0200)]
Remove unused pointer to the context wrapper
THe binding wrapper doesn't use that pointer anymore.
Change-Id: Ie04fff448b9647927219936a62c67ac0b4853eec
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Wed, 12 Aug 2015 13:08:54 +0000 (15:08 +0200)]
Cleanup qmlcontextwrapper usage in XHR
Get rid of the static getContext overload and
simplify the signature of the dispatchCallback
method in XHR.
Get rid of the m_me object, and instead store a
pointer to the thisObject and the context data
directly.
Turn all internal errors into assertions.
Change-Id: I5427b2009c64f54b67cce1c130eace47201624bd
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Wed, 12 Aug 2015 12:14:40 +0000 (14:14 +0200)]
Move the qmlSingletonWrapper method out of the contextwrapper
One more step towards removing the class alltogether.
Change-Id: Ic9f6794eb3c5c6605ee43ad23a6d432ebbf321a1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Wed, 12 Aug 2015 12:02:19 +0000 (14:02 +0200)]
Move the registerQmlDependencies method into QQmlPropertyCapture
This is where the method logically belongs, and removes one more
thing from the context wrapper.
Change-Id: Ibc076c9b31903a484ad4517402eca2a3b7f0d660
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Wed, 12 Aug 2015 10:15:47 +0000 (12:15 +0200)]
Use the QmlContext as the scope for QQmlV4Function calls
This further reduces our dependency on the QQmlContextWrapper
and reduces storage requirements in the QObjectMethod.
Change-Id: I2c12d0a8818d81d45139f482caac8510ad8dfddc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Gunnar Sletta [Thu, 20 Aug 2015 12:16:15 +0000 (14:16 +0200)]
Fix rendering to QQuickWindow::renderTarget.
When setting an FBO, the size of the window should be irrelevant,
so we need to use the renderTargetSize to specify the viewport and
device rect.
Change-Id: Id76736cfaf6c511439bb8af80e3c641025d9d547
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Miikka Heikkinen [Mon, 10 Aug 2015 11:33:14 +0000 (14:33 +0300)]
Add possibility to mirror ShaderEffectSource generated textures
Using textures generated by ShaderEffectSource items (or Item.layer)
with custom OpenGL code was non-intuitive due to mismatching coordinate
systems, so added a possibility to control the generated texture
orientation.
[ChangeLog][QtQuick][ShaderEffectSource] Added possibility to mirror
generated OpenGL texture.
Change-Id: I7c03d8b6fbfc43d69812c15d244200fb8e7c7bb9
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Robin Burchell [Fri, 26 Jun 2015 09:56:05 +0000 (11:56 +0200)]
QQuickImageBase: Use QUrl::path() instead of QUrl::toString().
This copies less data, which is faster. Increases creation/delegates_image from
560 ops/frame to 600 ops/frame for me.
Change-Id: I9c230bb9fa82fd631020881fb741857285589bca
Suggested-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Samuel Gaist [Wed, 19 Aug 2015 14:02:32 +0000 (16:02 +0200)]
Doc: fix verb redundancy
Change-Id: Ifa76a814dba5271b852c2eaf8a59a2ebb5aee808
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Kai Koehne [Tue, 18 Aug 2015 13:54:41 +0000 (15:54 +0200)]
qml: Don't build OpenGL support if OpenGL is not available in Qt.
This is an amended backport of change
668ccf18d in dev.
Change-Id: I168a4d5a55c34592599a557bef941ce1629c8178
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Lars Knoll [Tue, 11 Aug 2015 14:05:24 +0000 (16:05 +0200)]
Cleanup code in the VMEMO
Change-Id: Idc1da41586161f1c824c608198e232ba52a0d9d7
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Tue, 11 Aug 2015 13:43:30 +0000 (15:43 +0200)]
Hold a pointer to the QV4::ExecutionEngine in the property cache
This makes more sense than a pointer to the QQmlEngine.
Change-Id: Ic6037b0df63b6cf1585539bc3ac78822f0e69d02
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Tue, 11 Aug 2015 08:19:37 +0000 (10:19 +0200)]
Switch to the non compat metacall overload
This one passes in the qobject that the metacall
is being applied to. The long term goal is to make the
vme meta object independent of the QObject instance.
Change-Id: Ide34b8637b9963bdb5e87e4aa6e9c2ee825293f7
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Fri, 14 Aug 2015 16:10:38 +0000 (18:10 +0200)]
Clean up data format for V4 debug connection
This changes the type announced for functions to the actual JavaScript
type "function".
The type for null is also wrong: it should be "object". However, older
QtCreators cannot distinguish between null and {} if null gets the
correct type, unless you explicitly compare x === null in an expression
evaluator. For this reason the fake "null" type is kept for now.
Also, the value field of undefined is now set as QJsonValue::Undefined
which causes it to be omitted when sent over the wire. This is the
logical thing to do.
In addition we add type and value fields for all data members mentioned
in a response, not only the ones specifically asked for. The value
field is the actual value for any primitives (including strings), or the
number of properties for composite types: objects, arrays, functions. In
turn, the "ref" members are omitted for primitive types, so that we
don't have to hold references to them in the debug service anymore. Even
old QtCreators can deal with verbatim data members without "ref".
Task-number: QTBUG-47746
Task-number: QTBUG-47747
Change-Id: I773e6418c39cd9814aadb5fb5ef7e109f9a4e618
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 18 Aug 2015 09:14:56 +0000 (11:14 +0200)]
V4 debugger: Fix expression evaluation
We need to collect the refs in the debugService's list in order for
them to show up on addRefs() and we need to generate proper error
responses if either the debugger is not stopped or the evaluation
throws an exception.
Task-number: QTBUG-47797
Task-number: QTBUG-47816
Change-Id: I98f17c1f3976859ee50b9bfac41091276ff60982
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Mon, 17 Aug 2015 14:54:36 +0000 (16:54 +0200)]
V4 Debugger: Avoid special refs when looking up normal ones
The "values" of "special" refs are always JavaScript "undefined"s.
Thus, when trying to deduplicate an actual "undefined" we'd
accidentally hit the special refs. Avoid this by checking if a found
ref is special.
In an ideal world we'd get rid of the special refs altogether and
save QV4::FunctionObject in the values array, but that is not quite
trivial as long as the QV4::ExecutionEngine::stackTrace() doesn't
give us FunctionObjects.
Task-number: QTBUG-47788
Change-Id: Idf358c285f40930220fad2207c6ab5c9101573b2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Albert Astals Cid [Fri, 14 Aug 2015 12:51:34 +0000 (14:51 +0200)]
Improve QQuickImageResponse::textureFactory documentation
Change-Id: Id754f1f1454af566cb3cf20f5ca947f972ef2caf
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Albert Astals Cid [Fri, 14 Aug 2015 13:51:43 +0000 (15:51 +0200)]
Fix memory leak when QQuickPixmapReply::Event is delete before being used
It can happen that QQuickPixmapReply::postReply is called, and before
QQuickPixmapReply::event is called the object gets deleted. That means that
the texture factory will never be deleted.
To fix that we delete it in the destructor of QQuickPixmapReply::Event and set
it to 0 in QQuickPixmapReply::event after assigning to the next data structure
that will take care of it
Change-Id: Ibea62f5a10a53cca586de7c5f03f00aabfb88b2e
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Albert Astals Cid [Fri, 14 Aug 2015 12:49:54 +0000 (14:49 +0200)]
Fix memory leak when using async image providers
Change-Id: I08392ab0a3edb1ac162110ebc349ad457800c788
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Simon Hausmann [Fri, 14 Aug 2015 23:31:13 +0000 (01:31 +0200)]
Fix performance of ListModel::get()
When called, the function would return a full-fledged QObject that maps the
list element addressed. It would contain a _copy_ of all values in the list
item and it would create a new meta-object for each list element.
This function exists for the JavaScript API, and therefore we now return a much
more lightweight object. For compatbility reasons it still has to be a QObject,
but the meta-object of it is created on-demand, i.e. only when accessing
properties from the C++ side or when connecting to the changed signal of a
property. Otherwise the JavaScript wrapper will return the live values from the
model without copying them.
Change-Id: Iabf3ca22192d2aee06ae9d4b4cfb2fcde2a021b1
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Spencer Schumann <spencer.schumann@echostar.com>
Lars Knoll [Mon, 10 Aug 2015 12:49:07 +0000 (14:49 +0200)]
Fix test case
After the latest changes to the VMEMO, JS declared properties
will not be available after the engine is deleted.
Change-Id: Ifc6034bd0dff18d26863ca9bcf7a19e1c7d68ff6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Mon, 10 Aug 2015 11:39:32 +0000 (13:39 +0200)]
Get rid of special handling of var properties
These can be handled in a simple way now by using a special
propertyType value indicating that we have a var property.
Also remove the additional write calls in the different
readProperty implementations. If the stored data doesn't
match, we can simply return the default value directly.
Change-Id: I3823a971df24bd78f0acdc4c0042776277b3c55f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Lars Knoll [Mon, 10 Aug 2015 09:54:51 +0000 (11:54 +0200)]
Properly initialize the memberdata to undefined
This avoids running into assertions in other places.
Change-Id: Ia7f9dbdccdd6d3a338845754801e881d44efebb7
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 7 Aug 2015 21:14:21 +0000 (23:14 +0200)]
Use the proper static ValueTypeProvider as intended
This was triggering an assertion while running the
unit tests.
Change-Id: I53a0216a6861a7ab7e3ec89a2b8bda0605b38aaa
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 7 Aug 2015 20:55:52 +0000 (22:55 +0200)]
Remove special case for var properties
In the new world order all the properties are QV4::Values. Therefore
this special handling can be removed.
Change-Id: Ia4d703256db7330936cd16a835d16d140adfe20e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 7 Aug 2015 20:47:40 +0000 (22:47 +0200)]
Allocate a JS wrapper if there are any properties
Properties are now stored as QV4::Values.
Change-Id: I586ccacbeb3c131ff4af2e5913c484dc4f4b7462
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 7 Aug 2015 12:22:08 +0000 (14:22 +0200)]
Use QV4::MemberData for property storage
Unlike the Array type the QV4::MemberData can be sized exactly so no
memory is wasted.
Change-Id: Ia7b9b846a7b8017787324e5243ccf6233568d41c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 7 Aug 2015 09:10:19 +0000 (11:10 +0200)]
Update copyright notice.
Update the copyright notice on files containing larger changes from me.
Change-Id: I46cb83161331ef2f49a6ec92c078d6dc8019081e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Thu, 30 Jul 2015 20:54:17 +0000 (22:54 +0200)]
Remove QQmlVMEVariant specific workaround
A Q4x4Matrix wouldn't fit inside a QQmlVMEVariant. Therefore it was
wrapped in a QVariant.
Change-Id: I68864e456a4fd76143277d5a10d1a3f307e833f2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Thu, 30 Jul 2015 20:24:35 +0000 (22:24 +0200)]
Remove unused code
The QQmlObjectCreator is the only user left. It is using it only
with QVariant::Color.
Change-Id: I5091fd160841118bee5d6cf6e30798f66c277b69
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Thu, 30 Jul 2015 20:16:29 +0000 (22:16 +0200)]
Mark methods as overrides
Let the compiler help to catch interface changes
Change-Id: Ic4add183ca95ef287df41f35bd25c3e9eb15032f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Thu, 30 Jul 2015 19:57:24 +0000 (21:57 +0200)]
Also remove the QQmlValueTypeProvider::destroyValueType interface
After the removeal of the QQmlVMEVariant there is no user left.
Change-Id: I97224127aac57aba9a80827f9292018d03609b85
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 24 Jul 2015 18:57:17 +0000 (20:57 +0200)]
Remove the QQmlVMEVariant implementation
This code is now obsolete.
Change-Id: Id34e8663d0398286e8ce34db7d83c6957e779c30
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Sat, 25 Jul 2015 17:57:11 +0000 (19:57 +0200)]
Remove the QQmlVMEVariant array member
All properties have been move into the varProperties JS array.
Change-Id: Ib39a603d43ab5ef23aad3e6ccbdbc9b981c9da18
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Sat, 25 Jul 2015 17:43:43 +0000 (19:43 +0200)]
Adapt the ValueTypeProvider interface and port its types
The ValueTypeProvider system allows non-QML modules to add new basic
QML types. It needs to be changed when porting away from QQmlVmeVariant
as underlying type of properties.
Change-Id: I2b52d7e6f578647a39832896c28553404b9a679f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Fri, 24 Jul 2015 20:33:23 +0000 (22:33 +0200)]
Port QVariant away from QQmlVMEVariant
QVariants are now stored as QV4::VariantObject inside a javascript
array.
Change-Id: Idcc65eed6845b561038e224d74e5efdf0c9e1c28
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Mon, 20 Jul 2015 20:06:40 +0000 (22:06 +0200)]
Port QObject* away from QQmlVMEVariant
QObjects are now stored as QV4::QObjectWrapper in a javascript array.
This is part of a series of patches slimming down the memory usage
of QML properties.
Change-Id: I270831d0f0f7bc17842cd2f8d2eb9661e09a3364
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Mon, 20 Jul 2015 18:47:22 +0000 (20:47 +0200)]
Remove QQmlValueTypeProvider::copyValueType
While reworking the QQmlValueTypeProvider interface I noticed that this
code isn't used.
Change-Id: I30a279ffabf3a1c70eaa1327e69b774f5e5981f0
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Mon, 20 Jul 2015 18:35:34 +0000 (20:35 +0200)]
Port list properties away from QQmlVmeVariant
The index into the list of list properties (an int) is now also
stored as a QV4::Value.
Change-Id: I16809c5027ed3c4264aab6dfed8b4519adf83e2a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Thu, 16 Jul 2015 20:34:42 +0000 (22:34 +0200)]
Port QDate/QDateTime/QRectF away from QQmlVmeVariant
Store QDate/QDateTime/QRectF in a javascript array. The values are wrapped
inside a QV4::Variant. This is part of a series sliming down the memory
usage of properties.
Change-Id: I1b5c4e24c1e46d19c5c861941655efb7a972a6a5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Thu, 16 Jul 2015 20:04:39 +0000 (22:04 +0200)]
Port QUrl/QSizeF away from QQmlVmeVariant
Store QUrl/QSizeF in a javascript array. The values are wrapped inside
a QV4::Variant. This is part of a series sliming down the memory
usage of properties.
Change-Id: I62338fe7fe101496340a8d89f33030d0df5121b7
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Wed, 15 Jul 2015 21:13:48 +0000 (23:13 +0200)]
Store all properties in one Javascript array
Store both "normal" properties and var properties in the same js array.
The second array which is removed by this patch was scaffolding for the
initial brinup.
Change-Id: I24f72a1d880a54f68f5562e5077dbc26e7db864a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Tue, 14 Jul 2015 20:38:51 +0000 (22:38 +0200)]
Store int/bool/double/string and sizef as QV4::Value in a Javascript array
This is the first patch in a series of patches removing the QQmlVMEVariant
used for the storage of non-var properties. The overall goal is to reduce the
memory usage of QML. The QQmlVMEVariant has a size of 8*sizeof(void*) +
sizeof(int) which is quite an overhead for types such as int/bool or double.
Change-Id: I301661d134724300942911a3d75258fe45356a7a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Simon Hausmann [Tue, 18 Aug 2015 11:21:13 +0000 (11:21 +0000)]
Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6
Friedemann Kleint [Mon, 17 Aug 2015 15:08:26 +0000 (17:08 +0200)]
QmlDevTools: Define QML export macros as empty.
Since QmlDevTools is a static library, no exports
(Q_QML_EXPORT/Q_QML_PRIVATE_EXPORT) should be specified.
Fixes link errors in qmlimportscanner and lupdate
with MSVC2015:
Qt5QmlDevToolsd.lib(qv4value.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct QV4::VTable * __cdecl QV4::Heap::Base::vtable(void)const " (__imp_?vtable@Base@Heap@QV4@@QEBAPEAUVTable@3@XZ) referenced in function "public: bool __cdecl QV4::Managed::isEqualTo(struct QV4::Managed const *)const " (?isEqualTo@Managed@QV4@@QEBA_NPEBU12@@Z)
D:\dev\5-vs15-56\qt-56\qtbase\bin\qmlimportscanner.exe : fatal error LNK1120: 1 unresolved externals
Change-Id: I6125b3d1eaacadba65a90047867779252dab6fbc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Ulf Hermann [Tue, 18 Aug 2015 08:29:10 +0000 (10:29 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
src/qml/debugger/qv4debugservice.cpp
src/qml/jsruntime/qv4value_inl_p.h
src/qml/jsruntime/qv4value_p.h
src/qml/memory/qv4mm.cpp
src/qml/memory/qv4mm_p.h
src/qml/qml/qqmlnotifier_p.h
src/qml/qml/qqmlproperty.cpp
src/quick/items/qquickflickable.cpp
src/quick/items/qquicktextedit.cpp
tests/auto/quick/qquickwindow/BLACKLIST
The extra changes in qqmlbinding.cpp are ported from changes to
qqmlproperty.cpp that occurred in parallel with writeBinding() being
moved to qqmlbinding.cpp.
Change-Id: I16d1920abf448c29a01822256f52153651a56356
Oswald Buddenhagen [Mon, 17 Aug 2015 18:09:49 +0000 (20:09 +0200)]
Merge dev into 5.6
Change-Id: I9ec05838f3c4cbc11fb969c71daf5c2a5a8df360
Mitch Curtis [Fri, 14 Aug 2015 09:02:28 +0000 (11:02 +0200)]
Fix casing in Models and Views documentation.
Change-Id: I461c5a55e3dbb2dc713640ec4d7aa00397a4415d
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Robin Burchell [Tue, 28 Jul 2015 12:41:46 +0000 (12:41 +0000)]
qml: Don't build OpenGL support if OpenGL is not available in Qt.
Change-Id: I66c841778eb0ae662c3951a26665c83e233851b5
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Gunnar Sletta [Tue, 11 Aug 2015 16:33:01 +0000 (18:33 +0200)]
Support QSGGeometry::lineWidth also in the batched code path.
Change-Id: Ifc664b9c718744b9549953e42ac3450a88403dea
Task-number: QTBUG-47090
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Simon Hausmann [Fri, 14 Aug 2015 00:57:45 +0000 (02:57 +0200)]
Avoid firing up the JS parser/JIT/interpreter when instantiating objects
For setting the initial properties there's no need to run a JavaScript
function.
Change-Id: I129fa8e7128cd7aa784e34912ce636cd33b1dd66
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Filippo Cucchetto [Tue, 4 Aug 2015 17:29:51 +0000 (19:29 +0200)]
Change TestEvent key default event routing behavior
The current behavior of the TestEvent is to send all the
key events to the test window. For this reason is not possible routing
events to custom windows created inside the test suite.
The new behavior is to send the key events to the current focused window
[Change][QuickTest][TestCase]
Changed default routing behavior for key events in TestCase.
The key events are sent to the window with active focus
Change-Id: I6ff3113eb9f1cbc25f6cfd2dd7bfdff178ee6ac3
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Lars Knoll [Mon, 22 Jun 2015 16:30:06 +0000 (18:30 +0200)]
Smaller cleanups
Change-Id: I14eb7e2b4031c8a033740ed1ef34f3b2efdc3649
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Erik Verbruggen [Wed, 12 Aug 2015 07:56:55 +0000 (09:56 +0200)]
Remove Q_ALWAYS_INLINE definition, as it is now in qglobal.h
Change-Id: Ie37194a8a02dd43cdcf2b97670fffe21da04cbf3
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Sérgio Martins [Wed, 12 Aug 2015 12:17:58 +0000 (13:17 +0100)]
qml: Avoid heap allocations due to QString::fromLatin1()
By using QStringLiteral when the argument is a literal.
Change-Id: Ib25042d10f3d9d0aca81af74cde0107aba4f9432
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Thiago Macieira [Wed, 8 Jul 2015 00:35:11 +0000 (17:35 -0700)]
Add the GPLv3 license text
LGPLv3 refers to it but does not include it in its body.
Change-Id: Ib056b47dde3341ef9a52ffff13eed18cf3504738
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Jocelyn Turcotte [Sun, 2 Aug 2015 17:43:23 +0000 (19:43 +0200)]
Avoid rebuiding batches during a material animation
Animating a complete batch of geometries bound by property
bindings will cause an unnecessary rebuild of the batch on
each animation step even though it will end up with the
same batch as in the previous frame.
Since the invalidation happens in nodeChanged, any node
change in an updatePaintNode might trigger an invalitation
if it is compared with a material that hasn't been updated yet.
Delay the verification of the DirtyMaterial flag until all
materials have been updated, later on in visitNode, to
make sure that we call compare only on up-to-date materials.
Change-Id: I03c095efc20817813508d959c74b41eae57beedc
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Ulf Hermann [Wed, 5 Aug 2015 15:27:08 +0000 (17:27 +0200)]
Allow specification of loadable debug services via command line
We don't want to load the debugger when profiling and vice versa. This
makes it easier to prevent unwanted services from getting loaded.
Task-number: QTBUG-47623
Change-Id: I28893b6218110274a6d30b27805d89dbb443add3
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Ulf Hermann [Wed, 5 Aug 2015 14:39:33 +0000 (16:39 +0200)]
Parse debug server arguments in ctor
We will need them to determine which services to load. Also, drop all
the complicated indirection. With all relevant code in one place we
don't need the actions anymore. Setting the server's blocking mode only
makes sense before the thread starts. Afterwards the result is
undefined, so we don't have to specially protect it.
Change-Id: I58135cd598c31d3a02ccd3f67b238da01a176934
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Mitch Curtis [Wed, 12 Aug 2015 08:27:07 +0000 (10:27 +0200)]
Canvas: add a testcase for QSGSimpleTextureNode crash.
Task-number: QTBUG-47714
Change-Id: I8ecf2673ebc5de3d0fe1dec8a67bee81f5d4fb8f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Lars Knoll [Mon, 22 Jun 2015 14:33:40 +0000 (16:33 +0200)]
Access the id objects through a specialized runtime method
This brings us one step closer to getting rid of the
QQmlContextWrapper.
Change-Id: Ied57f4c174c2ebd95096310a4ad4c0c28787e7a4
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Frank Meerkoetter [Tue, 11 Aug 2015 20:01:55 +0000 (22:01 +0200)]
Do not sort the vector of chunks
I don't see why the vector needs to be sorted by the base()
addresses of the contained PageAllocations.
Change-Id: I31946a50075c64d01c6de98964ea42ebfc936c68
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Tobias Koenig [Tue, 11 Aug 2015 15:55:00 +0000 (17:55 +0200)]
Fix crash in QQuickCanvasItem::updatePaintNode()
QQuickCanvasItem manages the life time of the texture
already, so it shouldn't set the ownsTexture flag on the
QSGSimpleTextureNode, because that would result in a double deletion
when QSGSimpleTextureNode::setTexture() is called.
Change-Id: I7c1cc949b664d1a8b64bab092250439171e66233
Task-number: QTBUG-47714
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Mitch Curtis [Tue, 11 Aug 2015 10:49:10 +0000 (12:49 +0200)]
Fix incorrectly formatted code in QQmlEngine documentation.
Change-Id: I70832871cbd697b77cfcbbe425ba5936be1c01d5
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Ulf Hermann [Wed, 22 Jul 2015 16:50:34 +0000 (18:50 +0200)]
Move DataCollector into debugger plugin
The data collector and all the jobs it uses to interact with the engine
are only used from the debugger plugin. We can as well move them there.
Change-Id: Ia48251f08b48c7e1e607b8ae2a3d1de29f80f742
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Ulf Hermann [Tue, 21 Jul 2015 16:56:32 +0000 (18:56 +0200)]
Move V4 debugger agent into the debugger plugin
The debugger is the only thing that actually needs it. Note that for
this to work we need to make QV4::Debugging::Debugger a QObject and
add some signals. The net effect is still a reduction in binary size
of about 1kb.
Change-Id: Ibecb8cfa140fc26fc13c8cbefb3d027ebdcd28a4
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>