Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-63470

Crash when removing SwipeDelegate within a ButtonGroup from ListView

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9.3
    • 5.10
    • Quick: Controls 2
    • None
    • 3f1229bb7bfd45fdc09ce8c2a16cc59e322d5d1c

    Description

      import QtQuick 2.9
      import QtQuick.Controls 2.3
      import QtGraphicalEffects 1.0
      
      ApplicationWindow {
          id: window
          width: 800
          height: 600
          visible: true
      
          ListView {
              id: listView
              anchors.fill: parent
      
              ButtonGroup {
                  buttons: listView.contentItem.children
              }
      
              delegate: SwipeDelegate {
                  id: delegate
      
                  checkable: true
                  text: modelData
                  width: parent.width
                  checked: swipe.complete
                  onCheckedChanged: if (!checked) swipe.close()
      
                  ListView.onRemove: SequentialAnimation {
                      PropertyAction {
                          target: delegate
                          property: "ListView.delayRemove"
                          value: true
                      }
                      NumberAnimation {
                          target: delegate
                          property: "height"
                          to: 0
                          easing.type: Easing.InOutQuad
                      }
                      PropertyAction {
                          target: delegate
                          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"
                      }
                  }
              }
      
              model: ListModel {
                  id: listModel
                  ListElement { text: "Lorem ipsum dolor sit amet" }
                  ListElement { text: "Curabitur sit amet risus" }
                  ListElement { text: "Suspendisse vehicula nisi" }
                  ListElement { text: "Mauris imperdiet libero" }
                  ListElement { text: "Sed vitae dui aliquet augue" }
                  ListElement { text: "Praesent in elit eu nulla" }
                  ListElement { text: "Etiam vitae magna" }
                  ListElement { text: "Pellentesque eget elit euismod" }
                  ListElement { text: "Nulla at enim porta" }
                  ListElement { text: "Fusce tincidunt odio" }
                  ListElement { text: "Ut non ex a ligula molestie" }
                  ListElement { text: "Nam vitae justo scelerisque" }
                  ListElement { text: "Vestibulum pulvinar tellus" }
                  ListElement { text: "Quisque dignissim leo sed gravida" }
              }
      
      
              ScrollIndicator.vertical: ScrollIndicator { }
          }
      }
      
      1   QMetaObject::activate                      qobject.cpp                 3701 0x7ffff6bcf59a 
      2   QMetaObject::activate                      qobject.cpp                 3628 0x7ffff6bcfd2b 
      3   QQuickAction::checkedChanged               moc_qquickaction_p.cpp      331  0x7fffe90b7754 
      4   QQuickAction::setChecked                   qquickaction.cpp            446  0x7fffe90b82df 
      5   QQuickAbstractButton::setChecked           qquickabstractbutton.cpp    562  0x7fffe90b4d1e 
      6   QQuickButtonGroup::setCheckedButton        qquickbuttongroup.cpp       276  0x7fffe90bf4f2 
      7   QQuickButtonGroupPrivate::_q_updateCurrent qquickbuttongroup.cpp       204  0x7fffe90bf94f 
      8   QQuickButtonGroup::qt_static_metacall      moc_qquickbuttongroup_p.cpp 137  0x7fffe90bfec8 
      9   QMetaCallEvent::placeMetaCall              qobject.cpp                 503  0x7ffff6bcba08 
      10  QObject::event                             qobject.cpp                 1246 0x7ffff6bd01bc 
      11  QCoreApplicationPrivate::notify_helper     qcoreapplication.cpp        1193 0x7ffff6b9e8e9 
      12  doNotify                                   qcoreapplication.cpp        1134 0x7ffff6b9e977 
      13  QCoreApplication::notify                   qcoreapplication.cpp        1120 0x7ffff6b9eaeb 
      14  QGuiApplication::notify                    qguiapplication.cpp         1696 0x7ffff749a74e 
      15  QCoreApplication::notifyInternal2          qcoreapplication.cpp        1044 0x7ffff6b9ea40 
      16  QCoreApplication::sendEvent                qcoreapplication.h          234  0x7ffff6ba464d 
      17  QCoreApplicationPrivate::sendPostedEvents  qcoreapplication.cpp        1719 0x7ffff6ba464d 
      18  QCoreApplication::sendPostedEvents         qcoreapplication.cpp        1573 0x7ffff6ba4a36 
      19  postEventSourceDispatch                    qeventdispatcher_glib.cpp   276  0x7ffff6bfbbc2 
      20  g_main_context_dispatch                                                     0x7ffff42d1197 
      ... <More>                                                                                     
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              mitch_curtis Mitch Curtis
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes