Erik Verbruggen [Wed, 16 Apr 2014 11:22:28 +0000 (13:22 +0200)]
V4 IR: change IR printing to use a visitor.
This allows for overriding methods to customize the printing of nodes.
It also removes some duplicate code.
Change-Id: Ieb9eec2fa7d4e211932d7772586a1d62b119a90a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
J-P Nurmi [Fri, 16 May 2014 12:35:23 +0000 (14:35 +0200)]
Introduce TextInput::ensureVisible(int position)
This is required for TextField to be able to implement text selection
handles. TextField needs to be able to ensure that the appropriate
character position becomes visible when the handles are moved around.
[ChangeLog][QtQuick][TextInput] Added TextInput::ensureVisible(int pos)
method to be able to control the scrolling position of a TextInput that
has automatic scrolling enabled.
Task-number: QTBUG-38934
Change-Id: Id77eafcda6324d10868e0798519e5b712a0d33ed
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Friedemann Kleint [Wed, 21 May 2014 08:45:05 +0000 (10:45 +0200)]
Fix tst_qquicktextinput::copyAndPaste() for asynchronous clipboard notification.
Change qtbase
6a61a00ddb21e79412e82069dfef50192bfd724d for Windows uses
new clipboard notification API that results in asynchronous clipboard
notifications.
Task-number: QTBUG-39145
Task-number: QTBUG-38670
Task-number: QTBUG-33492
Change-Id: I0de78ecba5c67bf6a66f07e59312667f6ce6bf88
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Frederik Gladhorn [Wed, 14 May 2014 19:48:44 +0000 (21:48 +0200)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Gunnar Sletta [Mon, 12 May 2014 08:38:58 +0000 (10:38 +0200)]
Support smooth for AnimatedSprite
Task-number: QTBUG-38923
Change-Id: I1cb9ac434aa729ee390e17deced9ed470895549d
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Jan Arve Saether [Fri, 2 May 2014 13:46:12 +0000 (15:46 +0200)]
Don't adjust the position of transitioning list items.
Adjusting the position of list items only makes sense for items that
belongs to the layout.
Task-number: QTBUG-38229
Change-Id: I7a05f7a3591620cce3cd9ab84cfecbe325e5e93c
Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
Kevin Funk [Wed, 7 May 2014 17:01:19 +0000 (19:01 +0200)]
Introduce MouseArea.drag.smoothed
[ChangeLog][QtQuick] Added property MouseArea.drag.smoothed for toggling
whether the drag target is moved to the current mouse position after a
drag operation has started.
Task-number: QTBUG-38539
Change-Id: I989b51bc83fc24c64b84ac8e9a50b352e674e8f8
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Frederik Gladhorn [Tue, 13 May 2014 20:12:48 +0000 (22:12 +0200)]
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I24827851643247b938b3a1b7182864293e5c3fe7
Leena Miettinen [Wed, 7 May 2014 13:44:17 +0000 (15:44 +0200)]
Doc: add docs for Photo Surface demo
Change-Id: Id6f40b1b769fdd103cfb2afda172b1daf9b1a105
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Kevin Funk [Sat, 10 May 2014 10:12:18 +0000 (12:12 +0200)]
Minor: Remove unneeded include from qquickitem.h
Clean up after
0cb12e9e01b8309320706fab219945f0ff159413
Change-Id: I7e7f0c1f7e3b9bb994bc8fd50e1c9ba462e99e28
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Daniel Vrátil [Wed, 16 Apr 2014 16:33:24 +0000 (18:33 +0200)]
Implement proper support for layoutChange in QQmlDelegateModel
Current implementation is treating model layoutChange the same way as modelReset,
which causes problems when using ListView on top of a QSortFilterProxyModel. The
model emits layoutChanged whenever a data within sorting column change. Treating
it as modelReset leads to poor performance on large models and caused UI issues,
because the scrolling position is reset every time.
This patch implements proper handling for layoutChanged signals by first handling
all items moves and then simulating dataChange for all items.
This fixes regression from Qt 5.1 introduced by Change I16b859d9
Task-number: QTBUG-37983
Task-number: QTBUG-34391
Change-Id: I6d3873b7b87e7f0e8fc0c1ed5dc80c6f8fdf6c22
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Michael Zanetti <michael.zanetti@canonical.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Kevin Funk [Sun, 11 May 2014 16:55:39 +0000 (18:55 +0200)]
Doc: Fix invalid cross-reference
Change-Id: Ib344215f240705100da8d949ac86b57af26a97ef
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Frederik Gladhorn [Fri, 9 May 2014 14:25:58 +0000 (16:25 +0200)]
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
.qmake.conf
src/plugins/accessible/quick/quick.pro
src/quick/items/qquickpincharea.cpp
src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
src/quick/scenegraph/qsgthreadedrenderloop.cpp
Manually adjusted for TestHTTPServer constructor change:
tests/auto/quick/qquickimage/tst_qquickimage.cpp
Change-Id: I5e58a7c08ea92d6fc5e3bce98571c54f7b2ce08f
Jeff Tranter [Thu, 8 May 2014 20:37:14 +0000 (16:37 -0400)]
Fix some typos in usage string.
Fix some spelling errors in the command usage string.
Change-Id: Iee94987d0a3dff78e39f588b4c21415ed40a514c
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Bernd Weimer [Tue, 29 Apr 2014 06:51:58 +0000 (08:51 +0200)]
Fix tst_textedit.qml
On platforms that have QT_NO_CLIPBOARD defined copy/paste/cut functions
are not available.
Change-Id: Ia2c82d0d3910f89642b1c3ef719caee88da3999e
Reviewed-by: Damian Jansen <damian.jansen@gmail.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Ulf Hermann [Wed, 7 May 2014 09:21:40 +0000 (11:21 +0200)]
Remove V8 profiler service
It's broken and useless and it sends confusing data to the profiler
client.
Task-number: QTCREATORBUG-12188
Change-Id: I944cf19a78ee4378d5773e7aa80876f199a0f03b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Erik Verbruggen [Thu, 8 May 2014 08:52:00 +0000 (10:52 +0200)]
V4 IR: remove unused fields from BasicBlock
Also reserve maximum used size for the in/out edge vectors.
Change-Id: I227a2aa0a5211a6425da3aa7318daa120eadfd6c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Thiago Macieira [Thu, 8 May 2014 06:58:01 +0000 (23:58 -0700)]
Re-fix the warning from cached-powers.cc
This file is now getting included in a different module. See also
e02cb2b31ab0b171f11d278305d9f532f005bc80,
60aed669345be33b916c44556555b922aa3ed928, and
66e72c2cf08c2d2c381c6c22e4760d0df758af52.
Change-Id: Ic886bdf823d5dd6d9ae3df64608d8bb9d901661f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Paul Olav Tvete [Wed, 7 May 2014 13:02:29 +0000 (15:02 +0200)]
Android: Add support for new input method query API
Change
93fd268d implemented the new API, but missed the final
piece that actually made use of it.
Task-number: QTBUG-38824
Change-Id: Iea28f2cbb8c6d749d781dcf7437552597977f9ac
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Gunnar Sletta [Sat, 3 May 2014 08:06:09 +0000 (10:06 +0200)]
Make item.layer and item.layer.effect work inside positioners.
Task-number: QTBUG-31269
Change-Id: Ic3bb76ea5a5055df614f2eaacd3031445f118ca7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Robin Burchell [Wed, 7 May 2014 15:49:30 +0000 (17:49 +0200)]
Document that MouseArea::enabled is not the same thing as Item::enabled.
This might change in the (long) future, but not yet.
Task-number: QTBUG-38364
Change-Id: Ia424d6b5d54dff88f67b39e4521b5ecc3121fd07
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
J-P Nurmi [Tue, 6 May 2014 10:22:32 +0000 (12:22 +0200)]
Item views: prevent negative cache buffer
A negative cache buffer does not make much sense, and the item views
would go crazy and start creating/destructing delegates endlessly.
Task-number: QTBUG-38725
Change-Id: I1fbba1f3130a99af67fbc4c2aba4d3199d0554a9
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Gunnar Sletta [Tue, 6 May 2014 12:54:52 +0000 (14:54 +0200)]
Use correct matrix for render nodes.
Change-Id: I8c137383fa32a64ba64ffb4ed48aa123d0ebf000
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Oswald Buddenhagen [Wed, 9 Apr 2014 12:23:28 +0000 (14:23 +0200)]
nest quickwidgets into the opengl conditional
the qtHaveModule(quick) could have of course not worked at this point.
Task-number: QTBUG-38202
Change-Id: Id0270d445b9b82731209d69a9dc1950c03c26781
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Mitch Curtis [Tue, 6 May 2014 12:04:27 +0000 (14:04 +0200)]
Fix typo in QQuickText documentation.
Change-Id: Ic2e96e881fe13bcac11e7c172963e2c1e9928256
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Jørgen Lind [Wed, 30 Apr 2014 08:44:55 +0000 (10:44 +0200)]
QWindowsFontEnginge uses GetGlyphOutline which seems to fail
for fonts containing embedded bitmaps.
Change-Id: I035df24d16f1c9707fff54b0920c8139fda3ddec
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Leena Miettinen [Fri, 2 May 2014 15:07:58 +0000 (17:07 +0200)]
Doc: add docs for Calqlatr example
Describe the QML and Qt Quick features that the
example illustrates.
Change-Id: I9a3656873ac1a5a8cdf31b1f85528b1bf081df79
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Kai Koehne [Tue, 29 Apr 2014 08:10:03 +0000 (10:10 +0200)]
Remove references of QML as a 'declarative' language
Though the core of QML is declarative, it incorporates JavaScript, a
multi-paradigm language on its own. It's therefore correct to call it
a multi-paradigm language, too.
Change-Id: Ia72acedafefb68ea8c49b9f6ab195ca9e73dad5f
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
J-P Nurmi [Tue, 6 May 2014 11:37:40 +0000 (13:37 +0200)]
QQmlPlatform: use QStringLiteral instead of QLatin1String
Change-Id: I83fb44c0bb7d57bc68c6ac54379d5bb0c7ec9715
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Berthold Krevert [Fri, 2 May 2014 13:18:25 +0000 (15:18 +0200)]
Notify about the focus reason
KeyNavigation sets the focus reason always to Qt::OtherFocusReason. This
should be changed at least for tab and backtab navigation.
Change-Id: I27c654a202e2a80449dd5420460e413ca9cff75e
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Ulf Hermann [Tue, 6 May 2014 10:09:07 +0000 (12:09 +0200)]
Be more verbose about actual results in tst_qqmlprofilerservice
QCOMPARE and QVERIFY2 are clearly superior to QVERIFY when comparing
values in tests.
Change-Id: Ia860d6f087680066fbe0ffa311b5557e77f1720c
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Andrew Knight [Mon, 5 May 2014 17:18:56 +0000 (20:18 +0300)]
Return "winphone" and "winrt" for Qt.platform.os when appropriate
Task-number: QTBUG-38532
Change-Id: I33b4fe5bb61baf9df3ca472424ca631172bf70fb
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Berthold Krevert [Wed, 30 Apr 2014 18:33:07 +0000 (20:33 +0200)]
Store information about focus reason in QQuickWindowPrivate
QtQuickControl's Desktop style needs to know whether the last focus change
was requested by keyboard or not. With this information the Desktop style
is able to set the QStyleOption accordingly. Without the flag, some of
the QStyles (QFusionStyle, QGtkStyle) don't render a focus rectangle.
This patch is needed by #change,84389 in QtQuickControls
Change-Id: Ia06f56b018cd35eea933892a4c50e0aa7328042d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Gunnar Sletta [Sat, 3 May 2014 09:56:34 +0000 (11:56 +0200)]
Fix revision.
QQuickItem is at revision 2 for QtQuick 2.4.
Change-Id: Ic21d878489e8b002b6975a46453631562be3daf6
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Friedemann Kleint [Mon, 5 May 2014 10:40:03 +0000 (12:40 +0200)]
qmlplugindump: Fix platform plugin specification.
Fix warning:
Project WARNING: CONFIG+=qpa_minimal_plugin is deprecated. Use QTPLUGIN.platforms=qminimal instead.
Change-Id: I81f92f86bd699854253b4e3fb7d0ae6eeab4aafc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Oswald Buddenhagen [Fri, 2 May 2014 16:49:31 +0000 (18:49 +0200)]
fix copying of qmldir file to build dir
Task-number: QTBUG-36252
Change-Id: Icbd956daf707105a5616d057c11b9aa1f55ff5d2
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Louai Al-Khanji [Mon, 5 May 2014 06:22:02 +0000 (09:22 +0300)]
QQuickRenderControl: Fix compilation with MSVC compiler
MSVC fails to parse the pointer correctly, thinking that the */* pattern
attempts to close a comment.
Change-Id: Iac26d7fe9cb6f8aaa855d86ef8d6c2b9f85d6840
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Gunnar Sletta [Thu, 3 Apr 2014 11:16:42 +0000 (11:16 +0000)]
Compress touch events in QQuickWindow.
Instead of sending multiple touch updates per frame, we
store the last one and flush the pending events just before
we enter into the scene graph sync phase.
[ChangeLog][QtQuick] QQuickWindow will compresses touch events
and delivers at most one touch event per frame.
Done-with: Robin Burchell <robin.burchell@jollamobile.com>
Change-Id: Ia0169bc4a3f0da67709b91ca65c326934b55d372
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Sarunas Valaskevicius [Sun, 9 Feb 2014 18:50:42 +0000 (18:50 +0000)]
Invalidate text painting nodes when document text block is updated
The commit fixes text repainting when only formatting of the text is
changed by invalidating the affected blocks which will be repainted
on the next update.
Task-number: QTBUG-36743
Change-Id: I03ba747f9d08a9f49d0a012b8349c89c20dc6b55
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Martin Smith [Wed, 23 Apr 2014 11:12:29 +0000 (13:12 +0200)]
doc: class QQuickCloseEvent added to module QtQuick
The wrong qdoc command had been used to add it to the
QML module QtQuick.Window. This caused a link to the
QML module to be not found by qdoc. The correct command
and C++ module name are now used.
Task-number: QTBUG-38529
Change-Id: I810f179d8f70dc8fb4d359ac3d4b192ef63ca429
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Gunnar Sletta [Thu, 1 May 2014 14:04:14 +0000 (16:04 +0200)]
Opt-in that QSGSimpleTextureNode can own the texture.
Having to subclass just to delete the texture is a bit
tedious.
Change-Id: I26c7e0b5c053ba70e004949ead748e50756d9b39
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Gunnar Sletta [Mon, 28 Apr 2014 11:30:04 +0000 (13:30 +0200)]
Say hello to QQuickItem::grabToImage().
[ChangeLog][QtQuick][Item] Added functions QQuickItem::grabToImage()
and Item::grabToImage() to allow grabbing of items into
system-memory images.
Change-Id: I76cd73bb62f7440569c6fce63d63528559845721
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Gunnar Sletta [Fri, 25 Apr 2014 14:21:00 +0000 (16:21 +0200)]
Make sure we rebuild batches properly after a Blending material change.
If a node sent DirtyGeometry and DirtyMaterial in the same round and
DirtyGeometry triggered its batch to be invalidated, we would take the
no-batch code path which did set the rebuild state to BuildBatches. This
looks ok on screen, but if the node changed from alpha to opaque, it
would not be put into an opaque batch. For things like full screen
rectangles, this can potentially hurt performance.
To prevent doing a full rebuild on any material change on batchless
items (aka all Rectangle nodes), we store the blend state of the material
in the element and do a full rebuild only when blend state changes.
Change-Id: Ifdf06fb72ef02ca47a135c821ddbcbe0d164ca29
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Frederik Gladhorn [Thu, 1 May 2014 10:44:51 +0000 (12:44 +0200)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I996a85744753598bb48c7e0d7954049202f4f037
Samuel Gaist [Thu, 1 May 2014 07:21:05 +0000 (09:21 +0200)]
Update tst_qquickapplication to support OS X ApplicationState handling
This patch modifies tst_qquickapplication so that it tests correctly
against OS X's new ApplicationState handling
Task-number: QTBUG-10899
Change-Id: Iea20b0137daabe03fdddf98435dc2626e122741f
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
J-P Nurmi [Tue, 29 Apr 2014 12:56:47 +0000 (14:56 +0200)]
QQuickStyledText: do not insert an extra blank line in the beginning
Do not insert an extra line-separator when the document begins with
an element such as <p> or <h1> that causes an implicit line break.
Task-number: QTBUG-38531
Change-Id: Ib1da9df9a4a767cf11c63a4e2845f334cd69df69
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Fawzi Mohamed [Tue, 15 Apr 2014 22:42:40 +0000 (00:42 +0200)]
v4: ignore quiet bit for NaNs in 32 bit value encoding
on iOS x % 0 generates a NaN with the silent bit set, i.e.
0x7ffc_0000_0000_0000 which was interpreted as a null managed object
which crashed the interpreter.
Task-number: QTBUG-36859
Change-Id: Idf31ad9f0454f83d321b49b2f76bdbc2ee906189
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Sze Howe Koh [Fri, 25 Apr 2014 14:47:47 +0000 (22:47 +0800)]
Doc: Remove references to the unimplemented 'time' type
Task-number: QTBUG-32295
Change-Id: Iedd61d0494aeebd6d99a39f4eb81e7461c20a079
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Fawzi Mohamed [Tue, 29 Apr 2014 10:13:08 +0000 (12:13 +0200)]
v4: assert when an unsupported double value is stored in a value
we assume that just few NaN values can be generated by the HW
(currently 0x7ff800..00 and 0x7ffc00..00), and we use the other values
to encode js values.
If uninitialized memory is interpreted as double or another NaN is
explicitly constructed and feed to the interpreter, it might crash
(later when actually accessing that value).
Adding an assertion to catch those values when assertions are active
for the 32 bit encoding (64 bit already has it).
Task-number: QTBUG-36859
Change-Id: I7ac7b2619f286ba19066729836af718014a515a6
Reviewed-by: Johannes Matokic <johannes.matokic@microchip.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Bernd Weimer [Fri, 25 Apr 2014 16:16:25 +0000 (18:16 +0200)]
Fix qmltest/animators/tst_on.qml
Change-Id: Ief27b20de100cc7517edab03d752e8eb4299a538
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Erik Verbruggen [Tue, 15 Apr 2014 13:34:03 +0000 (15:34 +0200)]
V4 regalloc: optimize fixed interval creation.
Instead of creating ranges for all caller saved registers one at a time,
create a single template for all of them. Then change the template for
a (all) specific registers. So, instead of building the ranges every
time for all registers, do it once, and re-use the array. We currently
treat all registers as caller saved, so the ranges can actually be
shared.
Change-Id: I39111ba88be5c49bbab8fe4f2f8c5ad1c89ef282
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Erik Verbruggen [Tue, 15 Apr 2014 13:30:12 +0000 (15:30 +0200)]
V4 IR: more copy removal.
Change-Id: Ie86bf5902328ad105fb07eb3e2809db21ff024d9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Gunnar Sletta [Fri, 25 Apr 2014 13:34:55 +0000 (15:34 +0200)]
Mark material as dirty after changing color's opacity in Rectangle.
Change-Id: I8037908bb2ba494001c516e2c7606c3bb54a14d8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
J-P Nurmi [Tue, 29 Apr 2014 09:50:37 +0000 (11:50 +0200)]
Eliminate a static global QString in qquickpath.cpp
Change-Id: Iad3838f1d215c02555be0acd5f313eaefd4f90a0
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Erik Verbruggen [Tue, 15 Apr 2014 13:33:27 +0000 (15:33 +0200)]
V4 IR: replace QSets with QBitArray and QVector.
Change-Id: I565e0a22d4e94495eb427b85a59a62733a815527
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Zhang Xingtao [Tue, 29 Apr 2014 00:36:27 +0000 (08:36 +0800)]
Add dependency check for quickwidgets
If not, there will be an error when building with -no-opengl option:
"Project ERROR: Unknown module(s) in QT: quick-private"
The quickwidgets module depends on qt quick module, and qt quick
module depends on opengl.
Change-Id: If74b5582bdd96ed19ec10dbc534d02146717bc08
Reviewed-by: Liang Qi <liang.qi@digia.com>
Michael Brasser [Wed, 23 Apr 2014 02:10:58 +0000 (21:10 -0500)]
Ensure RGB32 images are not converted on upload to atlas.
Fixes "Typo No.12" reported at http://www.viva64.com/en/b/0251/
Change-Id: Ifa4d57df68b9515c76a8fb94f87d0a70ba3b5faf
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Friedemann Kleint [Mon, 28 Apr 2014 11:41:34 +0000 (13:41 +0200)]
Fix linking of qmlimportscanner in MSVC debug builds.
Qt5QmlDevToolsd.lib(qqmlirbuilder.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QmlIR::CompiledFunctionOrExpression::CompiledFunctionOrExpression(void)"
Use Q_QML_PRIVATE_EXPORT so that it does not have effect when building
qmldevtools.
Change-Id: I138fe9cba518829d7ec1d0bfe9d4a9d657446c7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Simon Hausmann [Sat, 26 Apr 2014 12:42:39 +0000 (14:42 +0200)]
Fix translations in states causing failing assertions
This is a smaller fix suitable for the release branch, merely adding support
for translations to the bytearray compilation step for states and ensuring a
consistent error message when qsTr is used in list models.
The proper fix will be done in dev that eliminates the entire intermediate
QByteArray storage for custom compilers.
Task-number: QTBUG-38492
Change-Id: If5171f16eb742c718e48b8bbcb265b0c241cd5e7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 28 Apr 2014 08:08:36 +0000 (10:08 +0200)]
Fix packaging builds
In order to access the js parser in release builds, we need to export
these symbols (althoug they remain private API).
Change-Id: Id534bfc8027f9a6feab53b09e7397d920e59e3f8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Wed, 16 Apr 2014 07:36:38 +0000 (09:36 +0200)]
Fix marking of prototype objects in internal class pool
As per reported bug, we have to protect ourselves against potential loops
and can mark the internal classes much simpler by just walking through
the memory pool they were allocated in.
Task-number: QTBUG-38299
Change-Id: I3ae96e8082e76d06f4321c5aa6d2e9645d2830a0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Laszlo Agocs [Thu, 24 Apr 2014 15:14:41 +0000 (17:14 +0200)]
Follow QOpenGLContext API renaming
Task-number: QTBUG-38564
Change-Id: Ice1170339f7d650fcb6accfccf325471629343d6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Giuseppe D'Angelo [Thu, 24 Apr 2014 14:46:28 +0000 (16:46 +0200)]
Don't forcibly accept touch events if mouse event synthesis is disabled
Instead of always accepting touch events, do that only if we are
generating mouse events for non accepted ones. This enables
QQuickWindow subclasses to detect if a touch event was indeed
handled by QQuickWindow.
Change-Id: I73512fb3597131c2296d6cdc7b3d5c8454b159b6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Albert Astals Cid [Thu, 24 Apr 2014 14:15:45 +0000 (16:15 +0200)]
Remove unneeded ;
Warnings returned by pedantic
Change-Id: Ic2caba475db9064bf302790299d92a217436d0ee
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Bernd Weimer [Wed, 23 Apr 2014 13:47:10 +0000 (15:47 +0200)]
Skip qquicktimeline auto test
On platforms where casting qreal value infinity to int yields a
positive value the test will fail. Test will be skipped on those
platforms.
Change-Id: I9f373a9598ffd72e857c96edce3df216070326c9
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Paul Olav Tvete [Wed, 23 Apr 2014 07:58:32 +0000 (09:58 +0200)]
Getting the render window of an offscreen window
When using a QQuickWidget, the QQuickWindow is hidden and the contents
are displayed in another window. Some components need to query the actual
window, e.g. when positioning a popup.
Task-number: QTBUG-38116
Change-Id: I34452be2179ccc9e216e4d89264dc700e0cf42a0
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Erik Verbruggen [Wed, 23 Apr 2014 13:13:56 +0000 (15:13 +0200)]
V4 regalloc: fix register spill choice under high pressure.
When a register is needed for an input parameter of an operation, and
all registers are already in use, do not select a register for spilling
when it is also used in the current operation.
Task-number: QTBUG-38451
Change-Id: I4a8f28cbaadce2dbb9d0c450ccac0ed572936c24
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Tue, 22 Apr 2014 13:48:29 +0000 (15:48 +0200)]
Fix crash when loading QML that tries to set non-existent group properties
This happens when trying to search for implicit component definitions,
which only makes sense if we have a property cache.
Task-number: QTBUG-38466
Change-Id: I788159453efc24bcda1b9709a1933b49fd54d6a7
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Wed, 9 Apr 2014 13:39:37 +0000 (15:39 +0200)]
Fix parsing of JS imports from JS files
If a .js file had an import of another .js file itself, like so:
.import "otherFile.js" as Blah
then the import scanner would keep the quotes and store
"\"otherFile.js\""
in the JSON as opposed to
"otherFile.js"
This is fixed by making use of the same code for extracting the .import
statements from JS files that is also used by the engine itself.
Additionally this fixes the use of comments in .import lines (and other
whitespace characters not producing tokens).
Change-Id: I4dd4a5217308f6fc93b6b148cd8e13392f97d2a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Gunnar Sletta [Tue, 22 Apr 2014 15:59:41 +0000 (17:59 +0200)]
Testcase for mixing sequential, parallel with loops and animators.
Task-number: QTBUG-37246
Change-Id: I50c2d46f79fb79cb6eba856ba5b187358f1f2a52
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Gunnar Sletta [Tue, 22 Apr 2014 15:56:03 +0000 (17:56 +0200)]
Append the start time of the current loop to the animation time.
currentTime() uses the total time, so when we use only the loop-local
time for the child animations, normal animations will seem to have
terminated long ago (on the previous loop).
Change-Id: I80a229f40a99569014d8082d153ad579c09fb9db
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Gunnar Sletta [Tue, 22 Apr 2014 14:24:06 +0000 (16:24 +0200)]
Reset loop counters when animations are started.
Where normal animations would derive the current loop from the current
time, uncontrolled animations use an iterative approach and which was
not reset when an animation was restarted or a parent had a loop
around it.
Change-Id: Ia7a1880c8b7578463dff4c5ddeab48324bcb32ee
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Gunnar Sletta [Tue, 22 Apr 2014 13:38:15 +0000 (15:38 +0200)]
Fix sequential animations with uncontrolled looped children.
An animation needs to be through all its loop cycles or
explicitly stopped before we can consider it finished.
Task-number: QTBUG-37246
Change-Id: Ia30b27448ec7a1e0d2dd8165575b8a7105caae8d
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Gunnar Sletta [Wed, 16 Apr 2014 09:11:41 +0000 (11:11 +0200)]
Fix nested parallel/sequential animations combined with animators.
The logic for looping uncontrolled animations in
QAbstractAnimationJob::setCurrentTime assumes that uncontrolled
animations return duration == -1, always. The logic falls apart when a
duration gets set while the animation is running. To rememdy this,
update QParallelAnimation's duration to return -1 for this case. This
is also how the sequential group's duration is implemented so these
are now using the same pattern.
Update the logic in parallel animations to flush previous loops in
updateAnimationsTime to handle the case where duration is -1. This
solves the case where we have for instance:
ParallelAnimation
Sequential
YAnimator: duration: 1000
ScriptAction ...
Sequential
Pause duration: 5000 <--- longer than yanimator
ScriptAction ...
Task-number: QTBUG-37246
Change-Id: I7a1ea547b2f3090feb8b1e87aa7ca746151736fa
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Tony Sarajärvi [Thu, 24 Apr 2014 08:38:56 +0000 (10:38 +0200)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
Sergio Ahumada [Thu, 17 Apr 2014 15:05:55 +0000 (17:05 +0200)]
Bump MODULE_VERSION to 5.3.1
Change-Id: I0a7f6b59a5070ea8bb42789e000ed1d3a33544ea
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Fabian Bumberger [Tue, 22 Apr 2014 15:57:54 +0000 (17:57 +0200)]
Fix time zone calculation
The result of local time minus global time might be negative.
On QNX time_t is defined as unsigned int and thus the subtraction
will not produce the expected result.
This patch converts the local time and the global time
to double before subtracting them.
Task-number: QTBUG-35693
Change-Id: Ifa442b242a4aa23c59fa427015346150b89c9343
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Bernd Weimer [Tue, 15 Apr 2014 12:26:58 +0000 (14:26 +0200)]
QNX: Fix qquickimage mirror auto test
Change-Id: If43d9eb411dee374faa1f9d85325ba449242aec8
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Bernd Weimer [Wed, 23 Apr 2014 08:39:50 +0000 (10:39 +0200)]
QNX: Fix item layer auto test
Change-Id: I9600f278598d49335624bf22d40853174b7497fe
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Bernd Weimer [Mon, 14 Apr 2014 07:50:41 +0000 (09:50 +0200)]
Always implement text input "canPaste" property
This is needed for TextField control for instance.
If QT_NO_CLIPBOARD is defined, canPaste will always return false.
Fixes dialogs auto test when QT_NO_CLIPBOARD is defined.
[ChangeLog][QtQuick][Platform Specific Changes] Added canPaste
property to TextInput element also on platforms that don't support
a clipboard (QT_NO_CLIPBOARD is defined).
Change-Id: Ia85205672ba59c1fce70852458c514b03d332de6
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Bernd Weimer [Mon, 14 Apr 2014 07:42:52 +0000 (09:42 +0200)]
Fix accessibility auto test
Prevent crash on platforms that don't support accessibility by skipping
tests.
Change-Id: Ie1648399d71546d222d6b37ce57f649b4cac303b
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Simon Hausmann [Wed, 12 Mar 2014 15:55:06 +0000 (16:55 +0100)]
Extend the QML bootstrap library by the IR builders
This is among other things needed to fix the qml import scanner to detect
dependencies from .js files correctly.
The patch also fixes the use of Q_QML_EXPORT towards Q_QML_PRIVATE_EXPORT
where appropriate and corrects the wrong include path for the double conversion
code to actually be relative to the file it is included from. This worked by
accident because of other include paths present in the build.
Change-Id: I338583dad2f76300819af8ab0dae8e5724c84430
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Jani Heikkinen [Wed, 23 Apr 2014 09:44:13 +0000 (12:44 +0300)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I1214586499ab2876c8bc55a99367a0c938c8b919
Gunnar Sletta [Fri, 11 Apr 2014 14:21:54 +0000 (16:21 +0200)]
Support shutting down the render thread without an OpenGL context.
[ChangeLog][QtQuick][SceneGraph] There might not be an OpenGL context
bound when QQuickWindow::sceneGraphInvalidated() is emitted if an
error occurs while cleaning up the scene graph (such as
EGL_CONTEXT_LOST). This is according to the documentation, but has
never occurred in practice before.
Change-Id: I13dbfbb4b6d0d27fa42fcb8b54df16ea02284807
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Topi Reinio [Tue, 22 Apr 2014 11:32:56 +0000 (13:32 +0200)]
Make the Clocks example use the resource system
Make the Clocks example use the Qt resource system and the
shared main(), in order to have easy deployment to all
platforms and support for shadow builds.
Task-number: QTBUG-37203
Change-Id: Ia235b6b2397cfaeb20f0c7ea0d6196c603b20099
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Paul Olav Tvete [Thu, 16 Jan 2014 09:42:47 +0000 (10:42 +0100)]
Implement the new inputmethod query API for Qt Quick
Part fixing Android input methods. This change corresponds
to
68a9229a97d358639 in the qtbase repository.
Task-number: QTBUG-37511
Change-Id: I483abf6a9d5dec86dbd1ae2dff2a85bc19d126f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Shawn Rutledge [Wed, 22 Jan 2014 13:25:48 +0000 (14:25 +0100)]
If a popup window is opened, do not change the focus
It's not working to have QQuickWindow lose focus every time a menu is opened.
This doesn't happen on OSX because menus are implemented as special native
ones, but on X11 a menu is another window. In QtQuick Controls it's
useful for copy/cut/paste Actions to be enabled based on whether
some text has focus.
Change-Id: I092b46133b9a8a44639ad9d89ee2bdfe30206bd9
Task-number: QTBUG-36292
Task-number: QTBUG-36332
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Ulf Hermann [Thu, 27 Mar 2014 13:12:40 +0000 (14:12 +0100)]
Make profiling of pixmap cache events more consistent
Previously canceled replies weren't reported, the cache count was
reported before it was updated, and the request or implicit sizes
were reported instead of the size actually stored in memory.
Task-number: QTBUG-37890
Change-Id: I9d9d9f6b9bfa75c7d56b778fc8174bda4e842d72
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Fawzi Mohamed [Wed, 9 Apr 2014 13:42:06 +0000 (15:42 +0200)]
qmlplugindump: correctly merge composite types
When hiding part of the hierarchy during the merging of composite
types properties/methods/signals that are hidden should not be dumped
twice.
Task-number: QTBUG-38354
Change-Id: I328cf25dd5a70e1c0fce017e8ae572e8a9e56245
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Albert Astals Cid [Tue, 15 Apr 2014 13:27:29 +0000 (15:27 +0200)]
QQuickItemView/QQuickPathView: Fix creation of delegates
When the delegate is set before the model and
after the ItemView/PathView has been created
Task-number: QTBUG-38368
Change-Id: I6963abe28087699cf4e8921153dc7641bae3b220
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Ulf Hermann [Fri, 11 Apr 2014 15:28:52 +0000 (17:28 +0200)]
Make sure the clipPath is retained as state of Context2D
The W3C spec doesn't say anything about the clip path getting reset
automatically at any point and so I guess we should retain it. This of
course is terribly annoying if the canvas element gets resized and ends
up with a default clipPath that doesn't match the canvas anymore. You
basically have to call reset() in every onPaint now. However, this just
highlights a general problem with stateful canvas contexts and we cannot
ignore user defined clipPaths like this.
Task-number: QTBUG-38297
Change-Id: I233226af6458298ef3d752d08ecdebebae2e0a8f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Andy Shaw [Thu, 17 Apr 2014 08:24:35 +0000 (10:24 +0200)]
Prevent a crash when the item is deleted but not removed from cache
If the item is not removed from the cache when it is deleted then the
cache can end up pointing to an invalid item which when accessed will
cause a crash.
Task-number: QTBUG-38430
[ChangeLog][QtQml] Prevent a crash when the item is deleted
but is not removed from the QQmlDelegateModel's cache.
Change-Id: I8cf76b014be62a432d909a3573231cec84a6d678
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Simon Hausmann [Thu, 10 Apr 2014 10:58:15 +0000 (12:58 +0200)]
Refine fix for dynamic properties on QObjects wrapped in JavaScript
This is an ammendment to commit
60730cbb5e5475b5db6a15641211aa6958a93197
to further restrict the ability to set dynamic properties on JS wrapped
QObjects only on those that are associated with a qml context. Only one
such association comes with the static property lookup rules of QML and
therefore only those should be prohibited from dynamic properties.
The previous implementation on using the "compiledData" field to detect QML
association or not is not strong and reliable enough.
Change-Id: I10c0e6e58a2727c01a6cb56fdf912bf250333e1f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Erik Verbruggen [Thu, 10 Apr 2014 11:59:32 +0000 (13:59 +0200)]
V4: fix register usage on ARM.
JSC was using r3 as the address scratch register, which collides with
the 4th parameter in a function call. This sometimes shows up when
generateFunctionCall needs to do a calulated jump.
Also fix the usage of r11, which seems to be the fp on some platforms.
Change-Id: Ib2ea64b9342e5aa631db6a7641747f899b2fbd89
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Jerome Pasion [Mon, 14 Apr 2014 13:57:57 +0000 (15:57 +0200)]
Doc: Improved Qt Quick Demos documentation
-added include from qtbase/doc/global about running the example.
-added link to "QML Applications" (main landing page for QML)
-highlighted the names with \e
-various documentation changes
Task-number: QTBUG-33597
Change-Id: I9e23b8b61862c424f2a17003b3d1f5b2ef931ceb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Friedemann Kleint [Fri, 11 Apr 2014 10:23:57 +0000 (12:23 +0200)]
Stabilize qmltest/animators/tst_on.qml.
Task-number: QTBUG-38290
Change-Id: I521c50db3ddc8053179f0acd421639e13754ec7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Friedemann Kleint [Tue, 15 Apr 2014 13:10:23 +0000 (15:10 +0200)]
Change slashes depending on host in tutorial gettingStartedQml.
Task-number: QTBUG-38224
Change-Id: Ib2c14b88bd86f2c1254be716a9fa4f93143bbd0a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Erik Verbruggen [Tue, 15 Apr 2014 13:28:06 +0000 (15:28 +0200)]
V4 IR: reduce runtime cost.
- Replace 2 QHash<BasicBlock *, ...> with QVector<...>, where the
basic-block index is the index of the vector.
- Nearly all QHashes and QSets will have a minimal fill rate. So,
initialize/reserve all of them with a reasonable minimal size to
prevent re-allocations and re-hashing.
Change-Id: Iade857991d73fddd0b92cecb8d458064b253a08d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Erik Verbruggen [Tue, 15 Apr 2014 13:26:54 +0000 (15:26 +0200)]
V4 IR: prevent accidental detaches of QVectors.
Change-Id: I20ebf44ff0609f6833f7e59a4f2fb312be11b8c1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Erik Verbruggen [Fri, 21 Mar 2014 09:56:52 +0000 (10:56 +0100)]
V4 IR: clean up basic-block management and statement access.
BasicBlocks have an index property which points to the index of that
basic block in the container array in Function. This property can be
used to store calculated information about basic blocks in a vector,
where the vector index corresponds to the basic block index. This is
a lot cheaper than storing any information in a
QHash<BasicBlock *, ....>.
However, this numbering requires that no re-ordering or deletion of
blocks happens. This change cleans up all that handling which was
scattered over a number of places.
Change-Id: I337abd39c030b9d30c82b7bbcf2ba89e50a08e63
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>