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

Loading…
Cancel
Save