Binding loop in MainView when using tabs in unity8 indicators

Bug #1204453 reported by Nick Dedekind
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Fix Released
Critical
Zsombor Egri
ubuntu-ui-toolkit (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

When using a MainView and tabs in the unity8 indicators, there seems to be a binding loop causing a long delay at startup.

backgroundColour depends on Theme.palette.normal.background. [MainView.qml]
Theme [Ambiance/Suru] depends on the set backgroundColor. [MainViewStyle.qml]

Introduced by revision 621

Related branches

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :
Changed in ubuntu-ui-toolkit:
importance: Undecided → High
status: New → Confirmed
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit:
assignee: Florian Boucault (fboucault) → Zsombor Egri (zsombi)
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Raising severity now that it seems to have bigger effect with Qt 5.2 (bug #1273958 + bug #1273956).

Changed in ubuntu-ui-toolkit:
importance: High → Critical
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
Revision history for this message
Florian Boucault (fboucault) wrote :

Adding the following snippet to any MainView triggers the bug:

    backgroundColor: "brown"

    Timer {
        running: true
        onTriggered: {
            gallery.backgroundColor = "white";
        }
    }

Revision history for this message
Zsombor Egri (zsombi) wrote :

The fix attached does not solve the binding loops we have when the theme is updated upon MainView's component completion. The binding loop appears only on themes which derive from Ambiance and do not override the MainViewStyle structure. To avoid such binding loops derived themes should completely redesign MainViewStyle and not use any code from the original style.

Apps should drive SuruDark and SuruGradient by setting MainView's backgroundColor, headerColor and footerColor properties.

The fix resolves the binding loops which happen when these properties are changed runtime.

Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit:
status: Confirmed → In Progress
milestone: none → march-2014
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-ui-toolkit - 0.1.46+14.04.20140331-0ubuntu1

---------------
ubuntu-ui-toolkit (0.1.46+14.04.20140331-0ubuntu1) trusty; urgency=low

  [ Zoltán Balogh ]
  * Separate the online and offline documentation and install the QtC
    help file

  [ Zsombor Egri ]
  * Move state data file to temp folder (LP: #1276760)
  * StateSaver does cleanup if the app is closed due to SIGTERM. This is
    needed as upstart sends this signal when the application is closed
    from app scope. SIGINT saves the state. (LP: #1259498)
  * MainView binding loop fix when backgroundColor is changed runtime.
    (LP: #1204453)

  [ Loïc Molinari ]
  * [Perf metrics] Considered number of CPU cores for CPU usage.

  [ tpeeters ]
  * Add useDeprecatedToolbar property to MainView which can be used to
    disable the current toolbar. Unsetting that property will in future
    also enable new features in the header. (LP: #1273184)
  * Close panel on contents press instead of click, so that composed
    events are not eaten by the InverseMouseArea of the Panel. (LP:
    #1295720)

  [ Christian Dywan ]
  * Treat QML warnings as fatal except for explicitly listed tests
 -- Ubuntu daily release <email address hidden> Mon, 31 Mar 2014 18:26:59 +0000

Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Fix Released
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.