File tree 2 files changed +24
-3
lines changed
2 files changed +24
-3
lines changed Original file line number Diff line number Diff line change 45
45
import processing .app .debug .TargetPackage ;
46
46
import processing .app .debug .TargetPlatform ;
47
47
import processing .app .helpers .*;
48
+ import processing .app .helpers .OSUtils ;
48
49
import processing .app .helpers .filefilters .OnlyDirs ;
49
50
import processing .app .helpers .filefilters .OnlyFilesWithExtension ;
50
51
import processing .app .javax .swing .filechooser .FileNameExtensionFilter ;
@@ -921,7 +922,10 @@ public boolean handleClose(Editor editor) {
921
922
storeSketches ();
922
923
923
924
// This will store the sketch count as zero
925
+ editor .setVisible (false );
926
+ //editor.dispose();
924
927
editors .remove (editor );
928
+
925
929
try {
926
930
Editor .serialMonitor .close ();
927
931
} catch (Exception e ) {
@@ -932,9 +936,10 @@ public boolean handleClose(Editor editor) {
932
936
// Save out the current prefs state
933
937
PreferencesData .save ();
934
938
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
+ }
938
943
} else {
939
944
// More than one editor window open,
940
945
// proceed with closing the current window.
Original file line number Diff line number Diff line change 23
23
package processing .app .macosx ;
24
24
25
25
import com .apple .eawt .*;
26
+ import com .apple .eawt .AppEvent .AppReOpenedEvent ;
27
+
26
28
import processing .app .Base ;
27
29
import processing .app .Editor ;
28
30
@@ -45,6 +47,20 @@ public class ThinkDifferent {
45
47
46
48
static public void init () {
47
49
Application application = Application .getApplication ();
50
+
51
+ application .addAppEventListener (new AppReOpenedListener () {
52
+ @ Override
53
+ public void appReOpened (AppReOpenedEvent aroe ) {
54
+ try {
55
+ if (Base .INSTANCE .getEditors ().size () == 0 ) {
56
+ Base .INSTANCE .handleNew ();
57
+ }
58
+ } catch (Exception e ) {
59
+ // TODO Auto-generated catch block
60
+ e .printStackTrace ();
61
+ }
62
+ }
63
+ });
48
64
application .setAboutHandler (new AboutHandler () {
49
65
@ Override
50
66
public void handleAbout (AppEvent .AboutEvent aboutEvent ) {
You can’t perform that action at this time.
0 commit comments