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

[qtbase] 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
    • ac59fcdab (dev), 7d70edd31 (dev), 22c2c15b2 (dev), b64e36240 (dev), d85663ced (dev), 47d2788e0 (dev), df9651c3f (dev), b6b94111c (dev), 1ad424aed (dev), 96a62cd1f (dev), cdb50edc9 (dev), 2ef65f895 (dev), 6a873778b (dev), d8f614648 (6.6), 1a779b15b (6.6)
    • Foundation Sprint 89, Foundation Sprint 90, Foundation Sprint 91

    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 qtbase submodule.

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

      ~/qt5/qtbase$ git grep -rI --name-only --recurse-submodules "Q_OBJECT_COMPAT_PROPERTY\|Q_OBJECT_COMPUTED_PROPERTY\|Q_OBJECT_BINDABLE_PROPERTY"
      src/corelib/animation/qabstractanimation_p.h
      src/corelib/animation/qpauseanimation.cpp
      src/corelib/animation/qpropertyanimation_p.h
      src/corelib/animation/qsequentialanimationgroup_p.h
      src/corelib/animation/qvariantanimation_p.h
      src/corelib/doc/snippets/code/src_corelib_kernel_qproperty.cpp
      src/corelib/doc/src/objectmodel/properties.qdoc
      src/corelib/itemmodels/qabstractproxymodel_p.h
      src/corelib/itemmodels/qitemselectionmodel_p.h
      src/corelib/itemmodels/qsortfilterproxymodel.cpp
      src/corelib/kernel/qobject_p.h
      src/corelib/kernel/qproperty.cpp
      src/corelib/kernel/qproperty.h
      src/corelib/kernel/qproperty_p.h
      src/corelib/kernel/qtimer_p.h
      src/corelib/tools/qtimeline.cpp
      src/dbus/qdbusservicewatcher.cpp
      src/gui/image/qmovie.cpp
      src/gui/itemmodels/qstandarditemmodel_p.h
      src/network/kernel/qdnslookup_p.h
      src/network/socket/qlocalserver_p.h
      src/network/socket/qlocalsocket_p.h
      tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp
      tests/auto/tools/moc/tst_moc.cpp
      tests/benchmarks/corelib/kernel/qproperty/propertytester.h
      

      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:

                Gerrit Reviews

                  There are no open Gerrit changes