| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Cutting the text in Password mode led to the text being deleted.
Cut and copy operations should not be allowed when echoMode is
set to a mode other than Normal.
Task-number: QTBUG-51231
Change-Id: If75cdaedac7478ecc1a5126ad4a5ecbf32acd1ab
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickSprite is used in QtQuickParticles. Export unconditionally.
QQuickScaleGrid is used in auto-tests. AUTOTEST_EXPORT it.
Unbreaks UBSan build, which requires access to the classes'
type_info.
Change-Id: I65b538fe0a4255d1b5c4e2e1212001d356382cb4
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Added explicit where it was missing. This is not a source-
incompatible change, because code that breaks by this is
a bug. Let's not have this sitting around in an LTS.
Change-Id: Ic198750717799126b4e37817845a8ee4684d631f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It’s a bad idea to store a scene graph paint node as a member variable.
First of all, it should not access the node outside updatePaintNode(),
that is, outside the render thread. Secondly, the node is owned by the
scene graph and may be nuked whenever the scene graph feels so. Some
creative re-parenting easily triggers a case where AnimatedSprite ends
up accessing a node that was already deleted by the scene graph.
Change-Id: I89205ac36333a2fcb094121afa61b6409fda5883
Task-number: QTBUG-51162
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
| |
... or equivalent.
QtBase 5.6 headers already compile that way, so let the other
modules follow suit.
Task-number: QTBUG-45291
Change-Id: Ied526fb2d7adc3a68946d6843a6bd6f475ebf864
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given a simple ShaderEffect with supportsAtlasTexture:
ShaderEffect {
property variant source: myImage
supportsAtlasTextures: true
}
ensure the atlas subrect used by the ShaderEffect is updated if
myImage.source changes.
Change-Id: I4560b80ba38c3487b16f53411451fb9891920738
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
| |
invalidate() releases resources, but doesn't clean up the materialCache,
resulting in a memory leak
Change-Id: I3cf7b7a3b977bb9aa295ef1824c384bcdf9494f2
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before change f253f4c in qtbase, when an ordinary mouse wheel is
rotated the phase would be ScrollUpdate continuously, without going
through the other phases; whereas on a gesture-interpreting trackpad
there would be a ScrollBegin first. Now, an ordinary wheel mouse
uses NoScrollPhase continuously, which makes it easier to tell the
two cases apart. But we're required to handle the new phase
explicitly. To avoid change in existing behavior, we handle it
the same as ScrollUpdate phase was handled before.
Change-Id: I2d51a89a965704cf843303d523463805b4fe6ff8
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
the QSGGeometryNode owns the geometry, so we need to set the flag to avoid
a memory leak
Change-Id: Ifaf1e88c437b765a76d7ab4028c63d66413440bb
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was found while researching QTBUG-49596. The selection
ranges in the QGlyphRun are inclusive, so the length needs
to be end - start + 1. For a node of 1 glyph with either
preceding or succeeding node, we would detect an overlap
always, since the initial rangeLength would be 0. This
is reproduced by the textinput_selected_fallback_font.qml
test, but the bug was hidden by a different bug in
QTextLayout.
Change-Id: I65d70b1223eebeb5cfbb277fade7f4753465364f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: Ib4eb5c3572cb5ec11eb744572ec796dc7e70456d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The whole purpose of native rendering is to optimize precisely for a
given pixel grid.
DPI scaling can change when either settings of the current screen are
changed, or when the window is moved to a different screen.
Details:
- add an ItemDevicePixelRatioHasChanged item change event
- detect DPI scaling changes by watching screen (identity) and screen
config changes
- when DPI scaling changes, recursively send an
ItemDevicePixelRatioHasChanged signal to all items with content
- when a natively renderet TextItem catches such an event, call
updateLayout() which automatically picks up the new logical DPI
Task-number: QTBUG-49019
Change-Id: I9f4f8d1a7f2c172ed26c276294ab143161c4a48b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
| |\
| | |
| | |
| | | |
Change-Id: I971229ff050c98258729ad70d9e06b89e5bbf617
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-50516
Change-Id: I6a1513b22401b0fe45da758a239ad82038b83264
Reviewed-by: Zsombor Egri <zsombor.egri@canonical.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is basically the same patch as 35d8d060b8621cfd, but this
time for GridView instead of ListView.
The major difference is that GridView seems to do the right thing
when the model insertions happen after the visible index. That
explains the missing part of the patch in applyInsertionChange()
as compared to the same function in QQuickListView.
Also, QQuickGridView auto-tests are a bit more robust than their
ListView counterpart. So no changes were necessary to existing
test cases.
Task-number: QTBUG-48870
Change-Id: I19b24c4d84a1a4cef4fdb3ddd3381d0c6b93a76a
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Same as 51443673dce131f2.
Change-Id: I785f777e761aba369014d1e4ad8020066f35fbe0
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
m_fbo is null when using a threaded render loop.
Change-Id: I297ba651f9605f1718dbe9d09bd30e9682fb8401
Task-number: QTBUG-50085
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifbfb36cee6742dbd34c1743fba0fa30a304f25ed
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't attempt to reposition unrequested items at negative indexes,
meaning that they are not in the model. The chances are that they
have been already deleted.
Change-Id: Iadd08518b11e0ea5d7965215a517aafaf35c95ba
Task-number: QTBUG-48277
Reviewed-by: Nikita Krupenko <krnekit@gmail.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The change notifiers must be emitted when an item's window is
reset. Otherwise any existing bindings don't get re-evaluated,
and in worst scenario one ends up with dangling pointers.
Change-Id: I6075957f1447bb8628d25bd822345e45837c027a
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In qtdeclarative/tests/manual/touch/flicktext.qml it was already clear
that the moving/movingVertically/Horizontally properties did not revert
to false after a trackpad flick on OS X. It turns out that the failure
to emit the movementEnded signal also caused a scrolling bug in ListView.
QQuickFlickable::wheelEvent() looks at event->phase(), but ScrollEnd is not
absolute: on OS X with a bluetooth trackpad, it happens once when the user's
fingers are lifted, then the "momentum" events occur with ScrollUpdate, and
then ScrollEnd happens again at the end of the momentum phase. But if the
user's fingers come to rest before being lifted, to stop the momentum, then
the ScrollEnd phase happens only once, and that's actually the end of
scrolling, flicking and movement, all at once. The events don't seem to
provide enough information to disambiguate these two cases; but if ScrollEnd
phase occurs, and then we don't receive any more events within some short
time interval, we can be pretty sure the scrolling really ended. So, use
a timer to check whether any more events have been received, a little later
after the ScrollEnd phase.
The movementEnded signal can now be emitted for several reasons: the
regular timeline ended movement, the velocityTimeline ended movement,
or the movementEndingTimer sent an event.
Also, when flicking with a physical mouse wheel, flickStarted was emitted
multiple times; now it will be emitted only once.
Task-number: QTBUG-47151
Change-Id: I534e99befbd9bf6af24c4ebdca73dd21964f1063
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Every getItem() call increases the reference count. If getItem() was
called on an item that was already managed, we must pair it with a call
to releaseItem() in order to keep the reference count in sync.
Change-Id: I897d19c77bc0c58717065cbe925c45a14153ad0b
Task-number: QTBUG-50655
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't initiate a drag and drop if the event was rejected.
What happens is:
QQuickDropArea::dragEnterEvent() sets d->containsDrag = true
QQuickDropArea::dragLeaveEvent() sets d->containsDrag = false
HOWEVER, when the enter event is rejected, the leave event is
never delivered, and the drop area remains blocked because it
thinks the first drag action is not done yet.
Change-Id: I74c53fbe778c954e4aa2f22f393318c4938a5afe
Task-number: QTBUG-39453
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| | |
Fix is to use QElapsedTimer instead of QTime.
Change-Id: I03d0a2428c7f0d82c4c54ab844023b09baf15175
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes only non-functional changes so the next patch can make
mostly functional changes.
QQuickText: rename q_imageLoaded() to q_updateLayout().
Says what it does, not when it is called.
QQuickWindow: split QQuickWindow::forcePolish() into
QQuickWindow::handleScreenChanged() and
QQuickWindowPrivate::forcePolish().
Change-Id: Ief2ae30cd9f27ee8083b2c75765fb5278bde5ea8
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|/
|
|
|
|
|
|
|
|
| |
This has been commented out since the initial introduction in 2011. I doubt it's
actually useful anymore, and if it is, it's in git history regardless.
Change-Id: Ife36f423a21d4b12ebca154b4ad14848844e4eef
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
| |
Change-Id: I6bdd485eafe2c2a0c925690dab451664af1223dc
Task-number: QTBUG-43810
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|\ |
|
| |\
| | |
| | |
| | | |
Change-Id: Ieb48911638b5c1acdfd4dee8aa19dca9be99a1f6
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ie6b085157cebaf06750a30bc050b6bed0c7f6018
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id64aff29ef8bc7cbb4f7fc46b1a0d30a47585055
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Should not propagate without window.
Task-number: QTBUG-49100
Change-Id: Ieda3a8357283f8d07d4ffc0cc62c4e15645d7e5a
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
When isTabFence is set to true and no children.
Task-number: QTBUG-50516
Change-Id: I8430336fde7ab041797f8f9d9dfe5b9d56fecddd
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
positionViewAtIndex().
When using an overlaid header or footer, we must adjust the position we come up
with by the appropriate size in order to end up at the correct place.
Change-Id: I218b9aef7fdf37f56ffb63dc395f97045b55a186
Task-number: QTBUG-50097
Reviewed-by: J-P Nurmi <jpnurmi@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>
|
| |
| |
| |
| |
| | |
Change-Id: I4baf8416704fdb65b96b7e0b8620c651f9199159
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I503ba2c7b6b58f01c8270d3a1416ec197f24e0e2
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|