| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
When a type declares a new default property, then the old default property
continues to apply to its own bindings.
Change-Id: Iafeec772baa4e1a430b09eed0b348b83984246cd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to search every object for properties that implicitly define
components, unless the object itself is a Component. That means if there's a
QQmlType and that meta-object is QQmlComponent's or there's no QQmlType because
it's a composite type.
Fixes QtQuickControls parsing.
Change-Id: I3fc7c2aff0c83ceada0c6772a02eff40a22777c9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For a rectangle like this:
color: "blue"
border.color: "red"
we must not issue a duplicate property error for "color" because they
are in different objects. This patch fixes that by moving the sets for
checking the presence of these into the object itself, so that the qSwap
on _object also transitions to the correct property/signal name set.
Change-Id: I9ac0e5877eb9f60b618b031f99290707de28112d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
List model definitions make heavy use of custom parsers, which requires AST
access as well as a general port to the new QQmlCustomParser API.
Additional fixes in the custom parser support were needed to pass all tests:
* Fix support for AcceptsSignalHandlers and AcceptsAttachedProperties
* Don't call setCustomData unless the compiler generated data earlier
Change-Id: Ic42f8a890391267c94f63d35f055b60fdbf3c83d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Imported types with a meta object that contains revisioned attributes, need
their property cache created for exactly the imported version. So this is done
ahead of type and populated in the resolved types, similar to the old code path
in qqmlcompiler.cpp.
Change-Id: I65a5d140d8f49cceeeee1162ab2d6376ad9c2e42
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The TypeReference is not copy-safe, as it holds refcounted property cache
pointers. For the new compiler code path, don't copy them but keep pointers to
TypeReference objects around. Also make sure to ref the root property cache
correctly and avoid the unnecessary addref for the property cache when creating
new vme meta objects (initial refcount is 1).
Change-Id: I0c4b952c8300c2167d926d9c35b8579fd505d596
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
Types with a custom parser attached don't need to continue with validation of
properties in sub-objects.
Change-Id: Ib25f8e037cf651dfb30dd4016f89980612dff4f4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
When scanning for component roots of explicitly defined components, make sure
to skip synthetized ones. Now samegame runs :)
Change-Id: If64171aefc1105a130a1a50e855af87977d2f3af
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\
| |
| |
| | |
refs/staging/dev
|
| |\
| | |
| | |
| | | |
Change-Id: Id265682aa7db9be1c0b305ab3207b2c932a25a9f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also added some "white-box" unit tests and sprinkled in a bit of
documentation. The case that went wrong is covered by the test
rangeSplitting_1: before the fix, the new interval would have
two ranges: [66-64],[70-71]. The first range is invalid and should not
be there at all.
Change-Id: If0742f4e6a96d98ea5d696f95126886ba66f92bb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|/ /
| |
| |
| |
| | |
Change-Id: Idd3e0ede63be101a757a4f5f531693e3c7a24af6
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move the definitions to the header and adapt the documentation.
Task-number: QTBUG-35315
Change-Id: I511a192cfe1e3e09ade035175cb8f3f332022143
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Like this we don't have to check for QQmlProfilerService::instance
anymore in order to find out if we can use the profiler service. If
instance == 0 then enabled == false. Furthermore if it was thread safe
before it must still be thread safe like this.
Task-number: QTBUG-35315
Change-Id: Ie5737e3586f2431afbf11423ba53fd13dd371feb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is in preparation for listmodel support, share the code for resolving
types and enums between the old and the new compiler, as all it needs is the
imports.
Change-Id: I4908d71eee50c769108e0e2b68b03496722fa49d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After the binding of QQmlCompilePass to QQmlTypeCompiler, I forgot to
change the customer parser handling to also report the errors correctly
back to the QQmlTypeCompiler. Instead they were collected locally with an
empty url.
Change-Id: I5ee527a77e27c0339c507f326a3b0f0837353db3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When trying to determine if an object binding should be a component or not
and we don't have a property name for the binding, then we must check if the
default property happens to be a QQmlComponent.
Change-Id: Ie21fc438b8b2d86caa3991794e6eac688c074440
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Behavior on x { NumberAnimation { ... } } is implemented by assigning a value
interceptor (Behavior is a sub-class of that) to the x property in a special
way. That requires various things:
* A VME meta-object must be created and installed on the surrounding object, in
order for the interceptors to work
* On assignments need to be excluded from duplicate property assignment checks
* Behaviours require also finalization callbacks on component creation
Change-Id: I40250b71081a2e315cda3bdb6677fa4b227fa443
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move the outter loop into the builder class itself, use a vector instead
of a list (we know that it's a fixed size and we only do indexed access)
Change-Id: I933f0496ea47b3bc7c2bebde7f1a14b4f603b4c3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
This requires the use of the customer parser together with lazy binding compilation
Change-Id: I45d8a206267d3e0c807771a79645168254be9c95
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
These should later get resolved at compile time, like enum assignments.
Change-Id: I2f40c8d13330d2a101f79af12fe708f466eef225
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bindings with an object initializer without a type name must be
group properties, instead of regular object bindings. Fixes
font {
pixelSize: 24
}
versus
font.pixelSize: 24
Change-Id: I468caa48be13f91f88545ef001ac9aaa46ba5d14
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/imports/dialogs/DefaultFileDialog.qml
src/imports/widgets/qquickqfiledialog.cpp
Change-Id: I00de6dd05cb773f01254061d585a82c90b229acd
|
| |\
| | |
| | |
| | | |
Change-Id: Id18709cb0a4d85ffdadffa28aef98323367292d4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For _ZN13BenchmarkDemo11initPhysicsEv from the Octane testsuite, the
total allocated memory drops from 1.5GB to 51MB. Peak memory usage stays
at 29MB.
Again, slow implementations of malloc()/free() will see a performance
improvement.
Change-Id: I21bc2f0d3735de0980fc9b3745906016e2e48a61
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The content of the FileDialog.folder property has not been applied
to the native QFileDialog, so it was not possible to pre-select a
folder for the file dialog.
Change-Id: Iaadd6aa71bc37739c16a2e7c5bff2d0050f15f3a
Task-number: QTBUG-35973
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Was due to string->URL conversion when setting FolderListModel.folder.
Task-number: QTBUG-36006
Change-Id: Ia768d8a5473b3d4c22ef9be7c8b3cf28d3956f6f
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After commit bf173fe5da381c88343296ca33ef6b06389c6d20 context objects are
always on the GC heap and no more in that special linked list or stack
allocated, so the next pointer became dangling/uninitialized and asserting on
it was bound to fail randomly.
Since we no more allocate contexts on the stack, we can safely remove the
assertion.
Task-number: QTBUG-35917
Change-Id: I104bd129c6c32f46a6302052f563abdf926cb879
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reduces the work for the dominator tree/frontier calculations,
because there are less blocks to consider. All blocks inserted by
splitting the critical edges, have (by definition) no effect on the
dominator calculations. However, the immediate dominators for all new
blocks needs to be added, because this information is used by the block
scheduling.
This change reduces memory/time usage during optimization passes,
especially when processing excessively big switch statements.
Change-Id: Ia69882e9dabdddffa1c98b1079012d8d988e1e8f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Changes to datastructures and more re-using of locally used temporary
vectors. For the test regress-74474-002.js this lowers the total
allocated memory from 1.98GB to 158MB. Thse peak memory usage stays at
75MB. There is no functional change.
This should give a modest performance improvement which mainly depends
on the speed of malloc()/free().
Change-Id: I1877c1903e59a33ee79ff2b801ef6f2c1cee30a6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The basic block scheduling uses this information to place loops. When
the immediate dominator information is invalid, the scheduling can be
sub-optimal, or will sometimes forget to schedule some blocks.
Change-Id: Iaeb45f2b757b676310be25a658ceadc07d5722ec
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch broke scaled text rendering
This reverts commit 6acaa1c42936f89d74324be9c0cce4873a9a565b.
Change-Id: I1f7a3ba0556f6d59bc1e28946631be2d9fc2b67d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When doing edge resolving, too many spills were generated, and the
dependency tracking of moves was not complete. Now we only insert spills
that are caused by phi-nodes (because any other spill would be generated
at the point a variable was defined). However, there can still be
multiple dependencies between the moves generated by the edge resolving.
Instead of only checking the first dependency, all of them are tracked.
The bug report was a case where an unneccesary spill was generated, that
got tracked, but "suppressed" the other (valid!) dependent move. The
randomness was caused by the hash seeding of QHash.
Task-number: QTBUG-35840
Change-Id: Ifbc3c8fc13de53c46a8b5859721b2497189921a3
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some setups like xvfb-run under Linux do not focus windows
after showing them, this means that any focus based test will
fail since the windows itself is unfocused. This makes sure
the test window will be shown and focused.
Change-Id: I1903b7cdf88b772e1ca15acd4899695b49615712
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The list is incomplete, and they are now fully documented under
QAbstractItemModel::roleNames(). This saves us maintaining two lists
that can easily get out of sync.
Change-Id: I4895a8ba19a4f48c26b4077e8bf2eba8c4c8407c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Enabling the profiler doesn't make much sense if there is no debug
service as the messages can't be sent anywhere then. Furthermore, the
profiler instance is only properly initialized if debugging is enabled
and thus enabling profiling without debugging being enabled can cause
problems.
Change-Id: I784a110126d45a9a2bc9d9e14d9a22e2980c3a42
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The renderer binds same buffer both for vertex and index data.
This is allowed on desktop & ES but is forbidden in WebGL.
Add a compile-time flag to disable this optimization(?) and
force using a separate buffer for the index data.
Change-Id: I57c17c883a55e02513a8e4427efb202cafaaf37e
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When proc is not mounted pthread_getattr_np fails, so default
to 1MB stack in getStackLimit and to exactGC in MemoryManager
Change-Id: Ic7515fd420f2d39a656808d24a3915a657722891
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |/
| |
| |
| |
| |
| |
| | |
Use QStringLiteral.
Change-Id: I201fc44b2a6bf0f7ff3ff1c9ea81ff3b64b2bba9
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQuickControls] Mac: ComboBox will only get tab focus when it is
editable.
Change-Id: Ife04de67b2e3dea77ba878b247ad0b676c879c02
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I73efc8c568e2368bc804eacab9e8f9cced8a030b
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ifaf96e567e735d9a837eaef798061bf08fc4a752
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/dev
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/jsruntime/qv4managed_p.h
Change-Id: I5da7ae9c87a539e42292f272d9e2b5faab619c9f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current implementation is based on QSettings.
Change-Id: I2e45070dabaf915b1c1b9f4e7c63b6c3e36e48a0
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0522a23617c897aff01b7b50e0af98553374d792
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8056757967ff2693f69b5a7afa11a00ca826ece0
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Clang 3.4 found it:
qv4managed_p.h:202:9: error: 'reinterpret_cast' to class 'QQmlDelegateModelGroupChangeArray *' from its base at non-zero offset 'QV4::Managed *' behaves differently from 'static_cast' [-Werror,--Wreinterpret-base-class]
QV4::Managed and QV4::Object are non-virtual classes (they have no
virtual table). I'm not sure if they are (C++11) standard layout, but
they seem to fit the bill. However, QQmlDelegateModelGroupChangeArray
has virtual functions, so the QV4::Managed sub-object in that class does
not start at offset zero. That means reinterpret_cast'ing the base to
the derived class is *wrong*, even if we're just calling a static
function.
In any case, we're static_cast'ing in the next line anyway, so this
can't hurt.
Change-Id: Icc796f7ecf8f41f859ea5fc877f5db5c87799964
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The property/methods documentation needs to be available in the
components qml file. Thus we now import those components from the
qml files directly instead of using fake header files.
Rename the Qt Quick Test page to Qt Quick Test Qml Types to be
consistent with the other submodules.
Task-number: QTBUG-33587
Change-Id: Ifb1df8e7d15f2e23b4b4268e5df138934e62fc42
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-35315
Change-Id: Idd35a330531722cb3d4e0d3e95cb3be6e5697688
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|