re-establish race state start time change listeners in readObject() method of DynamicTrackedRaceImpl

Change-Id: Iafd9bed9fb335e3a08e47fca28d57dc16778aee3
This commit is contained in:
Axel Uhl committed 2016-06-24 08:24:43 +02:00
1 parent 37d1531e37
commit 0a2d369a63
1 file changed
+5
@@ -140,6 +140,11 @@ DynamicTrackedRace, GPSTrackListener<Competitor, GPSFixMoving> {
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
ois.defaultReadObject();
raceStateBasedStartTimeChangedListener = createRaceStateStartTimeChangeListener();
// the race states are transient, therefore not serialized; they are re-constructed here when asked for;
// the transient raceStateBasedStartTimeChangedListener is re-added here, like it was in attachRaceLog(...)
for (final RaceLog raceLog : attachedRaceLogs.values()) {
getRaceState(raceLog).addChangedListener(raceStateBasedStartTimeChangedListener);
}
listeners = new HashSet<RaceChangeListener>();
logListener = new DynamicTrackedRaceLogListener(this);
courseDesignChangedListeners = new HashSet<>();