diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/GUI.nas b/Aircraft/Instruments-3d/FG1000/Nasal/GUI.nas index 1bf31cb67..12c0461fa 100644 --- a/Aircraft/Instruments-3d/FG1000/Nasal/GUI.nas +++ b/Aircraft/Instruments-3d/FG1000/Nasal/GUI.nas @@ -132,12 +132,6 @@ var GUI = obj.window.setCanvas(inset); - obj.window.del = func() { - # Over-ride the window.del function so we clean up when the user closes the window - # Use call method to ensure we have the correct closure. - call(obj.cleanup, [], obj); - }; - # Add a event listener for the mouse wheel, which is used for turning the # knobs. inset.addEventListener("wheel", func(e) @@ -192,13 +186,4 @@ var GUI = return obj; }, - - cleanup : func() - { - # Clean up the MFD. Particularly important to stop it picking up - # Emesary notifications. - me.mfd.del(); - # Clean up the window itself - call(canvas.Window.del, [], me.window); - }, }; diff --git a/gui/menubar.xml b/gui/menubar.xml index ff3faa1ac..a605350ad 100644 --- a/gui/menubar.xml +++ b/gui/menubar.xml @@ -838,13 +838,17 @@ if (! defined("fg1000")) { io.load_nasal(nasal_dir ~ 'FG1000.nas', "fg1000"); io.load_nasal(nasal_dir ~ 'Interfaces/GenericInterfaceController.nas', "fg1000"); + var interfaceController = fg1000.GenericInterfaceController.getOrCreateInstance(); + interfaceController.start(); } - var interfaceController = fg1000.GenericInterfaceController.getOrCreateInstance(); - interfaceController.start(); - var fg1000system = fg1000.FG1000.getOrCreateInstance(); - var pfdindex = fg1000system.addPFD(); + var pfdindex = getprop("/sim/gui/fg1000/pfd-index"); + if (pfdindex == nil) { + pfdindex = fg1000system.addPFD(); + setprop("/sim/gui/fg1000/pfd-index", pfdindex); + } + fg1000system.displayGUI(pfdindex); </script> @@ -860,13 +864,17 @@ if (! defined("fg1000")) { io.load_nasal(nasal_dir ~ 'FG1000.nas', "fg1000"); io.load_nasal(nasal_dir ~ 'Interfaces/GenericInterfaceController.nas', "fg1000"); + var interfaceController = fg1000.GenericInterfaceController.getOrCreateInstance(); + interfaceController.start(); } - var interfaceController = fg1000.GenericInterfaceController.getOrCreateInstance(); - interfaceController.start(); - var fg1000system = fg1000.FG1000.getOrCreateInstance(); - var mfdindex = fg1000system.addMFD(); + var mfdindex = getprop("/sim/gui/fg1000/mfd-index"); + if (mfdindex == nil) { + mfdindex = fg1000system.addPFD(); + setprop("/sim/gui/fg1000/mfd-index", mfdindex); + } + fg1000system.displayGUI(mfdindex); </script>