Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
None
-
6.0.3
-
None
Description
To reproduce, swipe one of the items to the left and click delete.
import QtQuick import QtQuick.Controls ApplicationWindow { width: 640 height: 480 visible: true title: qsTr("Hello World") ListView { id: listView anchors.fill: parent model: ListModel { ListElement { sender: "Bob Bobbleton"; title: "How are you going?" } ListElement { sender: "Rug Emporium"; title: "SALE! All rugs MUST go!" } ListElement { sender: "Electric Co."; title: "Electricity bill 15/07/2016 overdue" } ListElement { sender: "Tips"; title: "Five ways this tip will save your life" } } delegate: SwipeDelegate { id: swipeDelegate text: model.sender + " - " + model.title width: parent.width ListView.onRemove: SequentialAnimation { PropertyAction { target: swipeDelegate property: "ListView.delayRemove" value: true } NumberAnimation { target: swipeDelegate property: "height" to: 0 easing.type: Easing.InOutQuad } PropertyAction { target: swipeDelegate property: "ListView.delayRemove" value: false } } swipe.right: Label { id: deleteLabel text: qsTr("Delete") color: "white" verticalAlignment: Label.AlignVCenter padding: 12 height: parent.height anchors.right: parent.right SwipeDelegate.onClicked: listView.model.remove(index) background: Rectangle { color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato" } } } } }
Then
valgrind --leak-check=full --log-file=valgrind.txt ./untitled1
results in (amongst other unrelated output):
==97023== 307,502 (200 direct, 307,302 indirect) bytes in 1 blocks are definitely lost in loss record 6,979 of 6,980 ==97023== at 0x483BE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==97023== by 0x5629EB9: createRefCounted (qqmlcontextdata_p.h:74) ==97023== by 0x5629EB9: create (qqmlobjectcreator.cpp:182) ==97023== by 0x5629EB9: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*, int) (qqmlobjectcreator.cpp:158) ==97023== by 0x55B768F: QQmlComponentPrivate::beginCreate(QQmlRefPointer<QQmlContextData>) (qqmlcomponent.cpp:934) ==97023== by 0x55B7818: QQmlComponent::beginCreate(QQmlContext*) (qqmlcomponent.cpp:887) ==97023== by 0x14394AC5: QQuickSwipePrivate::createDelegateItem(QQmlComponent*) (qquickswipedelegate.cpp:227) ==97023== by 0x14396233: QQuickSwipePrivate::createRightItem() (qquickswipedelegate.cpp:345) ==97023== by 0x143966FE: QQuickSwipePrivate::createRelevantItemForDistance(double) (qquickswipedelegate.cpp:283) ==97023== by 0x14397078: QQuickSwipeDelegatePrivate::handleMouseMoveEvent(QQuickItem*, QMouseEvent*) (qquickswipedelegate.cpp:843) ==97023== by 0x143974A4: QQuickSwipeDelegate::mouseMoveEvent(QMouseEvent*) (qquickswipedelegate.cpp:1294) ==97023== by 0x12C994B7: QQuickItem::event(QEvent*) (qquickitem.cpp:8269) ==97023== by 0x5C0A058: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1040) ==97023== by 0x12D3C844: QQuickWindowPrivate::deliverMatchingPointsToItem(QQuickItem*, bool, QPointerEvent*, bool) (qquickwindow.cpp:2962)
Attachments
Issue Links
- relates to
-
QTBUG-94455 tst_QQuickFileDialogImpl::defaults() leaks memory
- Closed