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

[QtScxml] Fix all binding loops caused by misuse of bindable properties

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • P2: Important
    • 6.5.4, 6.6.1, 6.7.0 FF
    • 6.5, 6.6.0 FF
    • Core: Other
    • None
    • 8
    • 36c3daa70 (dev), d86fa5e76 (dev), 48a4f0007 (dev), d69b36b28 (6.6), 809020809 (6.6), b6919ced5 (6.5), 24154f43c (6.5), 205e3da5e (dev), 2d14e9a88 (dev), 2d459667f (dev), 77b44612e (dev), 9f5e13842 (6.6), cbd02e02b (6.6), 1e3b63eff (6.6), 9c82ddc99 (6.6)
    • Foundation Sprint 92

    Description

      Fix all properties that will fail the test implemented in QTBUG-116345.

      In general case, the fix would be as simple as calling valueBypassingBindings() instead of simply accessing the property in the setter (see the epic for a code example).

      The scope of this task is to implement fixes in qtscxml submodule.

      Using git-grep, I managed to get the following list of files that contain bindable properties:

      ~/qt5/qtscxml$ git grep -rI --name-only --recurse-submodules "Q_OBJECT_COMPAT_PROPERTY\|Q_OBJECT_COMPUTED_PROPERTY\|Q_OBJECT_BINDABLE_PROPERTY"
      src/scxml/qscxmldatamodel_p.h
      src/scxml/qscxmlstatemachine_p.h
      src/scxmlqml/eventconnection_p.h
      src/scxmlqml/invokedservices_p.h
      src/scxmlqml/statemachineloader_p.h
      src/statemachine/gui/qbasickeyeventtransition.cpp
      src/statemachine/gui/qbasicmouseeventtransition.cpp
      src/statemachine/qabstractstate_p.h
      src/statemachine/qabstracttransition_p.h
      src/statemachine/qeventtransition_p.h
      src/statemachine/qhistorystate_p.h
      src/statemachine/qsignaltransition_p.h
      src/statemachine/qstate_p.h
      src/statemachine/qstatemachine_p.h
      src/statemachineqml/finalstate_p.h
      src/statemachineqml/signaltransition_p.h
      src/statemachineqml/state_p.h
      src/statemachineqml/statemachine_p.h

      If it turns out that some of the classes are missing the tests for bindable properties, or if the tests do not use the QTestPrivate helpers, then the missing tests should be added.

      Attachments

        Issue Links

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

          Activity

            People

              ivan.solovev Ivan Solovev
              ivan.solovev Ivan Solovev
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: