Michael Brasser [Mon, 12 Mar 2012 05:27:09 +0000 (15:27 +1000)]
Fix v4 nested object access bug.
Use the correct type to look up the sub property.
Task-number: QTBUG-24606
Change-Id: Iab372ca7440249241bf855d2875a947ad8fe4527
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Michael Brasser [Fri, 9 Mar 2012 03:09:07 +0000 (13:09 +1000)]
Add additional v4 tests.
Change-Id: Id33eb50e4a01f3450515f6e666e18cb018f1706e
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Michael Brasser [Thu, 8 Mar 2012 00:36:51 +0000 (10:36 +1000)]
Add two argument Math.min and Math.max support to v4.
Change-Id: I26a4812b76571bf0ae6a0b4bd5d1e2afd64051df
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Michael Brasser [Wed, 7 Mar 2012 23:16:07 +0000 (09:16 +1000)]
Add Math.ceil and Math.abs support to v4.
Change-Id: I23e7c8294abf80914d4529740af6e9124f66c5bf
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Frederik Gladhorn [Tue, 6 Mar 2012 10:25:59 +0000 (11:25 +0100)]
Check that canvas is valid.
During creation the canvas might not have been set.
Change-Id: I7ea8922413e3b6fb4ffd2ed9758c57eea1de02db
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Matthew Vogt [Mon, 12 Mar 2012 06:53:24 +0000 (16:53 +1000)]
Prefer \b word boundary markers
/usr/bin/sed on mac does not process '\<' and '\>' boundary markers
correctly.
Change-Id: I750f7c69579ddcbe39a6246a3d3321cab714fc27
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Rohan McGovern [Mon, 12 Mar 2012 00:01:56 +0000 (10:01 +1000)]
tests: enable headersclean also for cross_compile builds
This test is no longer a host-only test.
Enable it everywhere.
Change-Id: Id7e65ad4d6f468b6b65d0f6035934fbd20fcb5e0
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Morten Johan Sorvig [Thu, 19 Jan 2012 07:02:09 +0000 (08:02 +0100)]
Accessibility: childAt_helper descends too far.
Recursive hit-testing using childAt_helper must stop
when it hits a leaf accessibility item. This leaf item
might not be a leaf item in Qt Quick - a button contains
text and mouse area items not visible to the accessibility
system for example.
Get the accessible interface and check if it has
children before recursing to the child items.
Change-Id: I2cc286cde4bce6b4ca340e8a1819edc5f84006a5
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Lars Knoll [Wed, 29 Feb 2012 19:43:09 +0000 (20:43 +0100)]
Remove unneeded dependencies to QtWidgets and QtOpenGL
Change-Id: I43bb54524f5786a838073df8812107dda7b0d56e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Laszlo Agocs [Mon, 12 Mar 2012 06:40:52 +0000 (08:40 +0200)]
Fix MouseArea autotest.
The hover test seems to be simply wrong. The double click tests worked
before due to the obscure handling of double click but were somewhat
incorrect in any case.
Change-Id: Ie5690e26eb5921fe149e128d24d331f52a5a9075
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Michael Brasser [Mon, 12 Mar 2012 00:55:25 +0000 (10:55 +1000)]
Fix tst_qquicktextedit.
Recent changes to mouse double-click handling mean that two
calls to QTest::mouseClick with the same position will result in a
double click, which was causing this test to fail.
Change-Id: I21e6aa7ab2221b6ea82b1afd13e36b7ba0aef8dc
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Laszlo Agocs [Fri, 9 Mar 2012 10:00:29 +0000 (12:00 +0200)]
Fix double click handler in QQuickItem.
The legacy, desktop-oriented way of calling mousePressed from the
default handlers for mouseDoubleClick is not working properly with
QWindow and QGuiApplication: In Qt 5 a double click will never
suppress any lower level events (like press or release) and therefore
simulating a mouse press in the double click handlers is wrong.
Change-Id: Ic0ad97a5efbcd3deb1717229010dcb84681d7ed4
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Sergio Ahumada [Tue, 6 Mar 2012 12:17:16 +0000 (13:17 +0100)]
Remove pin of qtbase for qtdeclarative.
Change-Id: Ib70a3438d085adbed3a1ca7df81d593c7a512ae0
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Kent Hansen [Mon, 12 Mar 2012 12:13:48 +0000 (13:13 +0100)]
Skip test that accesses deleted QML engine
The test is blocking the CI because it crashes on linux/x64.
By "luck" it doesn't crash on the other test machines -- valgrind
still complains, though.
Task-number: QTBUG-24734
Change-Id: I6bc12ca72f8900339bc9139b40cf828aff8e47ba
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Kent Hansen [Mon, 12 Mar 2012 15:02:43 +0000 (16:02 +0100)]
Fix flakiness in qquicklistmodel autotest
The worker_remove_element test calls processEvents() before
calling waitForWorker(). It's possible that the worker actually
finishes during the processEvents() call. In such a situation,
waitForWorker() should return right away; otherwise it would
wait for 10000ms for a signal that had already emitted, and the
test would fail.
Change-Id: I8e98a3297cf5f360c1c405b1baa7524cc6593d81
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Lars Knoll [Mon, 12 Mar 2012 16:01:16 +0000 (17:01 +0100)]
Mark presumed unstable test as insignificant.
Change-Id: Iea22ae6596c04ba95d59bcb3957bdc3cf9263ae2
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Charles Yin [Fri, 9 Mar 2012 01:34:18 +0000 (11:34 +1000)]
Return early if animationjob was deleted in all callback methods.
Change-Id: I703c8a8904ffd760683de4ee74544dff9eb53144
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Stephen Kelly [Wed, 7 Mar 2012 20:17:02 +0000 (21:17 +0100)]
Remove undefined method.
Change-Id: Id95aebcfc5beac0154db4b1137fc08d5172f3428
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Rohan McGovern [Mon, 5 Mar 2012 05:55:31 +0000 (15:55 +1000)]
Make headersclean in qtdeclarative enforce correct header conventions.
This test wasn't testing much before.
Refactor it to reuse headersclean from qtbase.
It will now fail to compile if the headers from this module don't follow
the rules.
Change-Id: I2816b85543da74f66b993b7ee705cdb9e1c0f1c8
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Bea Lam [Mon, 5 Mar 2012 08:05:40 +0000 (18:05 +1000)]
refilled items should be moved immediately
refill() functionality should reposition items immediately, else
removeNonVisibleItems() sees different positions from those added in
addVisibleItems() if an item is animating.
Change-Id: Ib9904e08bf92b18fd4b712270c0ab69e9a113e04
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Bea Lam [Wed, 7 Mar 2012 08:20:06 +0000 (18:20 +1000)]
Clean up transition objects for positioners
These must be cleaned up whenever items are removed from the internal
PositionedItem lists.
Change-Id: I56f64a29bd98c603b00faaead514fd43780c18de
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Luis Gabriel Lima [Thu, 5 Jan 2012 18:19:26 +0000 (15:19 -0300)]
Add mouse wheel events handler to MouseArea
This patch was based on the attached patch in QTBUG-7369. It basically
exposes the wheel events to MouseArea via the onWheel signal.
The current API is based on the new QWheelEvent API introduced by this
patch: http://codereview.qt-project.org/#change,12532
Task-number: QTBUG-7369
Change-Id: Id58513715c2d0ae81e3a69e9e1ed400bbae07507
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Bea Lam [Wed, 7 Mar 2012 03:29:20 +0000 (13:29 +1000)]
Avoid using QQuickViewItem as base class
This patch renames it to QQuickItemViewTransitionableItem, and
FxViewItem and PositionedItem now create instances of this instead of
subclassing it, to reduce the memory used when transitions are not
required.
Change-Id: Ie050cda5a121bff9542c7ba7356f6eacf37d241a
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
João Abecasis [Wed, 7 Mar 2012 22:17:54 +0000 (23:17 +0100)]
Don't grow container when desired size is known
QList<Type>::reserve() is used upfront to allocate necessary memory in a one
go. This tells us straight away whether allocation is possible at all and
reduces re-allocations and consequent memory copies.
This also has the side effect that no spare memory is allocated, also allowing
up to (and including) INT_MAX elements to actually be stored in the underlying
QList, as long as enough memory is available to satisfy the allocation request
and subsequent fill.
The qqmlecmascript::sequenceConversionIndexes was changed to not attempt
INT_MAX allocations as, given enough memory and virtual address space, that
might succeed but take a really long time.
Change-Id: I4b0c965e9c23be78874343a70d7c155933c80903
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Michael Brasser [Wed, 7 Mar 2012 22:25:45 +0000 (08:25 +1000)]
Fix typo.
Change-Id: Ibbfcc787e463a3a9d1a154d1986c3969f11e60d8
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Michael Brasser [Fri, 2 Mar 2012 01:33:46 +0000 (11:33 +1000)]
Add autotest for v4 nested object bug.
Task-number: QTBUG-24606
Change-Id: I0909d60316f7213b21fc315e8a3d0a6124e84409
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Bea Lam [Thu, 8 Mar 2012 07:05:07 +0000 (17:05 +1000)]
Reset transitioner pointer when transition job finishes
A transition job should only keep a reference to the transitioner
for the lifetime of the transition.
Change-Id: I22564d7b6587fed58ef53fd50ad4a700340dc7a4
Reviewed-by: Martin Jones
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Alan Alpert [Wed, 7 Mar 2012 07:10:14 +0000 (17:10 +1000)]
Update righttoleft examples to new form factor
Change-Id: I2591f45a91da8bad90c5f3b9c963199c57bcf74d
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Alan Alpert [Fri, 2 Mar 2012 04:30:51 +0000 (14:30 +1000)]
Update text examples to new guidelines
Change-Id: I6bbf414f3734bc2f29a7182746c5df158a5924da
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Alan Alpert [Fri, 2 Mar 2012 04:16:55 +0000 (14:16 +1000)]
Update shadereffects example to new guidelines
Change-Id: Ifa4f06cbf990a2f3fd1c46a3c4fda02b5c42d15b
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Alan Alpert [Fri, 2 Mar 2012 01:05:10 +0000 (11:05 +1000)]
Update positioners examples to new guidelines
Change-Id: I197a94bca26adbb79f1822b693fa73109db5a4ac
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Glenn Watson [Thu, 8 Mar 2012 23:19:35 +0000 (09:19 +1000)]
Fix crash in listmodel when data is assigned incorrectly.
If a listmodel with static role types is created, it would crash
if a role was assigned a value type such as string, and then
subsequently assigned an array (sub list) value from a dynamic
meta object (created when using get() from JS).
Change-Id: Ibfd0b0b40be13b04103b49462cfae42a5c9f9fb9
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Martin Jones [Thu, 8 Mar 2012 03:41:19 +0000 (13:41 +1000)]
Handle QEvent::TouchCancel in QML_TRANSLATE_TOUCH_TO_MOUSE mode
Just remove the mouse grab. The elements will react to this and
correct their state.
Change-Id: I8b91295606eaface54aa95b1500e7b138d9bc82e
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Roberto Raggi [Thu, 1 Mar 2012 14:33:23 +0000 (15:33 +0100)]
Keep high-level intermediate representation for IR::BINOPs.
That is, keep binary expressions in HIR, this will make constant
folding more effective. Also, the register allocator for
expression-trees used in the V4 compiler will do a better job.
Change-Id: I2d5eea08ecd9c8d6f3aa21f1fd674a691ef9e1b0
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Roberto Raggi [Thu, 1 Mar 2012 14:18:54 +0000 (15:18 +0100)]
Remove non explicitly typed IR::CONST() nodes.
This change ensures that IR::CONST expressions
created by BasicBlock::BINOP(op,left,right) have
the correct types.
Change-Id: Iabac3f4ee1b897cc0d0bdf7e7385d7ae6dc513e4
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Aurindam Jana [Tue, 6 Mar 2012 13:59:29 +0000 (14:59 +0100)]
QmlDebugging: Remove QQmlDebugClient
Remove QQmlDebugClient and relevant classes from the
library and move to client code.
Change-Id: I6f526b3f0c92970dcad5e5abd8585bb9b406349e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Kai Koehne [Thu, 8 Mar 2012 10:47:38 +0000 (11:47 +0100)]
QmlProfiler: Avoid overhead if profiling is not enabled
Change-Id: I7ecf32fca53fdb2672760a5b0c5ae88d6bd8fe5a
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Matthew Vogt [Thu, 8 Mar 2012 04:11:46 +0000 (14:11 +1000)]
Remove unused QTextCursor code from rewriter.
The rewriter previously supported rewriting operations on either
a QString or a QTextCursor. In order to remove the dependency on
QtGui, remove the unused QTextCursor support.
Task-number: QTBUG-24559
Change-Id: I7a4acceff8097a8bd8c022db23b6b89d356e305a
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Matthew Vogt [Fri, 9 Mar 2012 00:44:21 +0000 (10:44 +1000)]
Pin qtbase at known-good change ID.
Change-Id: I889a427bf1bddbcc70255f4efb47b803f18dd89e
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Andrew den Exter [Wed, 7 Mar 2012 07:42:49 +0000 (17:42 +1000)]
Fix selected text highlight in TextEdit.
The call to QQuickTextNode::addTextDocument() omitted the anchor
color argument meaning every subsquent argument was off by one and
the selection end was always the default of -1.
Change-Id: Iac3165e7aa95a3db935a19e54144d3967a3e6e38
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Morten Johan Sorvig [Tue, 10 Jan 2012 11:12:51 +0000 (12:12 +0100)]
Improve accessibility action support for Qt Quick
Add interface_cast for the action interface.
Implement actions for the following roles:
Button : Press
CheckBox, RadioButton : Press, Check, Uncheck
Slider, Spinbox, Dial, ScrollBar : Increment, Decrement
Change-Id: Ic8e0d17c709ba51655f3f4b699092baf603b6f18
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Kai Koehne [Wed, 7 Mar 2012 13:53:24 +0000 (14:53 +0100)]
QML Debugger: Change prefix of warnings
Since we've been changing from QtDeclarativeDebugServer to
QQmlDebugServer anyway, we might as well change it to the more
readable "QML Debugger:" prefix.
Change-Id: I852577233d7cdb1f57adc43ec1b85a14d212574d
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
Alexis Menard [Mon, 5 Mar 2012 14:32:52 +0000 (11:32 -0300)]
QQuickView with the default constructor doesn't show any window decorations.
The default parameter takes a 0 which is propagated to the window platform
which sets it to 0. QWidget have a method called adjustFlags which takes
care of adding QWindow when necessary. There is no such check in QWindow
or the platform plugin for QPA. The default flag of QWindow is Qt::Window
but in that case it is overiden as QQuickView constructor calls
setWindowFlags(0). Qt::Window as a default parameter is a solution.
Change-Id: Iccbebc5b7e4f094c7fc6dc61b37d9f9622be0237
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Jørgen Lind [Wed, 7 Mar 2012 12:59:54 +0000 (13:59 +0100)]
Install compat into the correct dir
Change-Id: I699a943862d6388add2e4e7c24ed416ec1bd1444
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Aurindam Jana [Wed, 7 Mar 2012 08:00:22 +0000 (09:00 +0100)]
QmlDebugging: Remove deprecated classes
Remove the deprecated QQmlDebugHelper class.
Change-Id: I56823774f67ee06ccf7e0a797e250178f4a141f7
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Aurindam Jana [Wed, 7 Mar 2012 08:34:12 +0000 (09:34 +0100)]
QmlDebugging: Revert the names of services
Revert the names of the services changed in
b855240b782395f94315f43ea3e7e182299fac48 to
maintain BC.
Change-Id: I79826d92fd09c41e0020541b0c7bb77b5b2ecb1f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Gunnar Sletta [Wed, 7 Mar 2012 09:21:08 +0000 (10:21 +0100)]
Compile after API changes in QCoreApplication
Change-Id: I6bc6978a5c68503facd8085bd35e66f86af58a90
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Kent Hansen [Mon, 5 Mar 2012 11:58:50 +0000 (12:58 +0100)]
Use StringRef::load() to initialize DefaultProperty string
Micro-cleanup; don't access the string data directly. load() is
inline. It additionally asserts that the string length matches.
Change-Id: Ie24df83ea68b96179792995d062db7872933b1a8
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Kent Hansen [Mon, 5 Mar 2012 11:23:19 +0000 (12:23 +0100)]
Don't needlessly create alias property names in the meta-object
When aliases should not be resolved, there is no need to create the
alias name StringRef, since it would occupy space in the meta-data
even though the string was never actually initialized.
Similarly, when aliases should be resolved, it's enough to create the
StringRef once.
Change-Id: I44dfe665fe8d7bd5754bc939ff62ad75efe19d5b
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Kent Hansen [Mon, 5 Mar 2012 10:54:01 +0000 (11:54 +0100)]
Make sure QML type "real" always maps to C++ type "double"
The type "real" was documented to be a single-precision float, but
that's incorrect. It's always been double.
However, signal parameters of type "real" would be mapped to the C++
type "qreal", which can be either float or double depending on the
platform.
Since JavaScript floating point numbers have double precision, QML
should use the same, to avoid potential loss of precision.
With this change, "real" behaves the same as the QML "double" type
(which already guaranteed double precision). Even though it's
redundant, "double" is kept to preserve compatibility.
Added tests for the "double" type to the QML meta-object autotest,
and a test for the "real" type that ensures there's no loss of
precision.
Change-Id: I1a77f1fd45082ff670684a935e17d1a46ea75d84
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Michael Brasser [Wed, 7 Mar 2012 03:50:41 +0000 (13:50 +1000)]
Correctly place '.' when building name for call expressions.
Change-Id: Ic0119a0f4c02387ed19e2905f0b24c4ce86565cb
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Lars Knoll [Wed, 29 Feb 2012 19:41:47 +0000 (20:41 +0100)]
Don't link against QtWidgets and QtOpenGL
Change-Id: I3a949dff488d200762b18a0c0a16103f8908052e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Martin Jones [Wed, 7 Mar 2012 05:26:33 +0000 (15:26 +1000)]
ListView can freeze if flicked beyond its bounds.
If the delegate's size changes in componentComplete and all
items are flicked out of view, an incorrect jump calculation
in addVisibleItems() resulted in a new delegate being created
in the wrong position, and retriggering the jump calculation,
which resulted in a new delegate being created in the wrong
position, and retriggering the jump...
Also fixed currentItem visibility.
Change-Id: Iad5f211c4fc5eed9c009d51a0ce3b58181a7b36e
Reviewed-by: Bea Lam <bea.lam@nokia.com>
Bea Lam [Mon, 5 Mar 2012 23:39:24 +0000 (09:39 +1000)]
Fix setting of target lists when target Transition is not set
Target items are now set from QQuickViewItem::prepareTransition()
instead of QQuickItemView and QQuickPositioner to ensure they are
for a displaced transition even if there is no matching target
transition.
Task-number: QTBUG-24535
Change-Id: I0a6c7e3c6198786527014d421b96fc562c6186dc
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Kurt Korbatits [Tue, 6 Mar 2012 22:02:44 +0000 (08:02 +1000)]
Changed particles tests to work from install directory
- Changed particles tests to use TESTDATA
- Changed particles tests to inherit from QQmlDataTest
and use testFileUrl() to find test data
Change-Id: Iae7c5111d976ec3efe473c40a3bab2f0a38c0969
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Kurt Korbatits [Tue, 6 Mar 2012 04:48:21 +0000 (14:48 +1000)]
Changed quick tests to work from install directory
- Changed tests to use TESTDATA
- added check for cross_compile option to skip when sources not available
Change-Id: I1f382794ff982bbc07fc20438a4e4a8c8b8d565f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Kurt Korbatits [Tue, 6 Mar 2012 04:01:34 +0000 (14:01 +1000)]
Changed qml tests to work from install directory
- Changed tests to use TESTDATA
- moved qqmlcontext to private test as it contains private header
- added check for cross_compile option to skip when sources not available
Change-Id: I0f68f58ffcb1b41b8e40a9851e3e003fe72ee2f9
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Charles Yin [Tue, 6 Mar 2012 23:28:27 +0000 (09:28 +1000)]
Change the default renderTarget and renderStrategy
As we always use OpenGL and scenegraph render thread now, the best default
render target should be FBO and the best render strategy should be
cooperative mode (use the render thread).
Task-number:QTBUG-23956
Change-Id: I64b070dec566e359d27c84680fef1c691d6ce411
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Charles Yin [Tue, 6 Mar 2012 23:34:18 +0000 (09:34 +1000)]
Repaint the canvas item properly when canvas resized
Task-number:QTBUG-23594
Change-Id: I703a5190b5b306666ffd61001ff94f296399465f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Bea Lam [Mon, 5 Mar 2012 23:28:56 +0000 (09:28 +1000)]
prepareTransition() must cancel current transition
If it does not, itemX() or itemY() will still return the current
transition's 'to' position instead of the nextTransitionTo pos that was
scheduled for the next transition (which the item now has moved to
using the direct setPos() method).
Also refactor prepareTransition() to always move the item directly to
the nextTransitionTo if transition is not going ahead.
Also fix some broken test code.
Task-number: QTBUG-24523
Change-Id: I2e536fbc0da2acbf96fdf2d177190a8968f7fdb1
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Charles Yin [Wed, 7 Mar 2012 00:20:06 +0000 (10:20 +1000)]
Fix texture leaks in QQuickCanvasItem
In commit
be4c74948371ddf6f1ed260783b43b5a3d9e60a7 we removed the
QQuickCanvasItemNode, but textures are not automatically deleted with
QSGSimpleTextureNode, so add a very thin sub class of QSGSimpleTextureNode
to just cleanup canvas texture to avoid texture leaks.
Change-Id: I31aac1068e8218a75129b52afbbf30fb66e4bbf7
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Frederik Gladhorn [Tue, 6 Mar 2012 10:26:55 +0000 (11:26 +0100)]
Check for parent item before calling functions on it.
Change-Id: Ic4066d133ef16ce8cf11fcb9fb5ddcc19599e85d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Eskil Abrahamsen Blomfeldt [Mon, 5 Mar 2012 16:25:50 +0000 (17:25 +0100)]
Fix missing glyphs when using shared distance-field cache
When using a shared distance field cache, signals such as
itemsMissing() and itemsUpdated() can be triggered in the
server process by external requests. This, in turn, can
lead to unnecessary storeGlyphs() calls (performance hit)
and, even worse, calls to setGlyphPositions() for glyphs
which have not previously been requested through populate().
The latter could cause missing glyphs when the same
characters were requested later, as they would then be
stored in the cache with the bounding rect of a default
constructed QPainterPath (in setGlyphPositions()).
To fix this, we ignore all glyphs which have no been requested
in this process, thus filtering out all events for glyphs which
have only been used externally so far. I've also added an
assert to the setGlyphPositions() to help us catch this case
early if it should return.
Change-Id: Ief333f612e4affea768d9c60409d43ce29fe3f60
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Martin Jones [Mon, 5 Mar 2012 23:45:58 +0000 (09:45 +1000)]
Cleanup QQuickCanvas and QQuickView docs.
Mark reimplemented protected methods.
Change-Id: I544d68e16d82a37f5612fd72cd185a23c70157a7
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Justin McPherson [Fri, 2 Mar 2012 06:28:16 +0000 (16:28 +1000)]
Continue refactor of Canvas rendering.
- Remove sync() - not necessary
- Queue buffer before flush
Change-Id: If7dea8e56a612d241c67a82eae265febc45059a8
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Justin McPherson [Tue, 28 Feb 2012 05:08:43 +0000 (15:08 +1000)]
Use NPOT support if available.
In QQuickContext2DTexture.
Change-Id: If0311450658a837b7e2665c041ec2846e3c8c2dd
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Justin McPherson [Fri, 2 Mar 2012 06:24:04 +0000 (16:24 +1000)]
Remove QQuickCanvasItemNode.
A custom SGNode is not necessary.
Change-Id: Ibde71dd502bc782503dbd7d98e6ad8b811b7aedb
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Chris Adams [Tue, 28 Feb 2012 07:38:35 +0000 (17:38 +1000)]
Remove incorrect line from performance docs
V8 does not use a single map-transition-graph for all types, and thus
the line about ordering of properties in constructor functions is
incorrect.
Change-Id: Iaf4ac02dcfc53dd7254af1a40a3c66852a78a320
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Rohan McGovern [Mon, 5 Mar 2012 06:12:48 +0000 (16:12 +1000)]
Fixed QQuickCanvas header with QT_NO_KEYWORDS
slots -> Q_SLOTS
Change-Id: I971a0077a2606e197e9542ccb864e57d0b0e9f4f
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Alan Alpert [Mon, 5 Mar 2012 05:40:59 +0000 (15:40 +1000)]
Fix renaming merge with examples
Some examples were duplicated a few times. Removing the excess.
Change-Id: I6fa59f79de63ac952103421ba1c063f5912b702b
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Martin Jones [Mon, 5 Mar 2012 05:07:27 +0000 (15:07 +1000)]
Handle MouseArea.enabled = false after mouse is pressed.
Currently this leaves the MouseArea in a broken state,
i.e. still in pressed state, and the next press after
it is re-enabled is ignored.
In this case we now allow subsequent mouse move or
release events to continue. Following the release,
no further press will be accepted.
Change-Id: I65a890da90e2166ad568505fffdbd3db6c97165b
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Gunnar Sletta [Mon, 5 Mar 2012 09:11:16 +0000 (10:11 +0100)]
Do not store an explicit QImage in the declarative pixmap cache.
This opens up for the scene graph adaptation only storing textures which
effectively halves the memory usage for textures and images.
Change-Id: I3452a15844ceeb4fc3a465865f99ee16e3e05607
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Gunnar Sletta [Mon, 5 Mar 2012 08:28:10 +0000 (09:28 +0100)]
Made QQuickWindowManager pluggable via QSGContext.
Also rename paint() to exposureChanged() as that is what the function
actually means. The implementation of paint() has been removed in both
trivial and threaded version as it is superflous as show() already
triggers rendering.
Change-Id: I7e53f42786efaf961921f10a39977de511965d71
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Gunnar Sletta [Mon, 5 Mar 2012 08:44:46 +0000 (09:44 +0100)]
Fix crash with AnimatedImage caused by race condition.
In QDeclarativePixmap::setImage() we deleted a QDeclPixmapData
and recreated a new one in a very short timespan and the new
texture factory was the same pointer as the deleted one, yet a
queued destroyed signal was still emitted. Depending on when the
queued connection was handled in the rendering thread, this would
cause problems with the value returned from textureForFactory.
Change-Id: Ibd785ca12667c99efb88b92689ae7ac4fa87c7ee
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Alan Alpert [Mon, 5 Mar 2012 03:31:56 +0000 (13:31 +1000)]
Use premultiplied format because it's faster
Change-Id: I4d78830d2cf03f2deba70c29c2fc221eeec9d63c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Sergio Ahumada [Fri, 2 Mar 2012 12:34:21 +0000 (13:34 +0100)]
Change bugreports.qt.nokia.com -> bugreports.qt-project.org
Change-Id: Icafc7b49e7c42368fe10939b8a134632276c0671
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
Matthew Vogt [Mon, 5 Mar 2012 03:20:58 +0000 (13:20 +1000)]
Merge remote branch 'gerrit/api_changes' into merge-master
Change-Id: I9c54ff2a8aadb2bf95667eb3cf0a48f8291ce927
Matthew Vogt [Mon, 5 Mar 2012 01:39:24 +0000 (11:39 +1000)]
Merge master <-> api_changes
Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
Charles Yin [Wed, 29 Feb 2012 00:10:11 +0000 (10:10 +1000)]
More documentation about importing LocalStorage module from Javascript
Task-number:QTBUG-24478
Change-Id: Iad0fe15e8b2f1fcfa82b1654c3fd606d08563457
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Kai Koehne [Wed, 29 Feb 2012 13:59:49 +0000 (14:59 +0100)]
Profiler: Use RAII helper structs for ranges
Exclusively use RAII helper structs for ranges.
Change-Id: Ief9ab25a9e49e1b2c3c091e5d9de6479e36eaa50
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
Bea Lam [Mon, 27 Feb 2012 06:26:05 +0000 (16:26 +1000)]
Fix when animating items that are already moving
The view must transition displaced/moved items that are currently
transitioning to another position; check against the current
transition-to position, not just the current item position.
Task-number: QTBUG-24522
Change-Id: Icf1c290f76ceb8c93716f1562ae0bc5a75445b78
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Bea Lam [Tue, 28 Feb 2012 02:00:26 +0000 (12:00 +1000)]
Use view transitions in drag'n'drop example
Change-Id: Idc661225acf9e517d26928cafba650ac48ca880a
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Laszlo Agocs [Thu, 1 Mar 2012 11:45:29 +0000 (13:45 +0200)]
Use velocity from touch events only when they are valid
Add the capability flags to the extended mouse events. Otherwise it is
not possible to tell if the velocity is valid.
While the original version is fine if velocity is guaranteed to be
available whenever QT_TRANSLATE_TOUCH_TO_MOUSE is set, some platform
and driver combinations, e.g. the evdevtouch plugin that comes with
Qt, do not provide velocity data in touch events. The touch-only mode
of QML may be very useful in these cases too, we just need to fall
back to the built-in velocity calculation.
Change-Id: Iec5e7632a66380dc04c9435b09f5c173107bbe00
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Alan Alpert [Fri, 2 Mar 2012 00:36:10 +0000 (10:36 +1000)]
Treat parentless items as focus scopes
The root item of a tree is implicitly a focus scope simply because it is
the root of the tree. QQuickRootItem could gain the focus scope flag in
order to solve this for most cases, but there would still be a
possiblity of a crash for disconnected trees.
Change-Id: I6e04f11df4268fb3b96660d50707d70935a5dc5e
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Michael Brasser [Tue, 28 Feb 2012 06:32:45 +0000 (16:32 +1000)]
Add QColor support to v4.
Change-Id: I033e92007f894d45695ea48d7f954d534a2fadee
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Michael Brasser [Wed, 29 Feb 2012 03:55:58 +0000 (13:55 +1000)]
Return correct propertyIndex for v4 bindings.
Change-Id: I4aa37491d36331889f6b30c4d4af8b56cef96225
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Bea Lam [Mon, 27 Feb 2012 03:16:11 +0000 (13:16 +1000)]
Improved transitions for Row, Column, Grid, Flow
The view transitions functionality for ListView and GridView has been
integrated into the positioner elements. Not all of this
functionality is available for positioners, though, since they don't
have models (and thus cannot identify certain model operations) and
they don't manage the lifetime of their children.
Task-number: QTBUG-24336
Change-Id: I71588de289555d2ef5a763af11358bc0af7b31a7
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Bea Lam [Thu, 1 Mar 2012 07:37:11 +0000 (17:37 +1000)]
Fix if transitioner is deleted before transition job finishes
Don't let TransitionJob call finishedTransition() on a deleted
transitioner. Also don't use target transitions that are not
enabled.
Change-Id: I94d58e8c7b072f7f3d76533956cac2d63ac33ff6
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Martin Jones [Fri, 2 Mar 2012 01:54:58 +0000 (11:54 +1000)]
Correct QDeclarativeInspectorInterface iid
Change-Id: I874c501dc1839712d2da663f13e437e3c7a0e4fe
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Martin Jones [Thu, 1 Mar 2012 09:04:29 +0000 (19:04 +1000)]
V4 handles a maximum of 32 temporary registers.
Drop back to V8 if there are more than 32 being used.
Change-Id: I11f6e84746d897cd9b6789a5e9e4d2848909de00
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Michael Brasser [Wed, 29 Feb 2012 03:54:16 +0000 (13:54 +1000)]
Reenable value type binding auto removal tests.
Change-Id: I349017bf24f9f2f18024d1257eeaebb348cc8503
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Michael Brasser [Thu, 1 Mar 2012 00:34:01 +0000 (10:34 +1000)]
More verbose compiler stats.
Report shared and unshared v8 bindings separately.
Change-Id: Iaa198dcc93035a778b13d7137742a7b308aa782f
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Alan Alpert [Fri, 2 Mar 2012 01:53:29 +0000 (11:53 +1000)]
Pin to a working qtbase SHA1
A bug with qmake was introduced which is impeding the compilation of
modules we depend on. Use an older qtbase and qmake until this is fixed.
Task-number: QTBUG-24608
Change-Id: I7f6f1f383d4c9339e5f4c699cb8900a3b1c776e3
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Kai Koehne [Wed, 29 Feb 2012 12:29:06 +0000 (13:29 +0100)]
Profiler: Avoid QString->QUrl->QString conversion
Change-Id: Ib39b94bf6c76638dce96d6cc20a4a8f307e37878
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
Kai Koehne [Wed, 29 Feb 2012 12:28:51 +0000 (13:28 +0100)]
Profiler: Remove unused method
Change-Id: I74ba20b495760034bc714d92bcf016feddf87c2c
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
Gunnar Sletta [Thu, 1 Mar 2012 11:34:48 +0000 (12:34 +0100)]
Set bind options before uploading to give hints to the driver
This can prevent allocation of unused mipmap levels on some
drivers.
Change-Id: I2d730c04e120872367078b17a344c01b4d4aa87a
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Eskil Abrahamsen Blomfeldt [Thu, 1 Mar 2012 10:24:57 +0000 (11:24 +0100)]
Avoid unnecessary updates when using in-process cache
Whenever an in-process cache is updated, it will emit
itemsAvailable() signals to all listening glyph caches. This will
in turn cause each of the glyph caches to update and each
of the glyph nodes to be preprocessed (the entire scene graph will
be updated.) This happens even if the changes to the in-process
cache are requested by an external client, due to a cross-process
cache sharing mechanism. However, itemsAvailable() signals are
only interesting if the items were requested by the in-process
cache.
We therefore add a mechanism now to check if the glyphs were actually
requested by the cache before updating anything.
Change-Id: I529f94b3928c2a5e06fec354014fa11d21671057
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Martin Jones [Thu, 1 Mar 2012 00:40:22 +0000 (10:40 +1000)]
No double click event in QML_TRANSLATE_TOUCH_TO_MOUSE mode
Since double clicks are delivered before the click, the initial
grab may not have been established.
Change-Id: Id9282489f0551d421da800294e88ead0915482cc
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Glenn Watson [Wed, 29 Feb 2012 22:57:32 +0000 (08:57 +1000)]
Fix material compare for distance field glyph nodes.
The compare function did not take into account the GL texture ID
when comparing materials. This could result in a renderer
merging glyph nodes into a single batch incorrectly.
Change-Id: Ib62c43f93fb1bbbc231197323dced4254ffa12aa
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Andrew den Exter [Wed, 29 Feb 2012 01:37:42 +0000 (11:37 +1000)]
Allow styled text to be elided.
Task-number: QTBUG-24521
Change-Id: Idd451d0a8a238a60691386726e34054c0368b658
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>