Bug 477979 - [10.11] SWT can't receive input on non-standard JVMs Use OS.NSAnyEventMask insteadof 0 in NSApplication.nextEventMatchingMask() in Display and Tracker class. Change-Id: I8c2d73a9f1006dd5516f1078d01b64f665e43a23 Signed-off-by: Lakshmi Shanmugam <lshanmug@in.ibm.com>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras index 82a0d94..73d6fe0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras
@@ -4701,6 +4701,7 @@ <enum name="NSAlphaFirstBitmapFormat" swt_gen="true"></enum> <enum name="NSAlphaNonpremultipliedBitmapFormat" swt_gen="true"></enum> <enum name="NSAlternateKeyMask" swt_gen="true"></enum> + <enum name="NSAnyEventMask" swt_gen="true"></enum> <enum name="NSApplicationDefined" swt_gen="true"></enum> <enum name="NSApplicationDelegateReplySuccess" swt_gen="true"></enum> <enum name="NSAtTop" swt_gen="true"></enum>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java index bbdad02..d2a60e5 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java
@@ -2230,6 +2230,7 @@ public static final int NSAlphaFirstBitmapFormat = 1; public static final int NSAlphaNonpremultipliedBitmapFormat = 2; public static final int NSAlternateKeyMask = 524288; +public static final int NSAnyEventMask = -1; public static final int NSApplicationDefined = 15; public static final int NSApplicationDelegateReplySuccess = 0; public static final int NSAtTop = 2;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java index 5bbba9d..1a35c63 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
@@ -3604,7 +3604,7 @@ events |= runTimers (); events |= runContexts (); events |= runPopups (); - NSEvent event = application.nextEventMatchingMask(0, null, OS.NSDefaultRunLoopMode, true); + NSEvent event = application.nextEventMatchingMask(OS.NSAnyEventMask, null, OS.NSDefaultRunLoopMode, true); if (event != null) { events = true; application.sendEvent(event);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java index fdc5a4d..6f05253 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java
@@ -800,7 +800,7 @@ while (tracking && !cancelled) { display.addPool(); try { - NSEvent event = application.nextEventMatchingMask(0, NSDate.distantFuture(), OS.NSDefaultRunLoopMode, true); + NSEvent event = application.nextEventMatchingMask(OS.NSAnyEventMask, NSDate.distantFuture(), OS.NSDefaultRunLoopMode, true); if (event == null) continue; int type = (int)/*64*/event.type(); switch (type) {