fix form update from non ui thread