| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I19545953bde10d4ccc2f37843dcda2569dc77df4
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Qt Quick 1 is dead since Qt 5.0, so it doesn't make much sense
anymore to link to different names there, or highlight behavioral
differences.
Task-number: QTBUG-70780
Change-Id: Iac5e0b226621f127714e722a11208ca1b21d977f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When flicking, the current implementation would load and unload
edges around the table until the new viewport was covered. The downside
of that strategy is that you if you move the viewport a long
distance in one go, you will need to load and unload edges hidden
outside the viewport until it catches up with the new viewport. It gets
even worse if you flick with a scrollbar, since then you can end up
flicking thousands of rows in one go. And this will keep tableview
busy loading and unloading edges for a "long" time.
This patch will fix this issue by checking how much the viewport
changes during a flick, and select a strategy based on that. So if the
viewport moves more than a page (which is the size of the viewport), it
will schedule a rebuild of the table from the viewports new location,
rather than trying to load and unload edges until it catches up.
Fixes: QTBUG-70704
Change-Id: I88909e118ec0759a7b7a305c19ccc6670af6263b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This should make debugging easier (qDebug() << value will print
the name rather than the number).
This patch does not address remaining enums in private classes,
namespaces and non-QObject classes.
Change-Id: I1d28e5b15de5a4f267e280ff1823bc5982ac29ca
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-70374
Change-Id: Ic382bef1f6155ecd4d4b0a5a4e7b28b3dcb257ff
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
| |
Change-Id: I17484583ca02f98d6120816611ccc7e8b0ce43e3
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
|
|
|
|
|
| |
Change-Id: I70043699d15daf858c47d30018060aef31810abb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flip the default value of enableVendorExtensions, so that we use
the generic Shape backend (triangulating + QSGGeometryNode) by
default, even on NVIDIA systems. The Nvpr backend is only tried when
enableVendorExtensions is set to true by the application.
This makes the offering more stable over all since applications will not
run into confusing glitches that only reproduce on certain systems while
behaving differently on others.
[ChangeLog][QtQuick] The Shape item is changed not to try using
GL_NV_path_rendering by default, unless explicitly requested. Thus the
default value of enableVendorExtensions is now false.
Task-number: QTBUG-66843
Task-number: QTBUG-66457
Change-Id: I564708b672bd08a8e760af689d64349aab4ead82
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
| |
Change-Id: I5970e3261a8a0891965c99d4d8c352ebf4cc6681
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
| |
Change-Id: I6bf4f97d147f13a19a30e3bfdcadefe55fb656f8
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
| |
It's been pretty much unused. ArrayData::Simple does the job.
Change-Id: I0fbd0b7787499244f4c8ca00b3ba7330a6640b75
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a shortcut if the rhs is a functionobject with the
regular function proto as prototype.
Add an optimized instanceOf implementation when we already have some
checks done, and inline some methods.
Change-Id: Iab9b648ae7bbec749b319e883b6ae90a23875454
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Ensure we have the proto property at always the same place.
This will be used in a subsequent commit to optimize accesses
to the prototype property e.g. when doing instanceof
operations or constructor calls.
Change-Id: I6e9a19e0b7d0e8ab583648a60d1978f5cf838b06
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In line with the previous commit, allow entries with a valid
PropertyKey, but invalid attributes in the InternalClass. Those
entries mark a deleted property.
This cleans up/unifies some of the code in the internal class
implementation and allows re-using the slot if a deleted property
gets added again.
Change-Id: I1bada697486e3cafce7689bae87b7f884200dd99
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, changing an existing property into an accessor
property would cause the slots in the object to get re-arranged
to make space for the additional setter required.
Change this by dropping the requirement that getter and setter
slot have to be next to each other. This has the advantage, that
any slot we define to be at a certain position in the internal
class/object will stay there and we can use that assumption to
optimize accesses to the slot.
Change-Id: Ib37c2a49fc6aae42ea4b2da36ac1dc3036540c12
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
| |
The only place where we now assume that getters and setters are
next to each other in the MemberData is in the internal class.
Change-Id: I3285f3abb1cbfe051853e808339cd360eb602262
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
| |
This is required, so we can get rid of the requirement that
getter and setter live next to each other in the member data.
Change-Id: I2ed57a171628af4dfecd1836d00e958c6bed9d4f
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Specialize find() into several methods for different purposes.
Prepares for further cleanups and being able to split up
getter and setter for accessor properties.
Change-Id: Id4ec5509ac1a1361e2170bbfc2347b89b520c782
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
| |
Change-Id: I0c8cbf0914b8de4613ab203876636746f41d9718
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Moving the viewport in the middle of a layout operation is a bad idea as
it causes the visible items to change.
Task-number: QTBUG-49224
Change-Id: I45a214560e00b65ed53b9385e7a539bb4304b7d9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the context or object in question gets destroyed during incubation,
that is not a major problem. We just clean up the mess and continue.
Especially, failure to create a delegate for an item view is not fatal.
This routinely happens if the whole view has been dropped between
object creation and incubation.
Since 0412de08fd65c5fef9d010a68b40a256f521ef61 info and warning levels
are properly separated.
Task-number: QTBUG-49224
Change-Id: Ie59dfca8edf91b80dcf33e742766863feba9c8fa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We preload delegate items when the table is built from scratch to ensure
that we have enough items in circulation before the user starts to flick.
But when we only rebuild a section of the table after e.g adding or removing
rows, we already have enough items in circulation. So only preload when
building for RebuildOption::All.
Change-Id: I96aa9518e8032ecaba25f92fe6a0fbf17ea34c7d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: I71e2fcaa4358a20bc6ec5b1c89a24b23549f1334
Fixes: QTBUG-59992
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is not enough to call QGlyphRun::boundingRect() to determine the true
bounding rect of a series of glyphs. This issue would manifest itself
when rendering italic text. Now we calculate the bounding rect for a
QGlyphRun when they are changed in the node so that that the clip rect
for glyphnodes reflect what is set on the node.
Task-number: QTBUG-68085
Change-Id: I834a7312052c8c5a4ad62f28333108c051d7f7b8
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
| |
This can be very useful to access from external modules and
plugins, to allow customizing the meshes used in ShaderEffects.
Change-Id: I6ed62d6292f1550eb5bc0e690ec42ce7c35fe3d0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
| |
The latest version of QtCreator is detecting issues in the code
that the compiler doesn't warn about. This patch will fix those
issues.
Change-Id: Iab6a75196161ab253f0590929d3722bec5ea4b31
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VisualDataModel, VisualDataGroup, and VisualItemModel
are replaced with DelegateModel, DelegateModelGroup, and
ObjectModel respectively (since
7cad0e52c5a020bd29635e9912fd8946a6b48124).
Also renamed/deleted a few snippet files and an image.
Task-number: QTBUG-37725
Change-Id: I5fa93993a31d8f9b08e7a282d5550ddd9bfb813f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
Otherwise you might be able to put INT_MAX in, which would cause
problems with things like memory allocations.
Task-number: QTBUG-54752
Change-Id: I758d04af65049181c0c741ff42e92a6450963201
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to do cleanup in C++ before other parts being destructed.
It QtOpcUa we need to destruct a subprocess. Until now it was done in the
destructor of the setup class. When the destructor is called the eventloop
already died but the process is still sending output when being terminated.
In the windows event handling a nullptr is being dereferenced in this case,
see QTBUG-70641. When terminating this process somewhat earlier, when the
eventloop is still available, the event dispatcher is able to handle those
events without crashing.
Another reason to have this function is because there is applicationAvailable()
being called to initialize C++ code and there should be an equivalent function
for cleaning up.
[ChangeLog][QtQml][QtTest] Add cleanupTestCase() to be called before starting destruction
Change-Id: I24f7a51ec5276a449892609f5b2cfe7957c27668
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Their use may trigger setting c->requiresExecutionContext on the module
context, which is correct. However, unlike functions, modules at
instantiation time always have their context created ahead of time (to
populate imports). Therefore we must not emit call context creating byte
code instructions where we'd end up storing exports in the wrong place.
Change-Id: Id1264f1cfa6a7f1cd94247ffe71938bc9c5c3ff9
Fixes: QTBUG-70632
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
Give Arrow functions their own representation. This also prepares
for further optimizations especially for the instanceof operator.
Change-Id: I1f70c0271169a237e1acdeb7fe855be957ba2ea5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I913f9429a9238860a5b4e9dc84d217ec824f25c1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I1f2c796b50d05c238fad36434b2545604a401fbf
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
| |
Object::getOwnProperty never modifies the object,
so make it a const member function.
Change-Id: I175bb45d61a66a1d9f577c087129562d44d62e17
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It doesn't serve any useful purpose. The cleanup is done on destruction
anyway, and re-opening the underlying device after it was closed isn't
supported.
Furthermore, clearing the sendingPackets leads to a crash when the
device sends another bytesWritten() signal after aboutToClose(). That
can happen, for example with local sockets on windows, when flushing the
remaining data.
Fixes: QTBUG-70638
Change-Id: Icd636efc9794a127a3869a1c3e999d2286593067
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
componentComplete() is called on us after all static values
have been assigned, but before bindings to any ancestors
have been evaluated. Especially this means that if our size
is bound to the parents size, it will not be ready at that point.
Since we cannot build the table without knowing our own size, we
waited for the updatePolish() call before we started to build
the table.
The problem with that strategy, is that any asynchronous loaders that
TableView might be inside would already be finished by the time
we received the updatePolish() call. The result would be that we
ended up loading all the delegate items synchronously instead of
asynchronously. (As soon as a loader has finished loading the initial
item, async loading will no longer be used).
This patch will therefore add a componentFinalized function that gets
called after all bindings have been evaluated, but before the loader
has finished. When receiving this call, we load the delegate items (and
build the table).
A nice side effect is that the table will also be ready
by the time Component.onCompeted is emitted to the QML
app. This means that e.g contentWidth/Height has valid values.
Change-Id: Ief92d2fecfaea54f6191da116ed4ba79cc673b01
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of Primitive and move the corresponding methods
directly into Value. Mark many methods in Value as
constexpr and turn Value into a POD type again.
Keep Primitive as a pure alias to Value for source
compatibility of other modules that might be using it.
Change-Id: Icb47458947dd3482c8852e95782123ea4346f5ec
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Ib1b224ad27428ca37450f269b491cfa9d82e559a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Optimize virtualGet() for the common case where the proto chain
are all regular objects.
Change-Id: I51eea9a4b96033be4effc2072fedc5b9b08e8440
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This helps make that memory known to the GC as well, and makes
marking of internal classes much more efficient, as we don't
mark the property keys repeatedly (even if they are shared
between different internal classes)
Change-Id: Ibb7e5383672d7657926bd08bf13f73f7680a9f31
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Match the argument order to the lookup functions being
called to minimize register shuffling that needs to be
done inside the function.
Change-Id: I0c55234d0c86b524dad021a519c6416d62d34c52
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Ia8dfe95d6a51a8645ece983e050bf27d868715f8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I78cd0224399865e2b87bbf2771f70009a9374866
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Icdd0f303f06605e8fdf2f1b324274ad95bfdebf3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I634f30ceb520af440c668e597a82b09b3c0024c9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Ie6534d5443ad046211620c4e0b586d189d0adbef
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc now supports macros for its command parameters, as well as passing
parameters to \code and \qml commands. Use these together with the
new \QtMinorVersion macro to automate bumping the QML import versions
within documentation.
Task-number: QTBUG-67818
Change-Id: I8b5300749880421a0d7cdacc1b2c0f96b3b7ef67
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
| |
Change-Id: If0483546fd88ee0270938f2cd72fbf69936f2a20
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Save some instructions when converting a Stirng to a property
key.
Change-Id: Ide05ba8a54b504f5e606bdcdab53a2a0afeb9436
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-70547
Change-Id: Idc0c20d3aee354366daefc99e10eec74065bf579
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|