| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
QSGTextureProvider::texture() was getting a warning from qdoc because
it didn't find an exact match for its signature: the doc lacked const.
Ditch some spurious semicolons while we're about it.
Change-Id: I785ae8b8d46c839a1e29339284834a8b8e44bffe
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This prevents extra mallocs in nearly all cases, because the number of
incoming edges is not that big. The outgoing edge count has a maximum of
two.
Change-Id: I89195809952ce6087c5af51d717a4c2d8ac6b853
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I0def20d858de7721771702907b7a431b5fb90a1f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-50101
Change-Id: I0a7a8d7c3312923d956082fed7fcdf6567b44a7d
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ide872b452e02ebefb3eeb51464c8d59e8bf58bc4
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DocumentImpl (the root of all evil) inherits QQmlRefCount, thus, it has an
initial refcount of 1. We correctly released the initial ref in the case of
error, but if there is no error, we don't: we pass it over to v4 using class
Node which (in Node::Node) increments the refcount again.
When Node is later on collected by the GC, the document's refcount is never
decreased past the initial ref, thus, not deleted.
Task-number: QTBUG-50231
Change-Id: Icefe4391a785c95cb8900219be8ba71f9c53785f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
| |
A bit faster, not that this is the most important case for it.
Change-Id: I3e50bd4a45d2b60c105a9315ccf0b2c34502cb8d
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix broken value changed logic for types implemented
through the ValueTypeProvider interface (QtQuick and Qt3d).
It affects vector2d, vector3d, ...
The signal was not emitted for the cases where the new value
was equal to the default value of a given type.
Also add a unit test to cover this area.
Change-Id: I9491b0462c78fecc4c704ea36921611c1bd6b2ee
Task-number: QTBUG-50204
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4baf8416704fdb65b96b7e0b8620c651f9199159
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I417250992dbba3b67e891b0e929c09f2c95da299
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression in behavior whereby input is not blocked when the side
changes. In QtQuick1, input was tied to opacity: items with a 0 opacity would
not receive input. In QtQuick2, this is not the case.
[ChangeLog][QtQuick][Flipable] Flipable now toggles the 'enabled' property on
whichever side is active. This restores broken behavior compatibility with
QtQuick1, and blocks input to whichever side is not active.
Change-Id: I36e29089cd7ffd05bf1f415490e0e0816a86bf30
Task-number: QTBUG-37072
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QV4::Heap::Base::setVtable has a Q_ASSERT on the state of Base::mm_data,
but that member is never initialized anywhere (that is, the Base class
does not properly protect its invariant). There were workarounds in some
places for initializing the member, but only in debug mode.
That was wrong for a number of reasons:
1) Q_ASSERT is still enabled if QT_FORCE_ASSERTS is defined
2) in release mode, the compiler will remove the double initialization
anyway
Another solution would be to give QV4::Heap::Base a constructor that
initializes the member, but I am not sure whether adding a constructor
to this class is permitted.
Task-number: QTBUG-49681
Change-Id: Ic90fe6b1cbe84978a02fffff141beacbe73c0b9c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
Remove unused includes
Change-Id: I088b7efda4269faaceb39ea865eadc85fb2f9039
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Infinite loop because of rounding in QQuickFlickablePrivate::fixup().
Change-Id: Icffe216587d90660ac3cb8090a676868416566c8
Task-number: QTBUG-50105
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 839d2d3e2368bc8e107d22203b0611c852f54319, which has
been causing crashes in qtquickcontrols2 auto tests and making it nearly
impossible to integrate anything over the past few days.
Change-Id: I570b286a067aae5e3c2d8c56ad601e1a6cb58c20
Task-number: QTBUG-50134
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
On 64bit systems, the size goes from 32 bytes to 24.
Change-Id: Ic97f98b8f64fd5452f259e825a6bfd1656484fc5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Id3295937bdbd2372a77f273ce5c048807d43f51e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4046e267d4c3a5eae9d3977b2d5f11987c4d1206
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Call destroyObject() for every QV4::Heap::QObectWrapper object in heap in
QV4::MemoryManager::sweep() to make sure the QPointer object contained in
QV4::Heap::QObjectWrapper is properly destructed.
We also keep track of QObjectWrapper in QV4::Heap::ModelObject to make
sure we destory them in QV4::MemoryManager::sweep()
Change-Id: I3b3e96cfc300c2e21ab691762879ac2970afa90c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Composite singleton types used to always have version -1,-1; regardless
of what is written in qmldir.
Change-Id: Ia193e73695e57095f6a09b97768805f2f23cd56a
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
So users at least have some idea of how to use these types,
as their documentation is quite lacking.
Change-Id: Ic4644cc259fabbd1462e611316dcec3c5a0d2c4e
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Do not access null share contexts.
Task-number: QTBUG-49929
Change-Id: I1c88563df71dd6c5d186b6f2ae147614fcc6ded9
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I503ba2c7b6b58f01c8270d3a1416ec197f24e0e2
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
When at least one default property of a target object is considered
valid by an animation, we don't need to warn about other default
properties that weren't found.
Change-Id: I648f17a55fdfcbed2b4c7e94d88206c3dc3d1a32
Task-number: QTBUG-22141
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When we synthesize a press/release from touch, the item believes that
the mouse never leaves, so if we have several mouse areas, they may
all claim that they contain the mouse at the same time. The solution
is to synthesize a move back to the actual mouse position.
Task-number: QTBUG-40856
Change-Id: I43610d95aa383f847db18b387405b0c4e91cea0f
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I991b22bf52f3523762df25ce7d5d7e8a0f08a2a2
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
The position of the offscreen window needs to be exact
as it is used for popup menus by the Quick Controls.
Updating the position in show amends the situation.
Task-number: QTBUG-49097
Change-Id: I416021d6632ede45b1f9dc6b35a3ff15394566ee
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Qt.test.qtestroot is only provided by quick_test_main so
if we find any plugin that tries to inherit from TestCase.qml
qmlplugindump will fail trying to import this unexistant import
Change-Id: Idee881fa641267a17594dd3c92e929ca3473f3df
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
| |
Saves iterating the whole container and unneeded allocation of a list
Change-Id: Iae1f8e0cf3a17b163cf930c43a27b2ebb4315e5c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
Without this all styled text appears as solid-filled rectangles.
Change-Id: I7b64b274b3562b75ed7126d4bb8e89b6cb8d6f77
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Fix warnings when running tst_qquicktextedit:
QWARN : tst_qquicktextedit::mouseSelectionMode_accessors() QSignalSpy: Unable to handle parameter 'mode' of type 'QQuickTextEdit::SelectionMode' of method 'mouseSelectionModeChanged', use qRegisterMetaType to register it.
QWARN : tst_qquicktextedit::textFormat() QSignalSpy: Unable to handle parameter 'textFormat' of type 'QQuickTextEdit::TextFormat' of method 'textFormatChanged', use qRegisterMetaType to register it.
Change-Id: I2d41f970777c9ee4d8999acceed9e1b9cf52b0f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Added a small test infrastructure in order to run tests on sample
projects and quickly define new test cases.
Running tests will also compile (and clean) sample tests.
Change-Id: Ibd0e48201dafe335198479d605d676ca5b753566
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Not destroying the Animator controller leads to scenegraph animators
running even after destroying the rendercontrol and the window. Add
the missing delete call and fix the somewhat broken cleanup sequence.
Task-number: QTBUG-49635
Change-Id: I170b4bb4b065bda46d8ab9ad9a3992bc8cfd1d1e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
| |
Turbulence was always reading from local files and never reading from
QRC files.
Change-Id: I93501f136a6934764422e2a914c01f359b054b2e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
| |
Geometry changes triggered a grid initialization which removed the
reference to the Particle System thus deactivating the Affector, fixed.
Change-Id: I56446ae2116a9645d2e4b51c42358cdfb360ee82
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Performance will be bad but this allows having simple scenes in a
QQuickWidget embedded into a QGraphicsView (ouch).
This kind of setup is strongly discouraged but QWidget already has the
readback-based fallback for render(), so we only need to add the
update re-routing to the proxy widget.
Task-number: QTBUG-49724
Change-Id: I1c80cb0a7b401327304ec7b92c77dc654d843b33
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Turbulence was only taking into account the red component, and it was
wrongly using the image sideways.
Change-Id: I7f50e44a198993b9ea2ac0a66c1952bf9c7e92fb
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the qt_findAtNxFile function from QtGui.
Note: this changes the behavior slightly if the file name
contains '@2x' not at the end of the file name. We now check
that it contains '@2x.' including the dot.
Change-Id: I7e6a97d2d9c5aa0706538badf22a13e4c41824c0
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickListViewPrivate::applyInsertionChange(), we update the
visibleItems list by first shifting the currently visible items
and then we add as many items as the model was added and at the
right position. We do this in such a way that we won't create
items that will not be visible right away (and may be deleted
right after by removeNonVisibleItems()). However, this may leave
gaps in the item index sequence, and QQuickListView doesn't always
recover gracefully from it.
The purpose of this patch is to make sure those gaps are cleared
right after inserting the new items. Since the insertions can happen
in two different places (either before or after the first visible
item) we need to update the visibleItems list accordingly. The way
we sanitize visibleItems is by removing those items that lie beyond
a possible index gap. If insertion happens before the first visible
item, we'll remove all those items before the insertion point. If
the insertion happens after the first visible item, we'll remove the
items after the insertion point.
Besides that, the logic for inserting before the visible position was
wrong. As items are inserted bottom-up in that case, the insertion
would start by just accounting for the item's size until the condition
pos > from && insertionIdx < visibleIndex
would become false only because 'pos' would be small enough. After
that, the next loop run would start adding items before the 'from'
position, which is wrong. Our fix is to move the condition outside
the loop if the insertion index will be before the visible index
and just account for the items' size in that case. Otherwise, the
insertion happens as usual until pos < from.
Change-Id: I35767cf6e9737bea1fe7677e580245fc7172710c
Task-number: QTBUG-48870
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug was that when using the mouse wheel, a single "scroll down"
wheel event followed by a rapid succession of "scroll up" events
would cause extreme overshoot. Experimentally determined that when
this happens, the calls to timeline.accel() in
QQuickFlickablePrivate::flick() were occurring after the call to
accel in QQuickFlickablePrivate::viewportAxisMoved(). But nearby,
data.inOvershoot is set to true, so that can be used to avoid calling
accel() additional times in flick(). So basically, this patch avoids
doing any more acceleration in response to further wheel events after
the momentum from previous events has already taken the content
beyond bounds.
Task-number: QTBUG-21328
Change-Id: I3ab5510a288a080f6b526407b6a2293c44a2498a
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stress testing might sound unfair, but it can happen that
the user is flicking the view while the model gets updated
resulting in an internally inconsistent state. We need to
cover this and start working on a solution.
The test is initially blacklisted as it's not expected to
pass all the time.
Task-number: QTBUG 48870
Change-Id: I7c1e4fd1876f52dd2dad5a28584b571753ebe69a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids ending up with invalid pointers when under some circumstances the
target (which is not owned by the QQuickAnimatorJob) is destroyed between the
time the QQuickAnimatorJob is created and the time it is initialized. This is
the case when the target of an Animator is the item loaded by a Loader and
that the animator is started just before setting the Loader to inactive.
Also added an auto test for that special case.
Task-number: QTBUG-49634
Change-Id: Iab9bfe76d13755ba735432c6f97bde175d308814
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds two .qmltypes files: QtQml/plugins.qmltypes
describes the components in the QtQml import, and
builtins.qmltypes the enumerations in the implicit
"Qt" namespace that does not require an import.
builtins.qmltypes is automatically picked up by
Qt Creator for each Qt version, while plugins.qmltypes
will only be parsed if the import is used.
Done-with: Kai Koehne <kai.koehne@theqtcompany.com>
Done-with: Marco Benelli <marco.benelli@theqtcompany.com>
Change-Id: Ia2b1739172c827b945d118b41b647c0a15f3419d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set a suitable font, fixing the error:
FAIL! : tst_qquicktextedit::hAlignVisual() Compared values are not the same
Actual (left): 2
Expected (0) : 0
Task-number: QTBUG-48546
Change-Id: I4d6222a39647229c65f3e5aa12c39d50a722e584
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MousePress and MouseRelease event handlers now better integrated into
generic touch processing methods.
We used to manually add a touch point for mouse press event and
prevent updateTouchData() from pressed() emission, but mouseRelease
handler used to cause the signal emission in updateTouchData() and then
emit the signal on its own.
The code reworked to always emit pressed() and released() signals from
the single place in updateTouchData().
[ChangeLog][QtQuick][MultiPointTouchArea] Fixed released() signal
duplication on mouseReleaseEvent.
Task-number: QTBUG-44370
Change-Id: I2d88931ba56d6edf778213c61e9467c2b6abf0e7
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Id13e982ff3286ec6f369c3d5898de3da3314579d
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Otherwise valgrind complains about
"Conditional jump or move depends on uninitialised value(s)"
Change-Id: If1cc6f2839799a80dde5106700bb26fda4b357c3
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
| |
Check that we have the right type and number of arguments
and throw a type error if they don't match.
Change-Id: I23d37074bf0a6f88e656897862eedc8f7c9f9f8f
Task-number: QTBUG-41686
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This test case changed after change 2e00500b9f32f25a15563a4fd35375ead12c14a7
got merged into qtbase. With that change, colors with alpha components
will now be converted correctly to a #AARRGGBB string.
Change-Id: I8a1edc846537bf7868ba56d819d7aedae1a10fa1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Zooming in large steps on every wheel-events breaks with fine-grained
wheel events like we get on touch-pads. We should therefore not
encourage that in our examples.
Change-Id: Ie2e70b91c66c73f12ef1f6cd55c8610ae70b36ed
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|