I think with this change you keep the old behavior but I wander if we can do it better. 
The value of getParameter() is only used outside the engine thread. But If the value of the control is changed from the engine thread it is calculated also scaled  by the engine thread because this slot is connected with Qt::DirectConnection. 
Alternative the widgets can connect to valueChanged and do the scaling by it selves. Not sure if the work is worth by now.