fix crash: dont emit changed() in the destructor