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

Redundant via-statement in ParentAnimation makes qml viewer crash

    XMLWordPrintable

Details

    • 5cd963d2628ed7c01d331cdad03b4d77161c8b93

    Description

      Uncomment the "via: whiteRect;" statement in the code below. Run the code and click
      on on the blue rectangle three times and the qml viewer will exit unexpectedly.

      import Qt 4.7
      
      Rectangle {
          id: whiteRect
          width: 640; height: 480;
      
          Rectangle {
              id: redRect
              x: 400; y: 50
              width: 100; height: 100
              color: "red"
          }
      
          Rectangle {
              id: greenRect
              x: 100; y: 150
              width: 200; height: 300
              color: "green"
          }
      
          Rectangle {
              id: blueRect
              x: 5; y: 5
              width: parent.width-10
              height: parent.height-10
              color: "transparent"
      
              Rectangle {
                  color: "lightblue"
                  width: blueRect.width
                  height: blueRect.height
                  Behavior on width { NumberAnimation { duration: 1500 } }
                  Behavior on height { NumberAnimation { duration: 1500 } }
      
                  Text { text: "Click me!"; anchors.centerIn: parent }
      
                  MouseArea {
                      anchors.fill: parent
                      onClicked: {
                      switch(blueRect.state) {
                          case "": blueRect.state = "inRed"; break;
                          case "inRed": blueRect.state = "inGreen"; break;
                          case "inGreen": blueRect.state = ""; break;
                          }
                      }
                  }
              }
      
              states: [
                  State {
                      name: "inRed"
                      ParentChange { target: blueRect; parent: redRect; x: 5; y: 5 }
                      PropertyChanges { target: redRect; z: 1 }
                  },
                  State {
                      name: "inGreen"
                      ParentChange { target: blueRect; parent: greenRect; x: 5; y: 5 }
                      PropertyChanges { target: greenRect; z: 1 }
                  }
              ]
      
              transitions: Transition {
                  ParentAnimation { target: blueRect; //via: whiteRect;
                      NumberAnimation { properties: "x, y"; duration: 1500 }
                  }
              }
          }
      }
      

      Attachments

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

        Activity

          People

            brasser Michael Brasser (closed Nokia identity) (Inactive)
            mathiasm Mathias Malmqvist
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes