What resulted in the bug is firing of
setNewGradientBackgroundToShape() routine had returned --
because the blocker for
d->shapeChangedAcyclicConnector had already been
destroyed. And when the
shapeChanged method was called, it sent down the
call assuming gradient had changed (which would reset value of
m_selectedStop) when it wasn't.
Now, we remove signal connections for
selectionContentChanged(), because they're delivered asynchronously and
without proper guards (the signal blocker work only in some cases, e.g
on windows they always fire once the guard lifetime has ended).
Removing these signals is safe because we now use
signals to update the UI once the underlying resource has changed.