diff --git a/source/net/filebot/mac/MacAppUtilities.java b/source/net/filebot/mac/MacAppUtilities.java index ab93685f..35dc43a9 100644 --- a/source/net/filebot/mac/MacAppUtilities.java +++ b/source/net/filebot/mac/MacAppUtilities.java @@ -48,20 +48,17 @@ public class MacAppUtilities { final EventQueue eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue(); final SecondaryLoop secondaryLoop = eventQueue.createSecondaryLoop(); - System.out.println("before dispatch_async"); + // WARNING: dispatch_sync seems to work on most Mac always causes a deadlock and freezes the application on others (in particular MBP with 2 graphics chips) dispatch_async(new Runnable() { @Override public void run() { - System.out.println("before NSOpenPanel"); Proxy peer = objc().sendProxy("NSOpenPanel", "openPanel"); peer.send("setTitle:", title); peer.send("setAllowsMultipleSelection:", multipleMode ? 1 : 0); - System.out.println("before setCanChooseDirectories"); peer.send("setCanChooseDirectories:", canChooseDirectories ? 1 : 0); peer.send("setCanChooseFiles:", canChooseFiles ? 1 : 0); - System.out.println("before NSMutableArray"); if (allowedFileTypes != null) { Proxy mutableArray = objc().sendProxy("NSMutableArray", "arrayWithCapacity:", allowedFileTypes.length); for (String type : allowedFileTypes) { @@ -70,7 +67,6 @@ public class MacAppUtilities { peer.send("setAllowedFileTypes:", mutableArray); } - System.out.println("before runModal"); if (peer.sendInt("runModal") != 0) { Proxy nsArray = peer.getProxy("URLs"); int size = nsArray.sendInt("count"); @@ -81,17 +77,14 @@ public class MacAppUtilities { } } - System.out.println("before secondaryLoop.exit"); secondaryLoop.exit(); } }); // Enter the loop to block the current event handler, but leave UI responsive - System.out.println("before secondaryLoop.enter"); if (!secondaryLoop.enter()) { throw new RuntimeException("SecondaryLoop.enter()"); } - System.out.println("after secondaryLoop.enter"); return result; }