In my application I have a process which is started by clicking on a button. The button already has a property to indicate when it is busy, this changes the colours to reflect the busy state. When the process is finished the busy property is set back to false.

The problem is that although the steps are:

```
    button.busy = true
    ... Do something ...
    button.busy = false

```

In reality the button does not change to reflect the busy state until the process is almost complete, it then changes back to non-busy.

Is there anyway I can insert something after setting the busy state to true and before doing something to get the GUI to update and reflect the state?

My button QML:

```
Button {
    id: root
    property bool busy: false
    property bool showDropShadow: true
    property color bottomColour: MerlinStyle.greenButtonBottom
    property color iconColour: "white"
    property color topColour: MerlinStyle.greenButtonTop
    property string icon: ""
    opacity: (pressed || !enabled) ? 0.5 : 1.0

    onBusyChanged: {
    //Set the colours according to busy state
        if ( root.busy == true ) {
            root.bottomColour = MerlinStyle.indicatorOrange;
            root.topColour = MerlinStyle.indicatorOrange;
        } else {
            root.bottomColour = MerlinStyle.greenButtonBottom;
            root.topColour = MerlinStyle.greenButtonTop;
        }
    }
    background: Item {
        RadiusRectangle {
            id: rect
            anchors.fill: parent
            radius: MerlinStyle.rectRadius
            topLeftPointed: true

            gradient: Gradient {
                GradientStop { position: 0.0; color: root.topColour }
                GradientStop { position: 1.0; color: root.bottomColour }
            }
        }
        DropShadow {
            visible: showDropShadow && !pressed && enabled
            anchors.fill: rect
            horizontalOffset: 1
            verticalOffset: 2
            color: "#80000000"
            source: rect
        }
    }
    contentItem: Item {
        ColoredImage {
            anchors.centerIn: parent
            height: parent.height * 0.85
            width: parent.width * 0.85
            source: icon
            color: root.iconColour
        }
    }
}

```

I've tried to trigger an update using:

```
idOfButton.update

```

This always results in :

```
Button_QMLTYPE_28 : Update called for a item without content

```

The update function takes no parameters.