Fixed thread issue on windows

- Added a Platform.runLater on the Visualiser loops so that the notifying observers do not try to call it, where it is a non java-fx loop
#story[881]
main
Fan-Wu Yang 9 years ago
parent 156e0bfdd5
commit a7a065825a

@ -1,4 +1,5 @@
package seng302;
import javafx.application.Platform;
import org.xml.sax.SAXException;
import seng302.Mock.*;
import seng302.Networking.BinaryMessageDecoder;
@ -294,10 +295,12 @@ public class VisualiserInput implements Runnable {
//System.out.println("XML Message!");
Platform.runLater(()-> {
if (xmlMessage.getXmlMsgSubType() == XMLMessage.XMLTypeRegatta) {
//System.out.println("Setting Regatta");
try {
course.setRegattaXMLReader(new RegattaXMLReader(xmlMessage.getXmlMessage()));
}
//TODO REFACTOR should put all of these exceptions behind a RegattaXMLReaderException.
catch (IOException | SAXException | ParserConfigurationException e) {
@ -318,8 +321,7 @@ public class VisualiserInput implements Runnable {
} else if (xmlMessage.getXmlMsgSubType() == XMLMessage.XMLTypeBoat) {
//System.out.println("Setting Boats");
try
{
try {
course.setBoatXMLReader(new BoatXMLReader(xmlMessage.getXmlMessage()));
}
//TODO REFACTOR should put all of these exceptions behind a BoatXMLReaderException.
@ -329,7 +331,7 @@ public class VisualiserInput implements Runnable {
}
}
});
}
//RaceStartStatus.
else if (message instanceof RaceStartStatus) {

Loading…
Cancel
Save