4545import processing .app .debug .TargetPackage ;
4646import processing .app .debug .TargetPlatform ;
4747import processing .app .helpers .*;
48+ import processing .app .helpers .OSUtils ;
4849import processing .app .helpers .filefilters .OnlyDirs ;
4950import processing .app .helpers .filefilters .OnlyFilesWithExtension ;
5051import processing .app .javax .swing .filechooser .FileNameExtensionFilter ;
@@ -921,7 +922,10 @@ public boolean handleClose(Editor editor) {
921922 storeSketches ();
922923
923924 // This will store the sketch count as zero
925+ editor .setVisible (false );
926+ editor .dispose ();
924927 editors .remove (editor );
928+
925929 try {
926930 Editor .serialMonitor .close ();
927931 } catch (Exception e ) {
@@ -932,9 +936,10 @@ public boolean handleClose(Editor editor) {
932936 // Save out the current prefs state
933937 PreferencesData .save ();
934938
935- // Since this wasn't an actual Quit event, call System.exit()
936- System .exit (0 );
937-
939+ // Since this wasn't an actual Quit event, call System.exit() (not on OSX)
940+ if (!OSUtils .isMacOS ()) {
941+ System .exit (0 );
942+ }
938943 } else {
939944 // More than one editor window open,
940945 // proceed with closing the current window.
@@ -976,7 +981,7 @@ public boolean handleQuit() {
976981 // Save out the current prefs state
977982 PreferencesData .save ();
978983
979- if (!OSUtils .hasMacOSStyleMenus ()) {
984+ if (!OSUtils .isMacOS ()) {
980985 // If this was fired from the menu or an AppleEvent (the Finder),
981986 // then Mac OS X will send the terminate signal itself.
982987 System .exit (0 );
0 commit comments