> In this case, it seems it might be doing the
> wrong thing. The blocking class is what's
> needed instead.
 
Probably yes.
You'd do a
 
void ObjectsPanel::_setCompositingValues(SPItem *item)
{
    //Block the connections to avoid interference
    SignalBlocker b1(*_opacityConnection);
    SignalBlocker b2(*_blendConnection);
    SignalBlocker b3(*_blurConnection);
 
    // ...
}
 
At the end of the scope, these objects are destructed in reverse order, so this is just fine.
This code is blocking around a lot, I'm not sure whether all of this is necessary. Maybe there are better solutions to this.
 
Regards,
Markus