Develop and Download Open Source Software

Browse Subversion Repository

Diff of /jpki-pdf-signer/trunk/src/main/java/net/osdn/jpki/pdf_signer/Main.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 67 by hirukawa_ryo, Wed Nov 18 07:18:58 2020 UTC revision 68 by hirukawa_ryo, Mon Jan 9 00:38:35 2023 UTC
# Line 6  import net.osdn.util.javafx.application. Line 6  import net.osdn.util.javafx.application.
6  public class Main {  public class Main {
7    
8          public static void main(String[] args) {          public static void main(String[] args) {
9                    // 画面の一部が再描画されずに白くなってしまうバグを回避するために、prism.dirtyopts=false を指定しています。
10                    System.setProperty("prism.dirtyopts", "false");
11    
12                  Platform.setImplicitExit(false);                  Platform.setImplicitExit(false);
13                  SingletonApplication.launch(MainApp.class, args);                  SingletonApplication.launch(MainApp.class, args);
14    
15                    // プロセス終了
16                    // この時点で main (id=1) と DestroyJavaVM の他に AWT-Shutdown などの非デーモンスレッドが残っていることがあります。
17                    // 非デーモンスレッドによってプロセスの終了が遅くなることがあります。
18                    // macOS では特に顕著で main メソッドの復帰からプロセス終了まで 5秒程度かかることもあります。
19                    // この影響で App Store の審査で「メインウィンドウを閉じてもプロセスが終了していない」というリジェクトを受けました。
20                    // 対処として、非デーモンスレッドが残っていても すばやくプロセスを終了できるように System.exit(0) を呼ぶようにしました。
21                    //
22                    // exewrap で二重起動を防止している場合は最初の launch が復帰して isStopped == true になったスレッドで System.exit(0) を呼びます。
23                    // isStopped == false の場合は、二重起動時のウィンドウを最前面にするだけの main メソッド呼び出しであり、System.exit(0) を呼び出してはいけません。
24                    if(SingletonApplication.isStopped()) {
25                            System.exit(0);
26                    }
27          }          }
28  }  }

Legend:
Removed from v.67  
changed lines
  Added in v.68

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26