mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 07:47:19 +00:00
re-establish race state start time change listeners in readObject() method of DynamicTrackedRaceImpl
Change-Id: Iafd9bed9fb335e3a08e47fca28d57dc16778aee3
This commit is contained in:
1 parent
37d1531e37
commit
0a2d369a63
2 files changed
+6
-1
No files matched your search
+5
@@ -140,6 +140,11 @@ DynamicTrackedRace, GPSTrackListener<Competitor, GPSFixMoving> {
|
|||||||
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
|
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
|
||||||
ois.defaultReadObject();
|
ois.defaultReadObject();
|
||||||
raceStateBasedStartTimeChangedListener = createRaceStateStartTimeChangeListener();
|
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>();
|
listeners = new HashSet<RaceChangeListener>();
|
||||||
logListener = new DynamicTrackedRaceLogListener(this);
|
logListener = new DynamicTrackedRaceLogListener(this);
|
||||||
courseDesignChangedListeners = new HashSet<>();
|
courseDesignChangedListeners = new HashSet<>();
|
||||||
|
|||||||
+1
-1
@@ -905,7 +905,7 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
|||||||
* and not {@link Object}.
|
* and not {@link Object}.
|
||||||
*/
|
*/
|
||||||
private final String updateStartOfRaceCacheFieldsMonitor = "";
|
private final String updateStartOfRaceCacheFieldsMonitor = "";
|
||||||
protected void updateStartOfRaceCacheFields() {
|
protected void updateStartOfRaceCacheFields() {
|
||||||
synchronized (updateStartOfRaceCacheFieldsMonitor) {
|
synchronized (updateStartOfRaceCacheFieldsMonitor) {
|
||||||
TimePoint newStartTime = null;
|
TimePoint newStartTime = null;
|
||||||
TimePoint newStartTimeWithoutInferenceFromStartMarkPassings = null;
|
TimePoint newStartTimeWithoutInferenceFromStartMarkPassings = null;
|
||||||
|
|||||||
Reference in new issue
Block a user